Search Tutorials
onClipEvent(keyDown)
{
/*Basically only keyboard controls are handled in this code, paired with collision
detection for each movement.*/
if(Key.isDown(Key.LEFT))
{
//This code repeates for all for directions of movement.
//Here you can see that the man and the mask always move together, whereas the big
//labirynth instance moves in the opposite direction creating a movement effect
//combining both regular movement and terrain scrolling. the labirynth being twice
//bigger than the stage makes the movement constrained exactly within the stage, since
//the man moves twice faster due to this combination of effects.
_root.man._x -= step;
_root.mask._x -= step;
_root.big_lab._x += step;
//In the following loop, the code checks for collision between the man's mask and
//all the parts of the labirynths walls.
for ( i = 2; i <= 95; i++)
{
if(_root.man.mask.hitTest(_root.big_lab["part"+i]))
{
ok = false;
break;
}
}
//in case of collision the man is moved one step back
if(!ok)
{
_root.man._x += step;
_root.mask._x += step;
_root.big_lab._x -=step;
ok = true;
}
}
//Of course you should do the same for right, up and down movement by changing the
//_x or _y properties with corresponding values.
//This part of the code moves the white mask which hides the lower labirynth instance
//to avoid the confusing effect that you get by showing the walls of both labirynth
//instances.
_root.white_mask._x = _root.mask._x;
_root.white_mask._y = _root.mask._y
}
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|