![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2006
Сообщений: 25
|
У меня проблема. Есть рокета которая крутиться вокруг своей оси и стреляет очередью. Проблема состоит в том что когда я кручусь, пули тоже начинают крутиться и менять траекторию.
Вот код: _root.onEnterFrame = function() {
wspeed = 9.2;
if (Key.isDown(Key.SHIFT)) {
zzz++;
if (zzz>4) {
_root.attachMovie("gun", "gun1"+i, i);
_root["gun1"+i]._rotation = _root.rocket._rotation;
_root["gun1"+i]._x = _root.rocket._x;
_root["gun1"+i]._y = _root.rocket._y;
zzz = 0;
_root["gun1"+i].onEnterFrame = function() {
this._x += -wspeed*Math.cos(Math.PI/180*_root.rocket._rotation);
this._y += -wspeed*Math.sin(Math.PI/180*_root.rocket._rotation);
};
}
}
i++;
};
![]() |
|
|||||
|
Цитата:
Цитата:
__________________
Flash ещё не торт... |
|
|||||
|
У тебя КАЖДЫЙ кадр берётся _root.rocket._rotation, чтобы вычислить синус.
Нужно обратиться к этому свойству только ОДИН РАЗ. Например, _root.attachMovie("gun", "gun1"+i, i); _root["gun1"+i]._rotation = _root.rocket._rotation; _root["gun1"+i]._x = _root.rocket._x; _root["gun1"+i]._y = _root.rocket._y; _root["gun1"+i].xmov = -wspeed*Math.cos(Math.PI/180*_root.rocket._rotation); _root["gun1"+i].ymov = -wspeed*Math.sin(Math.PI/180*_root.rocket._rotation); zzz = 0; _root["gun1"+i].onEnterFrame = function() { this._x += this.xmov; this._y += this.ymov. }; Вообще, если надо, напиши в личку, я-то всякую стрельбу делал.
__________________
(А) |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 25
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|