⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listitem.as

📁 as3歌词解析实例,源文件
💻 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 + -