AGIWiki/posn

From ScummVM :: Wiki
< AGIWiki
Revision as of 15:10, 25 October 2018 by Criezy (talk | contribs) (Text replacement - "<source lang=" to "<syntaxhighlight lang=")
Jump to navigation Jump to search
AGIWiki


Test commands

The posn command returns TRUE if the screen coordinates of the screen object's bottom left pixel is within a specified region.

Syntax

posn(obj oA, byt X1, byt Y1, byt X2, byt Y2)

Remarks

Test commands are only valid in an if statement.

The region to be tested is bounded by (X1, Y1) - (X2, Y2).

The position test commands (posn, center.posn, right.posn, and obj.in.box) are used to determine if a screen object's position is within a certain area.

The bottom left pixel of a screen object's view is its reference point. The posn command tests the location of this reference point.

However, sometimes a programmer needs to test for positions relative to the center or right edge of the object. This could be done by using the posn command and the object's width and performing some additional mathematical commands. Sierra included the additional position test commands to make it easier to check for these conditions.

Example

<syntaxhighlight lang="cpp">

if (posn(o1, 0, 120, 60, 130)) {
  print("the object's lower left corner is in the box");
}

</source>

Technical Information

Required interpreter version Available in all AGI versions
Bytecode value 11 (0x0B hex)

See Also

Sources