|
Модераторы: SoWa |
|
GRESHNIK512 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 31.1.2015 Репутация: нет Всего: нет |
Собственно есть кораблик от него при нажатий кнопки создается пулька.
function Pt(){ Br_1=Br_1-EP; patr = new Patr(); addChild(patr); patr.x=sh_2.x+50 *Math.cos©; patr.y=sh_2.y+50 *Math.sin©; ra[q]=C; q=q+1; } Далее через обработчик событий в теле: patr.addEventListener(Event.ENTER_FRAME,patr_p); Переходим на функцию function patr_p (p:Event) { var PATR:MovieClip = p.currentTarget as MovieClip; PATR.x += 1.1* Math.cos(ra[q-1]); PATR.y += 1.1* Math.sin(ra[q-1]); if(PATR.x > 850) {PATR.x = -50;} if(PATR.x < -50) {PATR.x = 850;} if(PATR.y < -50) {PATR.y = 650;} if(PATR.y > 650) {PATR.y = -50;} } Проблема в том что запуская новую пульку все пульки меняют направление на последнюю может знает кто как сделать пулькам индивидуальную скорость т к направление я передаю в массив "ra" через q Пишите все соображения Кто хочет потестить как летит пулька J + WASD и постреляться жмите L мышку и WASD щиток Y Присоединённый файл ( Кол-во скачиваний: 0 ) Sc_2.rar 639,38 Kb |
|||
|
||||
GRESHNIK512 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 31.1.2015 Репутация: нет Всего: нет |
После мозгового штурма все таки нашел решение, осталось додумать как передать направление из основного фала в Patr.as(Класс)
не забываем в главном файле выставить импорт :" import Patr.*; " Patr.as package { import flash.display.MovieClip; import flash.events.Event; public class Patr extends MovieClip { private var k:int; public function Patr() {this.addEventListener(Event.ENTER_FRAME, onEnter);} private function onEnter(e:Event):void{ ++k; trace(k); if (k<100){ this.x += 1.1* Math.cos(5); this.y += 1.1* Math.sin(5); } if (k>100) { this.x += 1.1* Math.cos(2); this.y += 1.1* Math.sin(2); } } }} Запуская главный файл пулька летит сначала вверх k продолжает наростать и когда равняется 100 меняет направление при запуске новой пульки предыдущая не меняет свое направление )) function patr_p (p:Event) { var Pa = p.target ; if ((Pa.x > sh_1.x-15) && (Pa.x < sh_1.x+15) && (Pa.y > sh_1.y-20) && (Pa.y < sh_1.y+20)) { Xhp -=DP; Pa.removeEventListener(Event.ENTER_FRAME,patr_p); removeChild(Pa); } if (Pa.x > 850) {Pa.x = -50;} if (Pa.x < -50) {Pa.x = 850;} if (Pa.y < -50) {Pa.y = 650;} if (Pa.y > 650) {Pa.y = -50;} } function Pt(){ Br_1=Br_1-EP; var patr:Patr = new Patr(); patr.x=sh_2.x+50 *Math.cos©; patr.y=sh_2.y+50 *Math.sin©; addChild(patr); ra[q]=C; q=q+1; patr.addEventListener(Event.ENTER_FRAME,patr_p); } Хоть чуточку начал понимать классы ) |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | ActionScript 3 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |