Привет В предложенном коде есть неточность. во время урока не описано, как объяснить программе где перед, а где зад "машины".
Я нарисовал "машину" мордой к верху, при проигрывании она двигается вперед правым боком.
Если "машину" нарисовать мордой вправо, только тогда она двигается как задумано.
Уточните этот момент. Надо либо в коде что-то дописать, либо при создании машины что-то дополнительно вводить.
И еще кое-что: у "машины" нет заднего хода, и она быстро сваливает со сцены.
Я немного код подправил:
- теперь она может ехать назад
- разворот задом тоже присутствует
- "Турбо" изменил с суммы на множитель
- кнопка "Home" останавливает "машину" и меняет ее положение на сцене (у меня это центр экрана, у других пользователей может и нет)
Code
onClipEvent (load) {
sp = 0;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) && sp > 0.4)
{
this._rotation -= 2;
}
if (Key.isDown(Key.RIGHT) && sp > 0.4)
{
this._rotation += 2;
}
if (Key.isDown(Key.LEFT) && sp < -0.4)
{
this._rotation += 2;
}
if (Key.isDown(Key.RIGHT) && sp < -0.4)
{
this._rotation -= 2;
}
if (Key.isDown(Key.UP))
{
sp += 0.25;
}
if (Key.isDown(Key.DOWN))
{
sp -= 0.25;
}
if (Key.isDown(Key.SPACE))
{
sp *= 3;
}
if (Key.isDown(Key.HOME))
{
sp = 0;
this._x = 275;
this._y = 200;
}
if (sp > 0)
{
sp -= 0.15;
}
if (sp < 0)
{
sp += 0.15;
}
if (sp > 15)
{
sp = 15;
}
if (sp < -5)
{
sp = -5;
}
this._y = this._y + sp * Math.sin(this._rotation * Math.PI / 180);
this._x = this._x + sp * Math.cos(this._rotation * Math.PI / 180);
}
Пояснять код у меня сейчас времени нет, может быть потом, а вообще никаких новых команд я не добавил, просто продублировал и подправил указанные автором.
мой результат