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

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

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

Регистрация: Apr 2010
Сообщений: 13
Question Неверный размер объекта при создании экземпляра

Здраствуйте уважаемые флешеры! Поясните пожалуйста, в чем проблема.
Я описал класс module.as, в котором я отрисовываю картинку pic.png, размер которой 32х32. В основном классе Main.as, при создании экземпляра класса module.as размеры данного объекта равны 101. Проблема в том что я ставлю на этот объект событие OVER и OUT, которые должны срабатывать при попадании курсора мыши на картинку(размер которой 32), а события эти срабатыват когда курсор еще не вошел на картинку. Это важно потому что таких объектов будет несколько и стоять они будут рядом, тогда получается что последний добавленный объект будет закрывать предыдущий.
Если я пытаюсь изминить размер данного объекта на 32х32, то в этом случае искажается картинка (она ужимается). А это очень не хорошо =(.

Подскажите как решить проблему?

скрипт Module.as

Код AS3:
package modelObjects
 
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	import flash.display.Bitmap;
	import flash.media.Sound;
 
	public class Module extends MovieClip
	{
		[Embed (source = "../images/pic.png")] [Bindable] public var Img:Class;
 
		public function Module(type:String)
		{
			var pic:Bitmap;
			pic = new Img(); 
			this.addChild(pic);
			this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
			this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
		}
 
		private function mouseOverHandler(e:MouseEvent):void 
		{	
			trace("IN");
		}
 
		private function mouseOutHandler(e:MouseEvent):void 
		{	
			trace("OUT");
		}
	}
}
основной скрипт Main.as

Код AS3:
package 
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import modelObjects.Module;
 
	public class Main extends MovieClip 
	{
		public var mdl:Module; //объект игра
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			mdl = new Module();
                        mdl.x = 300;
                        mdl.y = 300;
			this.addChild(mdl);
		}
	}
}


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

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

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


 


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


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