Action: Difference between revisions
No edit summary |
Rob Anybody (talk | contribs) m fix redundancy, add commented-out notes, fix spelling |
||
Line 1: | Line 1: | ||
'''action''' ''<name> <startframe> <frames> <viewtype> <incvalue> <delay>'' | '''action''' ''<name> <startframe> <frames> <viewtype> <incvalue> <delay>'' | ||
Line 17: | Line 15: | ||
:'''7''' - The sprite will have 12 angles constructed from 7 art tiles, five of which are mirrored. A new frame is drawn every 30 degrees in a clockwise pattern beginning with the front of the sprite using the following pattern: 1, 2, 3, 4, 5, 6, 7, 6M, 5M, 4M, 3M, 2M. | :'''7''' - The sprite will have 12 angles constructed from 7 art tiles, five of which are mirrored. A new frame is drawn every 30 degrees in a clockwise pattern beginning with the front of the sprite using the following pattern: 1, 2, 3, 4, 5, 6, 7, 6M, 5M, 4M, 3M, 2M. | ||
:'''8''' - The sprite will have 8 angles constructed from 8 art tiles. A new frame is drawn every 45 degrees in a clockwise pattern beginning with the front of the sprite using the simple pattern: 1, 2, 3, 4, 5, 6, 7, 8. | :'''8''' - The sprite will have 8 angles constructed from 8 art tiles. A new frame is drawn every 45 degrees in a clockwise pattern beginning with the front of the sprite using the simple pattern: 1, 2, 3, 4, 5, 6, 7, 8. | ||
1 is generally used for pickups and often things like fire hydrants. | View type 1 is generally used for pickups and often things like fire hydrants. View type 3 is useful only for very symmetrical actors but does give the most angles. View types 5 and 7 are for enemies and similar which have a single axis of symmetry and where you want a front view such that when they face at you they actually look like they are facing at you. View type 8 is for stuff with little in the way of symmetry. | ||
<incvalue> is the direction of the animation. 1 to advance forward, -1 to go back. | <incvalue> is the direction of the animation. 1 to advance forward, -1 to go back. | ||
Line 25: | Line 22: | ||
<delay> is the delay between frames. | <delay> is the delay between frames. | ||
The delay change | The delay change every time you add a value of 4, in other words, 1-3 has the same result as zero, 5-7 same as 4, etc. | ||
Also the delay is not proportional to the value, setting 16 doesn't mean double of speed than 8, the calculation is done with this: the speed of a delay 0 equal to a [[ifcount|tic]] counter; the speed of a delay 4 is 1/2 of it; 8 is 1/3; 12 is 1/4; 16 is 1/5; 20 is 1/6; etc. | Also the delay is not proportional to the value, setting 16 doesn't mean double of speed than 8, the calculation is done with this: the speed of a delay 0 equal to a [[ifcount|tic]] counter; the speed of a delay 4 is 1/2 of it; 8 is 1/3; 12 is 1/4; 16 is 1/5; 20 is 1/6; etc. |
Revision as of 13:11, 4 August 2020
action <name> <startframe> <frames> <viewtype> <incvalue> <delay>
An action is an animation for an actor. Actions are defined outside of an actor.
<name> is the name of the action.
<startframe> is the starting frame number (relative to the main sprite of the actor).
<frames> is the total number of frames in the action. Must be at least 1.
<viewtype> is the number of sides drawn for the actor. Prior to 3D models, this method was used to simulate a 3D appearance for sprites. Valid values are:
- 1 - The sprite will appear the same regardless of the angle at which it is viewed.
- 3 - The sprite will have 16 angles built from only 4 art tiles. A new frame is drawn every 22.5 degrees in a clockwise pattern beginning with the front of the sprite. The pattern is as follows, with 1, 2, 3, and 4 being the order of the four tiles used, and M denoting that the tile is mirrored: 1M, 2M, 3M, 4M, 4, 3, 2, 1, 1M, 2M, 3M, 4M, 4, 3, 2, 1.
- 5 - The sprite will have 8 angles constructed from 5 art tiles, three of which are mirrored. A new frame is drawn every 45 degrees in a clockwise pattern beginning with the front of the sprite using the following pattern: 1, 2, 3, 4, 5, 4M, 3M, 2M.
- 7 - The sprite will have 12 angles constructed from 7 art tiles, five of which are mirrored. A new frame is drawn every 30 degrees in a clockwise pattern beginning with the front of the sprite using the following pattern: 1, 2, 3, 4, 5, 6, 7, 6M, 5M, 4M, 3M, 2M.
- 8 - The sprite will have 8 angles constructed from 8 art tiles. A new frame is drawn every 45 degrees in a clockwise pattern beginning with the front of the sprite using the simple pattern: 1, 2, 3, 4, 5, 6, 7, 8.
View type 1 is generally used for pickups and often things like fire hydrants. View type 3 is useful only for very symmetrical actors but does give the most angles. View types 5 and 7 are for enemies and similar which have a single axis of symmetry and where you want a front view such that when they face at you they actually look like they are facing at you. View type 8 is for stuff with little in the way of symmetry.
<incvalue> is the direction of the animation. 1 to advance forward, -1 to go back.
<delay> is the delay between frames.
The delay change every time you add a value of 4, in other words, 1-3 has the same result as zero, 5-7 same as 4, etc.
Also the delay is not proportional to the value, setting 16 doesn't mean double of speed than 8, the calculation is done with this: the speed of a delay 0 equal to a tic counter; the speed of a delay 4 is 1/2 of it; 8 is 1/3; 12 is 1/4; 16 is 1/5; 20 is 1/6; etc.
To call an action from within an actor simply put:
action <name>
Note: Every frame advance adds 1 to actioncount. To reset an animation, either call the action again or use resetactioncount. Starting a new animation will also reset actioncount to 0.