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

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

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

Регистрация: Apr 2010
Сообщений: 170
По умолчанию Прокликивается клип, а не должен

Всем доброго дня!

У меня есть клип Screen, а в него, через addChild(), включены ещё два клипа: ScreenMap и ScreenGUI. ScreenMap представляет из себя карту, которую можно двигать, если зажать кнопку мышки на карте. ScreenGUI включает в себя несколько спрайтов:

Код AS3:
public var layerBottom:Sprite=new Sprite();
public var layerArrows:Sprite=new Sprite();
public var layerDrops:Sprite=new Sprite();
public var layerDialogs:Sprite=new Sprite();
public var layerTop:Sprite=new Sprite();
Все эти спрайты добавлены в контейнер ScreenGUI. В слой layerBottom я запихиваю интерфейс, который всё время показывается на экране. А вот в layerArrows я запихал стрелочку, которая лежит по центру экрана и всегда указывает направление к определённому объекту (к главному герою). Так вот, когда я тыкаю в центре экрана мышкой (получается что тыкаю на эту стрелочку) и вожу мышкой (то есть рассчитываю что буду перемещать карту), то карта не перемещается. Однако для объекта стрелки я для всех её символов задал свойство mouseEnable равное false.

Код AS3:
package d.game.screen.screenGUI
{
	import d.game.screen.ScreenObject;
	import flash.display.Bitmap;
	import flash.display.MovieClip;
 
	public class GUIArrow extends ScreenWindow
	{
		private var angle:Number=0;
 
		public var arrow:MovieClip=null;
 
		public function GUIArrow(_name:String,_parent:ScreenObject)
		{
			super(_name,_parent,false,false,null);
			swType=SW_TYPE_ARROW;
			mouseEnabled=false;
			arrow.mouseEnabled=false;
 
			graphics.beginFill(0xFF0000);
			graphics.drawRect(0,0,50,50);
			graphics.endFill();
 
			if(arrow.numChildren==1 && arrow.getChildAt(0) is Bitmap)
			{
				(arrow.getChildAt(0) as Bitmap).smoothing=true;
			}
		}
 
		public function setAngle(_angle:Number):void
		{
			angle=_angle;
			rotation=angle;
		}
 
		public function getAngle():Number
		{
			return angle;
		}
 
	}
 
}
Тогда почему я не могу через стрелку докричаться до карты?

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

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

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


 


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


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