Stop.cycling
The stop.cycling command stops an object from cycling.
Syntax
stop.cycling(obj oA);
Remarks
The stop.cycling command disables screen object oA's cycling property. It does not change the cycling mode. When the cycling property is disabled, the object's cel will not change.
Use the start.cycling command to re-enable the cycling property.
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"> [ AGI doesn't automatically stop cycling objects [ when they stop moving; we have to do it manually
- define egoX v38
- define egoY v39
- define oldEgoX v40
- define oldEgoY v41
- define oldEgoDir v42
- define neverAnimateEgo f30
- define alwaysAnimateEgo f31
- define STOPPED 0
get.posn(ego, egoX, egoY); [ get ego's current position
if(alwaysAnimateEgo)
{ [ force cycling regardless of direction or motion type start.cycling(ego); }
else
{ if((egoDir == STOPPED || neverAnimateEgo)) { [ if not moving, or no cycling is forced, stop cycling stop.cycling(ego); } else { [ check to see if ego has stopped moving if(egoDir == oldEgoDir && egoX == oldEgoX && egoY == oldEgoY) { [ ego hasn't moved or changed direction since last cycle stop.cycling(ego); } else { [ ego is moving compared to last cycle; enable cycling start.cycling(ego); } } }
[ save ego motion data to compare in next cycle oldEgoX = egoX; oldEgoY = egoY; oldEgoDir = egoDir; </syntaxhighlight>
Technical Information
Required Interpreter Version: | Available in all AGI versions. |
Byte-Code Value: | 70 (0x46 hex) |