// Richard Caceres, rcaceres {at} ucla.edu // DMA 199 // $Id: ImageStrip.as,v 380.1 2008-01-30 18:11:35-08 - - $ // $Date: 2008-01-30 18:11:35-08 $ package { import flash.display.Sprite; import fl.transitions.*; import fl.transitions.easing.*; import flash.events.*; class ImageStrip extends Sprite { var images:Array; var focused_index:Number; var stageref; var focusTween; var imgspacing; public function ImageStrip (_images:Array, _stageref, _imgspacing) { // The constructor needs an Array of ImageIG3's images = _images; stageref = _stageref imgspacing = _imgspacing; for (var i=0; i < images.length; ++i) { addChild(images[i]); } arrangeImages(); // Load all the images. //this.loadImages(); } private function arrangeImages():void { trace ("initImages()"); var xpos = 0; for (var i=0; i < images.length; ++i) { //trace ("xpos init:"+xpos); images[i].x = xpos; images[i].y = stageref.stageHeight *.5 - (images[i].obj_height * images[i].scaleY *.5); xpos += (Number(images[i].obj_width * images[i].scaleY) + imgspacing); } } public function handleResize (e:Event):void { for (var i=0; i < images.length; ++i){ var img = images[i]; if (stageref.stageHeight < img.obj_height) { img.scaleX = img.scaleY = stageref.stageHeight / img.obj_height; } else { img.scaleX = img.scaleY = 1; } } arrangeImages(); focusImage(focused_index); } public function focusImage (indexnum):void { // This method will focus on a selected image at the point trace ("focusImage:"+indexnum); //trace ("xpos:"+images[indexnum].x); var newX = (-1 * (images[indexnum].x + (images[indexnum].obj_width * images[indexnum].scaleY * .5))); newX += (stageref.stageWidth * .5); focusTween = new Tween (this, "x", Regular.easeOut, this.x, newX, 1, true); focused_index = indexnum; // make sure every other image is dimmed for (var i=0; i < images.length; ++i) { if (i != focused_index) images[i].unfocus(); else images[i].focus(); } } } }