Difference between revisions of "Start.motion"
(One intermediate revision by the same user not shown) | |||
Line 7: | Line 7: | ||
== Remarks == | == Remarks == | ||
− | This command sets [[screen object]] '''oA'''' | + | This command sets [[screen object]] '''oA''' to 'normal' [[movement mode]]. If the screen object is the [[ego]] object (o0) it also switches to [[player.control|player control]] mode. |
+ | |||
+ | While in normal motion mode, an object will not move until it is given a direction via the '''[[set.dir]]''' command. It will continue moving until it reaches an obstacle, the edge of the screen, a new direction via command, or is stopped using the '''[[stop.motion]]''' command. | ||
+ | |||
+ | Unlike the other movement modes, changing to 'normal' does not modify the [[updating property]]. The [[cycling property]] is also not modified by the '''normal.motion''' command. | ||
This command is identical to the '''[[normal.motion]]''' command, except that it also switches [[ego]] to [[player.control|player control]] mode. The '''[[normal.motion]]''' does not automatically switch ego control mode. | This command is identical to the '''[[normal.motion]]''' command, except that it also switches [[ego]] to [[player.control|player control]] mode. The '''[[normal.motion]]''' does not automatically switch ego control mode. |
Latest revision as of 17:24, 23 April 2019
The start.motion command sets a screen object's movement mode to 'normal', and if the object is ego, also sets the ego to player control mode.
Syntax
start.motion(obj oA);
Remarks
This command sets screen object oA to 'normal' movement mode. If the screen object is the ego object (o0) it also switches to player control mode.
While in normal motion mode, an object will not move until it is given a direction via the set.dir command. It will continue moving until it reaches an obstacle, the edge of the screen, a new direction via command, or is stopped using the stop.motion command.
Unlike the other movement modes, changing to 'normal' does not modify the updating property. The cycling property is also not modified by the normal.motion command.
This command is identical to the normal.motion command, except that it also switches ego to player control mode. The normal.motion does not automatically switch ego control mode.
Possible Errors
AGI does not check that object number oA is a valid screen object. If it is not, this command will overwrite other data on the memory heap, which may cause unexpected results, including possibly crashing AGI.
Example
<syntaxhighlight lang="agi"> stop.motion(ego); [ ego stops moving, and switches to program control start.motion(ego); [ equivalent code normal.motion(ego); player.control(); ... [ for non-ego objects these two lines do EXACTLY the same thing start.motion(o1); normal.motion(o1); </syntaxhighlight>
Technical Information
Required Interpreter Version: | Available in all AGI versions. |
Byte-Code Value: | 78 (0x4E hex) |