Вход

Просмотр полной версии : Создание плавного движения


Vasya[Ru-Board]
09.02.2002, 20:27
Добрый день. Я создал объект, который движется с помощью клавиш. В кнопку я вставил такой код
on (keyPress "<Left>") {
x = x-b;
_root.a._x = x;
}
on (keyPress "<Right>") {
x = x+b;
_root.a._x = x;
}
on (keyPress "<Up>") {
y = y-b;
_root.a._y = y;
}
on (keyPress "<Down>") {
y = y+b;
_root.a._y = y;
}
Т.е. п нажатии какой то клавиши мой объект движется на b позиций влево, вправо, вверх, вниз. Все работает, но мне нужно, чтобы движение было плавным, когда я нажимаю и держу кнопку. Сейчас же, когда я нажимаю и держу кнопку объект делает движение, потом идет пауза и лишь потом он движется непрерывно. Что нужно изменить? Или мне нужен совсем другой код?

Rishat
09.02.2002, 21:41
onClipEvent(enterFrame){
if (Key.isDown(Key.LEFT)) {
this._x-=2;
}
if (Key.isDown(Key.RIGHT)) {
this._x+=2;
}
if (Key.isDown(Key.UP)) {
this._y-=2;
}
if (Key.isDown(Key.DOWN)) {
this._y+=2;
}
}

объект (мувиклип) движется без задержек

а в твоём случае величина задержки зависит от величины, которую ты устанавливаешь в винде (если я не ошибаюсь)

Vasya[Ru-Board]
09.02.2002, 23:02
Rishat, спасибо!

Vasya[Ru-Board]
10.02.2002, 15:30
А как сделать, чтобы при нжатии на кнопку один раз фигура двигалась все время?

Rishat
10.02.2002, 16:00
вообще-то много способов
вот один, очень простой:
создаёшь мувиклип, в нем два кадра, в обоих кадрах стоп
во втором кадре расположен любой объект типа мувиклип, для него прописываешь код движения объекта, используя onClipEvent(enterFrame)
когда объект должен двигаться, пишешь gotoAndPlay(2) для этого мувиклипа

Немного запутано, но думаю, разберёшся

Rishat
10.02.2002, 16:15
ошибочка...
gotoAndStop(2) - правильно