?? listitem.as
字號:
?package com.ninemoon{
import flash.display.*;
import flash.events.*;
import flash.text.*;
import com.ninemoon.TextFormatManage;
import com.ninemoon.PlayList;
import com.ninemoon.PlayControl;
public class ListItem extends Sprite {
private var _id:uint;
private var _songName:String;
private var _bgColorArray:Array=["0x2a2b3f","0x242639"];
private var _bgColor:uint;
private var textItem:TextField;
private var rectW:Number=200;
private var rectH:Number=15;
public function ListItem(num:uint,str:String) {
_id=num;
_songName=str;
init();
}
private function init():void {
_bgColor=_id%2==1?_bgColorArray[0]:_bgColorArray[1];
drawItem(_bgColor);
doubleClickEnabled=true;
textItem=new TextField();
textItem.selectable=false;
textItem.doubleClickEnabled=true;
textItem.text=_id+1+"."+_songName;
textItem.width=200;
textItem.height=15;
textItem.setTextFormat(TextFormatManage.getFormat("format_1"));
textItem.y=0;
textItem.x=5;
addChild(textItem);
addEventListener(MouseEvent.DOUBLE_CLICK,onDouble);
addEventListener(MouseEvent.MOUSE_OVER,onOver);
addEventListener(MouseEvent.MOUSE_OUT,onOut);
}
/*雙擊事件,使用單例模式返回唯一的PlayList實例,并調用PlayList內的上一個list_item(通過訪問PlayList內的數組list_item_now
這時PlayList內的index屬性還是上一個list_item的id),然后將當前的list_item的id傳遞個PlayList的index屬性,讓其記錄當前播放的id。*/
private function onDouble(event:MouseEvent):void {
PlayList.getInstance().list_item_now.addEvent();
PlayList.getInstance().setIndex(_id);
PlayList.getInstance().soundManage(_id);
PlayControl.getInstance().init();
removeEvent();
}
private function onOver(event:MouseEvent):void {
drawItem(0x7567ae);
}
private function onOut(event:MouseEvent):void {
drawItem(_bgColor);
}
public function addEvent():void {
textItem.setTextFormat(TextFormatManage.getFormat("format_1"));
drawItem(_bgColor);
addEventListener(MouseEvent.MOUSE_OVER,onOver);
addEventListener(MouseEvent.MOUSE_OUT,onOut);
}
public function removeEvent():void {
drawItem(0x606383);
drawItemBorder();
textItem.setTextFormat(TextFormatManage.getFormat("format_2"));
removeEventListener(MouseEvent.MOUSE_OVER,onOver);
removeEventListener(MouseEvent.MOUSE_OUT,onOut);
}
private function drawItem(color1:uint):void {
graphics.clear();
graphics.beginFill(color1);
graphics.drawRect(0,0,rectW,rectH);
graphics.endFill();
}
private function drawItemBorder():void {
graphics.lineStyle(0,0xffffff);
graphics.moveTo(0,0);
graphics.lineTo(rectW,0);
graphics.lineTo(rectW,rectH-1);
graphics.lineTo(0,rectH-1);
graphics.lineTo(0,0);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -