Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Пустячок (http://www.flasher.ru/forum/showthread.php?t=49025)

Budkiz 13.09.2003 18:24

Пустячок
 
Не как не получается заставить двигаться объект в нужном направлении, относительно _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;
        }
}


Budkiz 14.09.2003 12:00

Во спасибо! А я то парился! Я не прально косинус употребил!

Budkiz 14.09.2003 12:21

А вот еще тема, посоветуйте как по плавней его запустить, я так понял, что Update After Event() применим тока к Mouse и к Key Down\Up, если нет то где (в коде) нужно прописать?

Пушистик 14.09.2003 13:03

framefate не пробовал добавлять?:)

Budkiz 15.09.2003 16:43

Дык, тогда все в неск раз быстрее будет, а мож-ть на некоторых машинах и подтормаживать.
Вообщето, я так понял, чо в выше указанном коде можно поменять ивент на Key-pressed( чо-то вроде того), тока плавность нарушицца, я имею ввиду после нажатия кнопки объект сначала дернится а потом начнет реагировать.
Может кто знает решение этой ерунды?

Budkiz 15.09.2003 18:27

Вложений: 1
А вот еще беда, ни как не допру, как остановить ротацию, на определенном значении этой самой ротации:

onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN)) {
_rotation -= 10;
}
if (Key.isDown(Key.UP)) {
_rotation += 10;
}
}
Нужно чтоб при _rotation=90 вращать перестало.
Файлик дам.

Штрек 15.09.2003 21:00

Ну добавь условие _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;
}
}

Budkiz 16.09.2003 15:45

Вроде понятно, тока при попадании в 90 он уже фиг куда двиницца вааще, ну короче неважно, мне всеравно тока в одну сторону надо пока, а далее постараюсь разобрацца. Спасибэ


Часовой пояс GMT +4, время: 02:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.