Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   повороты (http://www.flasher.ru/forum/showthread.php?t=65819)

Super-Man 20.06.2005 18:38

повороты
 
как написать код поворота танка в сторону нажатой стрелки, например танк повернут вверх, жму и держу кнопку влево, и он медленно вертится влево. жму вправо, вертится в правую сторону

Trains 20.06.2005 18:54

_root.tank.onKeyDown = function () {
if (Key.isDown(LEFT)) {
_root.tank._rotation = -90;
}
if (Key.isDown(RIGHT) || Key.isDown(LEFT)) {
_root.tank._rotation = 90;
}
}
ну типа того, градусы можешь по другомы считать, кпримеру, прибавлять по одному...:)

Trains 20.06.2005 19:20

if (Key.isDown(Key.RIGHT)) {

}

if (Key.isDown(Key.LEFT)) {

}

SlighTReturn 20.06.2005 19:40

Цитата:

Сообщение от Trains
_root.tank.onKeyDown = function () {
if (Key.isDown(LEFT)) {
_root.tank._rotation = -90;
}
if (Key.isDown(RIGHT) || Key.isDown(LEFT)) {
_root.tank._rotation = 90;
}
}
ну типа того, градусы можешь по другомы считать, кпримеру, прибавлять по одному...:)

Если так делать, то никак не посчитать потом угол под которым будет двигаться танк при движении вперёд. Например если нажать стрелку влево и подвинуть его к примеру на 19 градусов потом никак его не пошлёшь вперёд по этой прямой.
Надо использовать atan2.

Trains 20.06.2005 19:52

вообщето, он про повороты только спрашивал:)
но ты бы развил вариант с катангенсом, мне тож интересно:)

silin 20.06.2005 20:42

Цитата:

Сообщение от SlighTReturn
Если так делать, то никак не посчитать потом угол под которым будет двигаться танк при движении вперёд. Например если нажать стрелку влево и подвинуть его к примеру на 19 градусов потом никак его не пошлёшь вперёд по этой прямой.
Надо использовать atan2.

если угол знаешь, почему же не пошлешь ?
Код:

var v=5;
tank.onEnterFrame=function(){
        var d=Key.isDown(Key.UP)-Key.isDown(Key.DOWN);
        var r=Key.isDown(Key.RIGHT)-Key.isDown(Key.LEFT);
        this._rotation+=r;
        this._x+=v*d*Math.sin(Math.PI*this._rotation/180);
        this._y-=v*d*Math.cos(Math.PI*this._rotation/180);
}


Super-Man 20.06.2005 21:05

не, вот скачайте флэху 19 k весит, и скажите как сделать именно так
http://pro-coding.h15.ru/tankabot.SWF
Слэшал еще о проге которая может swf во fla переделывать со всеми скриптами, токо ссылку потерял, не скажите что это? Точно такая есть, в журнале читал.

Nirth 20.06.2005 21:07

Цитата:

не, вот скачайте флэху 19 k весит, и скажите как сделать именно так
я не вижу слова пожалуйста? по твоему тут кто то что то тебе должен?

D12 20.06.2005 22:23

Вложений: 1
эх.......... )))) балавство))))) е-мае ))))


z и x вращение башней , пробел стрельба, движение клавиши со стрелками )))))))

silin 20.06.2005 22:51

D12, а чего гусеницы не вертются ?, непорядок.. :d


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

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