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

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

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

Регистрация: Jun 2015
Сообщений: 26
Question Помогите пожалуйста, люди добрые

Здравствуйте!
Совсем недавно начал изучать ActionScript 3

Создал класс игры

Game.as
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.events.Event;
 
 
	public class Game extends MovieClip {
 
		var creeps:Array;
 
		public function Game() {
			trace("made game");
			// Добавляем слушатель событий для появления Creep в каждом кадре
			addEventListener(Event.ENTER_FRAME, loop);
			creeps = new Array();
 
		}
		function loop(e:Event){
 
			// Создем Creep только когда Creep<100 на экране
			if(numChildren<1){
				if(c.hitTestObject(c2)){
				   trace("YEAH");
				   }
				// Создаем новый экземпляр класса Creep
				var c = new Creep ();
				var c2 = new Creep2 ();
				// Добавляем нового Creep в лист отображения
				addChild(c);
				addChild(c2);
				//Задаем позицию
				c.x =30;
				c.y =230;
				c2.x =450;
				c2.y =230;
				creeps.push(c);
				creeps.push(c2);
			}
 
 
		}
 
	}
 
}
и 2 класса монстров Creep и Creep2 они одинаковы, только Creep2 появляется справа и они движутся навстречу друг другу.


Creep.as
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.events.Event;
 
 
 
	public class Creep extends MovieClip {
		var speed:int
		public var hp:int
 
		public function Creep() {
			// constructor code
			speed=2;
			hp=400;
			trace("made a creep");
			addEventListener(Event.ENTER_FRAME, update);
 
		}
		function update(e:Event){
			x=x+speed;
		}
 
	}
 
}
Вопрос!

Не могу понять как сделать чтобы они дрались при встрече.
пробовал ставить
Код AS3:
if(c.hitTestObject(c2){
}
но выдает какую то ошибку. Любо я не туда ставил.
нужно чтобы они останавливались в центре и начинали драться, нанося удары скажем по 30 hp
я пробовал делать тоже самое но на линии времени, без классов. И получилось сделать чтобы они останавливались и начала воспроизводиться анимация атаки, но как сделать чтобы были удары через определенное время не знаю.
и hitTestObject почему то не работает когда стал писать классы.

"TypeError: Error #1010: Термин не определен и не имеет свойств.
at Game/loop()"

Помогите пожалуйста, может есть уже что то подобное тут на форуме.
Заранее спасибо всем кто откликнется.

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

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

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


 


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


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