Добрый день!
Вот решил открыть темку по работе с изображениями.
Первый вопрос будет касаться увеличения.
Публикую код:

Код AS1/AS2:
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();
}
}
}
}
Первый вопрос состоит в том, если запуск таймера поместить не по щелчку мыши, а непосредственно в код, то все отлично выполняется. Но на myImage навешан слушатель клика, по которому собственно и должна увеличиваться картинка. Но это событие не срабатывает.
Скажите, почему?