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

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

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

Регистрация: Feb 2012
Сообщений: 2
По умолчанию не переходит на нужный кадр

Подскажите плиз в чем может быть проблема. уже дня 2 мучаюсь.
Есть мувиклип, он следует за мышкой. через hitTestObject проверяю столкновения, если не сталкиваются то первый кадр, если наоборот то 2. по клику создается объект на месте этого мувика.
Проблема вот в чем: при создании нового объекта (по клику), на второй кадр переходит только при столкновении с последним созданным объектом, хотя в теле проверки на столкновения присутствуют условия if они выполняются без проблем, а gotoAndStop(2) не работает.
Вот код:

Код AS3:
if(global.CreateObjHouse==true){
				global.CreateObjHouse=false;
				addEventListener(MouseEvent.CLICK,createHouseClick);
				addEventListener(MouseEvent.MOUSE_MOVE,createHouseOver);
				CreateMapObjShow=new createMapObjShow();
				addChild(CreateMapObjShow);
			}
 
//////////////////////////////////////////////////////////////////////////////////////////////
 
function createHouseClick(e:MouseEvent):void{
			if(global.CreateFlagPowerStation==true){
				if(CreateMapObjShow.currentFrame==1){
					for(var i:Number=0;i<=MapObj.length+1;i++){
 
						if(MapObj[i]==undefined){
 
				    MapObj2=new mapObj2();
					MapObj[i]=MapObj2;
				    addChild(MapObj[i]);
				    MapObj[i].x=CreateMapObjShow.x;
				    MapObj[i].y=CreateMapObjShow.y;
					i=MapObj.length+100;
						}
					}
				    global.HouseKolvo++;
					global.CreateFlagPowerStation=false;
				removeEventListener(MouseEvent.CLICK,createHouseClick);
				removeEventListener(MouseEvent.MOUSE_MOVE,createHouseOver);
				removeChild(CreateMapObjShow);
				CreateMapObjShow=undefined;
 
				}else{
					global.CreateFlagPowerStation=false;
				removeEventListener(MouseEvent.CLICK,createHouseClick);
				removeEventListener(MouseEvent.MOUSE_MOVE,createHouseOver);
				removeChild(CreateMapObjShow);
				CreateMapObjShow=undefined;
				}
			}
 
		}
 
		function createHouseOver(e:MouseEvent):void{
			CreateMapObjShow.x=e.stageX+(x*-1);
			CreateMapObjShow.y=e.stageY+(y*-1);
			for each(var item in MapObj){
 
				if(item!=undefined){
				if(CreateMapObjShow.hitTestObject(item)){
 
					CreateMapObjShow.gotoAndStop(2);//тут не переходит а все if ниже работают без проблем
					if((CreateMapObjShow.x+CreateMapObjShow.width>=item.x)&&(CreateMapObjShow.x+CreateMapObjShow.width<=item.x+20))CreateMapObjShow.x=item.x-1-CreateMapObjShow.width;
			        if((CreateMapObjShow.x<=item.x+item.width)&&(CreateMapObjShow.x>=item.x+item.width-20))CreateMapObjShow.x=item.x+item.width+1;
					if((CreateMapObjShow.y+CreateMapObjShow.height>=item.y)&&(CreateMapObjShow.y+CreateMapObjShow.height<=item.y+20))CreateMapObjShow.y=item.y-1-CreateMapObjShow.height;
			        if((CreateMapObjShow.y<=item.y+item.height)&&(CreateMapObjShow.y>=item.y+item.height-20))CreateMapObjShow.y=item.y+item.height+1;
 
 
				   }
				   else if(!CreateMapObjShow.hitTestObject(item)){
			            CreateMapObjShow.gotoAndStop(1);
				   }
 
				}
			}
		}

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

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

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


 


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


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