ax (property)

Get or set the horizontal acceleration for a sprite in pixels per second, per second.

Get

Get the horizontal acceleration of the sprite.

mySpriteax (acceleration x)sethorzAccelto
horzAccel = mySprite.ax

Returns

  • a number that is the current horizontal acceleration of the sprite.

Set

mySprite0setax (acceleration x)to
mySprite.ax = 0

Parameter

  • value: the new horizontal acceleration for the sprite in pixels per second, per second.

Sprite horizontal acceleration

The value for acceleration determines how quickly the speed of the sprite will change. Acceleration of a sprite makes it speed up in a direction toward the right or left. A positive value causes the sprite’s speed in the right direction to increase. A negative value causes the sprite’s speed in the left direction to increase.

Acceleration can be used as an opposing force too. If a sprite is travelling toward the right at a certain speed and a negative horizontal acceleration is applied, the sprite will keep moving to the right but it will slow down. When the sprite’s speed reaches 0, the sprite will begin to move to the left.

How speed changes

Speed, or velocity, is how much distance an object moves during some period of time. Distance in your game is measured in pixels so the speed of a sprite is in pixels per second. Speed is changed by accelerating an object. In your game, a sprite is accelerated by some amount of change in speed per second. So, acceleration is measured in pixels per second per second.

If the speed of a sprite is currently at 0 and it’s acceleration is set to 2, the sprite will be moving at a speed of 2 pixels per second after one second of time. After two seconds the sprite is moving at 4 pixels per second and so on.

Examples

Go to each side

Accelerate a a sprite as it moves from the left side of the screen to the right side and back.

500mySpritex0‏<mySpritexscreen width‏>ormySpritemySpritevx (velocity x)-1×mySpritemySpriteax (acceleration x)-1×setax (acceleration x)tosetvx (velocity x)toifthenon game update everymsExamplespriteof kindmySprite0mySprite0mySprite10setax (acceleration x)tosetvx (velocity x)tosetlefttosetmySpritetoon start

How fast was it?

Accelerate a sprite at 100 starting with a speed of 0. Check after about 1 second and see how fast the sprite was travelling.

1000interval1=mySprite"My speed is "mySpritevx (velocity x)" pixels/sec"joinmySprite0mySprite0setvx (velocity x)tosetax (acceleration x)tosay1changeintervalbyifthenon game update everymsExamplespriteof kindmySprite0mySprite0mySprite100setax (acceleration x)tosetvx (velocity x)tosetlefttosetmySpritetoon start

Opposite force

Make a sprite move from the left side of the screen to the right side. Apply acceleration in the opposite direction to slow the sprite down and send back to the left.

Playerspriteof kindmySpriteONmySprite0mySprite100mySprite-35setax (acceleration x)tosetvx (velocity x)tosetlefttosetstay in screensetmySpritetoon start

See also

ay, vx, vy