Difference between revisions of "Right.posn"
(Created page with "The '''right.posn''' command returns TRUE if the screen coordinates of the screen object's bottom right pixel is within a specified region. == Syntax == right.posn(scr...") |
|||
Line 11: | Line 11: | ||
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 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 reference point for the '''right.posn''' command is the lower right pixel of [[screen object]] '''oA''''s current cel. | + | The reference point for the '''right.posn''' command is the lower right pixel of [[screen object]] '''oA''''s baseline (bottom row of the current [[cel]]). |
+ | |||
+ | The region to be tested is bounded by ('''X1''', '''Y1''') - ('''X2''', '''Y2'''). The test returns TRUE if the reference point is >= '''X1''' AND <= '''X2''' AND >= '''Y1''' AND <= '''Y2'''. | ||
This test command can be combined with the <code>NOT</code> operator to test if an object is NOT in a specified region. | This test command can be combined with the <code>NOT</code> operator to test if an object is NOT in a specified region. |
Latest revision as of 10:42, 20 April 2019
The right.posn command returns TRUE if the screen coordinates of the screen object's bottom right pixel is within a specified region.
Syntax
right.posn(obj oA, byt X1, byt Y1, byt X2, byt Y2)
Remarks
Test commands are only valid in an if
statement.
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 reference point for the right.posn command is the lower right pixel of screen object oA's baseline (bottom row of the current cel).
The region to be tested is bounded by (X1, Y1) - (X2, Y2). The test returns TRUE if the reference point is >= X1 AND <= X2 AND >= Y1 AND <= Y2.
This test command can be combined with the NOT
operator to test if an object is NOT in a specified region.
Possible Errors
The region to be tested is bounded by (X1, Y1) - (X2, Y2). AGI expects the coordinates to be in upper-left to lower-right format. X1 must be less than or equal to X2 and Y1 must be less than or equal to Y2, or the test will always fail.
AGI does not check that object number oA is a valid screen object. If it is not, the right.posn command will access invalid memory and the result of the test will be meaningless.
Example
<syntaxhighlight lang="agi"> if(right.posn(o1, 0, 120, 60, 130))
{ print("the object's lower right corner is in the box"); }
</syntaxhighlight>
Technical Information
Required Interpreter Version: | Available in all AGI versions. |
Byte-Code Value: | 18 (0x12 hex) |