📄 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 + -