Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.11.2012, 00:53
DenLev вне форума Посмотреть профиль Отправить личное сообщение для DenLev Найти все сообщения от DenLev
  № 1  
Ответить с цитированием
DenLev

Регистрация: Nov 2012
Сообщений: 7
Question Помогите создать эффект выстрела

Помогите создать эффект выстрела. Суть такова есть враг (enemy), мувик состоит из двух кадров первый сам враг второй взрыв. Я пробовал соединить hitTestObject и gotoAndStop код выглядел так:
Код AS3:
if(pulaR.hitTestObject(enemy))
  {
   enemy.gotoAndStop (2);
   }
при этом выбивает такая ошибка 1120: Обращение несуществующого свойства pulaR если заменить pulaR на L5 то при столкновении с объектомвсе все работает. L5 это объект который и должен стрелять.

Вот весь код:
Код AS3:
var up,down,left,right = 0;
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownF);
stage.addEventListener(KeyboardEvent.KEY_UP,keyUpF);
stage.addEventListener(Event.ENTER_FRAME,updatePosF);
 
function keyDownF(e:KeyboardEvent):void
{
 if (e.keyCode == Keyboard.UP)
 {
  up = 1;
 }
 if (e.keyCode == Keyboard.DOWN)
 {
  down = 1;
 }
 if (e.keyCode == Keyboard.RIGHT)
 {
  right = 1;
 }
 if (e.keyCode == Keyboard.LEFT)
 {
  left = 1;
 }
}
 
function keyUpF(e:KeyboardEvent):void
{
 if (e.keyCode == Keyboard.UP)
 {
  up = 0;
 }
 if (e.keyCode == Keyboard.DOWN)
 {
  down = 0;
 }
 if (e.keyCode == Keyboard.RIGHT)
 {
  right = 0;
 }
 if (e.keyCode == Keyboard.LEFT)
 {
  left = 0;
 }
}
 
function updatePosF(e:Event):void
{
 if (up == 1)
 {
  L5.y -=  10;
 }
 if (down == 1)
 {
  L5.y +=  10;
 }
 if (left == 1)
 {
  L5.x -=  10;
 }
 if (right == 1)
 {
  L5.x +=  10;
 }
}
//===========================================================>>>>
var enemyArr:Array= new Array();
var enemySpeed:Number=5;
const enemyNum:int = 40;
for (var i=0; i<enemyNum; i++)
{
 var enemy:MovieClip= new D2();
 enemyArr.push(enemy);
 enemyArr[i].x = Math.random() * -400 +400; 
 enemyArr[i].y = Math.random() * -7000;
 addChild(enemyArr[i]);
 addEventListener(Event.ENTER_FRAME,enemyMove);
}
function enemyMove(e:Event):void
{
 for (var i=0; i<enemyNum; i++)
 {
  var enemy=enemyArr[i];
  enemy.y+=enemySpeed;
 if(pulaR.hitTestObject(enemy))
  {
   enemy.gotoAndStop (2);  
  }
 }
}
//===========================================================>>>>
stage.addEventListener(MouseEvent.CLICK,vustril);
function vustril (e:MouseEvent):void{
var pulaRArr:Array= new Array();
var pulaRSpeed:Number=15;
const pulaRNum:int = 1;
for (var q=0; q<pulaRNum; q++)
{
 var pulaR:MovieClip= new pula(); 
 pulaRArr.push(pulaR);
 pulaRArr[q].x = L5.x;
 pulaRArr[q].y = L5.y;
 addChild(pulaRArr[q]);
 addEventListener(Event.ENTER_FRAME,pulaRMove);
}
function pulaRMove(e:Event):void
{
 for (var q=0; q<pulaRNum; q++)
 {
  var pulaR=pulaRArr[q];
  pulaR.y-=pulaRSpeed;
 }
}
}

Создать новую тему   Часовой пояс GMT +4, время: 10:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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