Main.as 


package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
public class Main extends Sprite
{
public function Main()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
settingSet();
}
private function settingSet():void
{
var i:uint = 0;
var len:uint = 5;
var _color:int;
 
for(i; i<len; i++){
                                _color = Math.random() * 0xffffff;
 
var _item:Item = new Item(_color, i);
_item.addEventListener(ItemHandlerEvent.ITEM_CLICK_EVENT, itemClickHandler);
_item.x = 50 * i;
this.addChild(_item);
}
}
private function itemClickHandler (e:ItemHandlerEvent):void
{
var _num:Number = e.numSet;
trace(_num); // 0, 1, 2, 3, 4
}
}
}





Item.as


 package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Item extends Sprite
{
private var _color:int;
private var _i:uint;
public function Item($color:int, $i:uint)
{
super();
_color = $color;
_i = $i;
settingSet();
}
private function settingSet():void
{
name = "item" + _i;
graphics.beginFill(_color, 1);
graphics.drawRect(0, 0, 50, 50);
graphics.endFill();
buttonMode = true;
addEventListener(MouseEvent.CLICK, onClick);
}
protected function onClick(e:MouseEvent):void
{
var n:int = e.target.name.substr(4);
dispatchEvent(new ItemHandlerEvent(ItemHandlerEvent.ITEM_CLICK_EVENT, n));
}
}
}




ItemHandlerEvent.as

 
package
{
import flash.events.Event;
public class ItemHandlerEvent extends Event
{
static public const ITEM_CLICK_EVENT:String = "item_click_event";
private var _num:int;
public function ItemHandlerEvent(type:String, $num:int, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
_num = $num;
}
public function get numSet():int
{
return _num;
}
}

+ Recent posts