![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2009
Сообщений: 5
|
Добрый день!
Вот решил открыть темку по работе с изображениями. Первый вопрос будет касаться увеличения. Публикую код: package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.BitmapDataChannel; import flash.display.Loader; import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events.Event; import flash.events.MouseEvent; import flash.events.TimerEvent; import flash.geom.Point; import flash.geom.Rectangle; import flash.net.URLRequest; import flash.utils.Timer; public class Main extends MovieClip { public var myImage:Bitmap; public var image:BitmapData; public var sizeRatio:Number = 0.3; public var rt:Timer; public function Main() { var imageLoader:Loader = new Loader(); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoadComplete); imageLoader.load(new URLRequest("jj_big.jpg")); } private function imageLoadComplete(e:Event):void { image = e.target.content.bitmapData; myImage = new Bitmap(); myImage.bitmapData = new BitmapData(image.width, image.height, false, 0xFF0000); myImage.bitmapData.copyPixels(image, new Rectangle(0, 0, image.width, image.height) , new Point(0, 0)); myImage.scaleX = sizeRatio; myImage.scaleY = sizeRatio; myImage.addEventListener("click", clickOnPreview); this.addChild(myImage); } private function clickOnPreview(e:Event):void { rt = new Timer(1); rt.addEventListener(TimerEvent.TIMER, timerTick); rt.start(); } private function timerTick(e:Event):void { sizeRatio += 0.004; myImage.scaleX = sizeRatio; myImage.scaleY = sizeRatio; if (myImage.height * sizeRatio >= this.height) { rt.stop(); } } } } Скажите, почему? |
|
|||||
|
Регистрация: Mar 2009
Адрес: (0,0,0)
Сообщений: 7
|
Bitmap не диспатчит событие "click"
положите его в спрайт |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 5
|
Получается отдельный класс для этого писать надо?
А то ненагуглил Bitmap to Sprite...везде только Sprite to Bitmap.. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 428
|
1. Создаете спрайте
2. Кладете туда битмап ... ( addChild() ) 3. Вешаете на спрайт слушатель события 4. Кликаете на спрайт....... ..... ..... profit!!!!
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг |
|
|||||
|
Регистрация: Mar 2009
Адрес: (0,0,0)
Сообщений: 7
|
//этого нинада //myImage.addEventListener("click", clickOnPreview); //вместо него: var spr:Sprite=new Sprite(); spr.addChild(myImage); spr.addEventListener("click", clickOnPreview); |
|
|||||
|
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
Контейнер уже может реагировать на мышь.
Последний раз редактировалось Hidest; 05.08.2010 в 15:58. |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 5
|
спасибо большое за ответы!
Но тему не закрывайте, так как вопросы еще будут. |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|