![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2004
Адрес: СПб
Сообщений: 10
|
Eсть мувик, пушка, вокруг которой, при удержании левой кнопки мыши увеличивается круг - дальность выстрела. При отпускании кнопки вылетает снаряд, при !hittest этого круга он взрывается.
Проблема в том, что при повороте пушки на 45 градусов, снаряд почему-то начинает взрываться значительно дальше радиуса выстрела. Сначала я предположил, что он улетает в "угол" квадрата, который флэш образует вокруг клипа круга, но это оказалось не так - даже при повороте круга вместе с пушкой (второй попыткой была замена его на два прямоугольника крестом) улетание продолжается. - Кто-нибудь может объяснить, почему так? - Или, как вариант, намекнуть на другие способы решения этой проблемы? (пока что мне в голову пришёл только счётчик на снаряде, взрывающий его через заданный промежуток времени, но опыта со счётчиками у меня пока совсем нет) Исходник приложен. |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
намекну на другие способы:
в пушке: this.onPress = function () { this.shoot_radius = this.shoot_radius++ || 0 } this.onMouseUp = function () { this.attachMovie("shell_mc", "shell_mc", 0, {max_distance:this.shoot_radius, angle:this._rotation}) } в снаряде: this.onEnterFrame = function () { // смещаешь снаряд // далее this.init_x и this.init_y - точка центра твоего круга (но он больше не нужен) var dx = this._x - this.init_x var dy = this._y - this.init_y var distance = Math.sqrt(dx*dx+dy*dy) if (distance > this.max_distance) this.onExplore() // взрыв! } } Последний раз редактировалось BitSky; 02.12.2005 в 02:58. |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
это только намек.
конкретная реализация будет видимо иная, особенно учитывая что в сабже указано AS2 (нахрена на он тебе нужен, если ты такие вопросы задаешь!???) |
|
|||||
|
Регистрация: May 2004
Адрес: СПб
Сообщений: 10
|
Это я выёживаюсь - на самом деле я имел ввиду просто реализацию во flash MX. Ламер, да.
Большое спасибо за намёк, буду учиться дальше ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|