Think of something that you wish Authorware could do but it doesn't?  Let the our good friends at Macromedia know via the wishlist.

Please let us know if you find any of the materials on this site inappropriate or offensive. Please include the url and why the material should be reviewed.

Comments and questions about the site are also welcome. Please no Authorware questions, use the AWARE list.

Back

B6006 - Why isn't SetPostPoint working in packaged mode? What can I do?

by - Joseph Ganci


I am trying to use the following in a calc icon:

  SetPostPoint(IconID@UnitInClamp,#display,Point(327,222))
  DisplayIcon(UnitInClamp)

This works fine in AW but when I package the piece it no longer works. I have extras folder with the packaged pice.

I have 6 icons that are movable. when one of these objects is dragged over a calculated hotspot it displays a display icon to which there is a target area. When the cursor leaves this diplay the movable object is erased. When the cursor is placed in the equivalent hotspot to display the icon again the movable object get displayed again.

The movable object is re-diplayed in the packaged pice but is in its original position before dragging it to the target area. Any ideas?

SetPostPoint is found in the Target function category. All of these functions are not meant to work in packaged mode. They were introduced to be used in Knowledge Objects, which of course run in source mode only. In other words, they are meant to be used inside the CallTarget function. You can use them directly in your own file, but keep in mind that they won't work outside of authoring mode. They are used mainly to change code more quickly and easily in certain instances than you can do directly.

There are several ways to do what you're needing to do. One is to set up your display icons so that you click the Layout tab and set Positioning to On Screen. Place a variable in the Initial X and Y boxes, such as PlaceX and PlaceY.

When the user moves his cursor into the hot spot, use a Calc (as you're doing now) but have its contents set to:

  PlaceX := 327
  PlaceY := 222
  EraseIcon(UnitInClamp)
  DisplayIcon(UnitInClamp)

You will need to Erase, then Display icon as shown above to ensure that its position will update in case it is already on the screen. Good luck!

There are 0 reviews
Add your review
Back