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

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

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

Регистрация: Jun 2015
Сообщений: 26
По умолчанию Не воспроизводит анимацию

Здравствуйте!

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

Вот основной класс Game. есть еще класс Creep и Creep2

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

Добавлено через 16 минут
Сделал последнюю часть кода вот так:
Код AS3:
if(c.hitTestObject(cc)){
				c.speed = 0;
				cc.speed = 0;
				if(cooldown<1){
 
					c.gotoAndPlay(2);
					cc.hp2 -=500;
 
					trace(cc.hp2);
					cooldown = 50;
					if(cc.hp2 <= 0){
 
						cc.gotoAndPlay(2);
						c.speed = 2;
						//if(contains(cc)) removeChild(cc);
						//removeEventListener(Event.ENTER_FRAME, cd);
 
					}
				}
 
			}
Анимация смерти теперь проигрывается, но первый моб не идет дальше! c.speed = 2; не срабатывает

Добавлено через 20 минут
кажется понял, выше прописано что
Код AS3:
if(c.hitTestObject(cc)){
				c.speed = 0;}
поэтому то и не идет дальше
теперь не знаю что делать как теперь заставить его дальше идти ))) Буду думать

Старый 10.06.2015, 08:13
razve вне форума Посмотреть профиль Отправить личное сообщение для razve Найти все сообщения от razve
  № 2  
Ответить с цитированием
razve
 
Аватар для razve

Регистрация: Jun 2014
Сообщений: 52
Цитата:
Сообщение от dubspectra Посмотреть сообщение
Код AS3:
if(c.hitTestObject(cc)){
				c.speed = 0;}
поэтому то и не идет дальше
теперь не знаю что делать как теперь заставить его дальше идти ))) Буду думать
Дополни условие hitTestObject: if(c.hitTestObject(cc) && cc.currentframe <30){
Когда анимация второго моба завершится, c.speed = 0 больше не будет выполняться.

Старый 10.06.2015, 13:47
dubspectra вне форума Посмотреть профиль Отправить личное сообщение для dubspectra Найти все сообщения от dubspectra
  № 3  
Ответить с цитированием
dubspectra
 
Аватар для dubspectra

Регистрация: Jun 2015
Сообщений: 26
Цитата:
Сообщение от razve Посмотреть сообщение
Дополни условие hitTestObject: if(c.hitTestObject(cc) && cc.currentframe <30){
Когда анимация второго моба завершится, c.speed = 0 больше не будет выполняться.
Спасибо, как все легко и просто оказывается. Все больше и больше интереса к написанию кода. Наверное нужен большой опыт чтобы так быстро находить способы решения задач.

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

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

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


 


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


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