Skip to content

Motion System 2

Pheonix KageDesu edited this page Jan 30, 2020 · 6 revisions

Since Build 1050 Alpha ABS has improved motion system

Features of Motion System 2:

  • No need redo your animations, Motion system 2 use own commands, all your already exists Motions System animation will works fine.
  • Support more than 3 frames on each animation. You can create animations with as many frames as you want.
  • Support skills. You can create own animations for any skill. Casting animation and using skill animation is separated.
  • More frames for weapon attack animation.
  • Support custom actions. You can create some animations for enemy or player and play it with uAPI script call anytime.
  • Each animation speed and frame count configuration through

Motion System 2 has Demo project with all animation types examples
Demo Project

Using Motion System 2 in game

  • Sprites for motions must be in 📁 img/AMotions/

1. Weapons

ABS Parameters:

  • <motionX: NAME> - where NAME - name of motion
  • <motionADelay: X> - where X - delay between frames when attack animation playing. (default 9, minimum 1)
  • <motionDelay: X> - where X - delay between frames when base and in battle state animation playing.
  • <motionFrames: COUNT> - where COUNT - frames count (default 3)
  • <motionOffset: DY> - where DY - offset in pixels for Y coordinate
  • <motionWait: Z> - if 1, the character will be able to move (acting) only after the end of the animation (default 0)

Settings:

Animation sprite sheet structure:

File name structure:

weapon_$motionName_$actor_$index
where $actor - file name with actor graphics
$index - index of actor on this graphic file
$motionName - name of this motion (for use in game)


2. Enemies

ABS Parameters:

  • <motionX: X> - where X - 1 - has motion, 0 - no motion
  • <motionADelay>,<motionDelay>, <motionFrames>,<motionOffset>, <motionWait> - same as for weapons (see above)

Settings:

Animation sprite sheet structure:

File name structure:

enemy_$actor_$index
where $actor - file name with actor graphics
$index - index of actor on this graphic file


3. Skills

ABS Parameters:

  • <motionX: NAME> - where NAME - name of using skill motion
  • <motionADelay: X> - where X - delay between frames when use skill animation playing. (default 9, minimum 1)
  • <motionDelay: X> - where X - delay between frames when cast skill animation playing.
  • <motionFrames: COUNT> - where COUNT - frames count (default 3)
  • <motionOffset: DY> - where DY - offset in pixels for Y coordinate
  • <castMotion: NAME> - where NAME - name of cast skill motion
  • <castMotionFrames: COUNT> - where COUNT - frames count (default 3)
  • <castMotionOffset: DY> - where DY - offset in pixels for Y coordinate
  • <motionWait: Z> - if 1, the character will be able to move (acting) only after the end of the animation (default 0)

Settings:

Not necessary create both (cast and using) animations

Animation sprite sheet structure:

File name structure:

skill_$motionName_$actor_$index
where $actor - file name with actor graphics
$index - index of actor on this graphic file
$motionName - name of this motion (for use in game)

cast_$motionName_$actor_$index
where $actor - file name with actor graphics
$index - index of actor on this graphic file
$motionName - name of this motion (for use in game)

Examples:


4. Custom Actions

For calling custom motion, use uAPI script calls.

uAPI.playAMotionForPlayer(NAME, FRAMES, DELAY, NOT_MOVE?, OFFSET) - play motion NAME for player
Where: FRAMES - frame count in Motion
DELAY - delay between frames when playing animation
NOT_MOVE? - if true - player can control character while playing animation
OFFSET - offset in pixels for Y coordinate

uAPI.playAMotionForEnemy(EVENT_ID, NAME, FRAMES, DELAY, NOT_MOVE?, OFFSET) - play motion NAME for enemy with ID EVENT_ID on map Where: EVENT_ID - enemy event Id on map
FRAMES - frame count in Motion
DELAY - delay between frames when playing animation
NOT_MOVE? - if true - enemy can't moving while playing animation
OFFSET - offset in pixels for Y coordinate

Example:

Animation sprite sheet structure:

File name structure:

action_$motionName_$actor_$index
where $actor - file name with actor graphics
$index - index of actor on this graphic file
$motionName - name of this motion (for use in game)


Clone this wiki locally