Просмотр полной версии : Пустячок
Не как не получается заставить двигаться объект в нужном направлении, относительно _rotation, точнее обясните(покажите)как должно выглядеть значение _x'а и _y'а.
Вот примерно как я хочу представить код:
onClipEvent (keyDown) {
if (Key.getCode() == 37) {
_rotation += 5; //вертеть влево
}
}
onClipEvent (keyDown) {
if (Key.getCode() == 39) {
_rotation -= 5; //вертеть вправо
}
}
onClipEvent (keyDown) {
if (Key.getCode() == 38) {
_x=??? //Ну а тут он должен двигаться в ту сторону,
_y=??? // в какую смотрит
}
}
З.Ы. Если сможете чо-нить приложить, то хочу сказать, что у меня пока 5-й ФЛЭШ стоит, поэтому вместо МХ-овой *.fla-шки дайте лучше txt!
sergwizard
13.09.2003, 23:19
А я бы сделал так:
onClipEvent (enterFrame){
var speed = 3;
if (Key.isDown(Key.UP)) {
_x += Math.cos(Math.PI/180 * _rotation) * speed;
_y += Math.sin(Math.PI/180 * _rotation) * speed;
}
if (Key.isDown(Key.LEFT)) {
_rotation -= speed;
}
if (Key.isDown(Key.RIGHT)) {
_rotation += speed;
}
}
Во спасибо! А я то парился! Я не прально косинус употребил!
А вот еще тема, посоветуйте как по плавней его запустить, я так понял, что Update After Event() применим тока к Mouse и к Key Down\Up, если нет то где (в коде) нужно прописать?
Пушистик
14.09.2003, 13:03
framefate не пробовал добавлять?:)
Дык, тогда все в неск раз быстрее будет, а мож-ть на некоторых машинах и подтормаживать.
Вообщето, я так понял, чо в выше указанном коде можно поменять ивент на Key-pressed( чо-то вроде того), тока плавность нарушицца, я имею ввиду после нажатия кнопки объект сначала дернится а потом начнет реагировать.
Может кто знает решение этой ерунды?
А вот еще беда, ни как не допру, как остановить ротацию, на определенном значении этой самой ротации:
onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN)) {
_rotation -= 10;
}
if (Key.isDown(Key.UP)) {
_rotation += 10;
}
}
Нужно чтоб при _rotation=90 вращать перестало.
Файлик дам.
Ну добавь условие _rotation != 90
onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN)&&_rotation != 90) {
_rotation -= 10;
}
else {
_rotation -= 0;
}
if (Key.isDown(Key.UP)&&_rotation != 90) {
_rotation += 10;
}
else {
_rotation += 0;
}
}
Вроде понятно, тока при попадании в 90 он уже фиг куда двиницца вааще, ну короче неважно, мне всеравно тока в одну сторону надо пока, а далее постараюсь разобрацца. Спасибэ
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.