1.新建一个文件夹 命名为test
2.新建一个fla文件 命名为bulb(灯泡) 打开该fla
3.在fla里用工具画一个黄色的灯泡 转换成元件 在库里 右键这个元件=>选择"属性"=>点击"高级"=>在"高级"的选项里勾选"为ActionScript导出"=>在类名里填写"bulb",注意千万别打错,否则取不到这个元件=>确定
4.在test文件夹下新建一个文件夹 命名为 code
5.在code文件夹下建立3个.as文件 分别命名为 Main 、Bulb 、Util注意首字母大写
6.在bulb.fla里 场景1中,选择右面的属性(我这里是右面,有属性和库两个选项) 在属性的"发布"选项卡的类中填写 code.Main 然后点击右面的铅笔样的按钮,如果成功的话会打开刚才建立的Main.as,里面是空白的。
8.粘贴下面代码到Main.as文件中:
package code
{
import flash.display.Sprite;
import flash.events.Event;
/**
* 入口类,默认应用程序
* @author zy
*
*/
public class Main extends Sprite
{
public function Main(){
this.addEventListener(Event.ADDED_TO_STAGE,addToStage);
}
/**
* 入口类被加载到舞台以后开始初始化程序代码部分
*
*/
private function addToStage(evt:Event):void{
this.removeEventListener(Event.ADDED_TO_STAGE,addToStage);
addChild(new Bulb());
}
}
}
9.粘贴下面代码到Util.as中:
package code
{
import flash.system.ApplicationDomain;
import flash.utils.getDefinitionByName;
public class Util
{
/**
* 返回元件的实例
* @param className 元件的导出类名 String类
* @return 返回元件的实例
*/
public static function getSymbol(className:String,domain:ApplicationDomain = null):*{
if(domain == null){
domain = ApplicationDomain.currentDomain;
}
if(domain.hasDefinition(className)){
var cls:Class = domain.getDefinition(className) as Class;
return new cls;
}else{
trace(className+" 未找到");
}
return null;
}
}
}
10.粘贴如下代码到Bulb.as中:
package code
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.filters.ColorMatrixFilter;
/**
* 控制灯泡的类
* @author zy
*
*/
public class Bulb extends Sprite
{
//灯泡
private var bulb:MovieClip;
//灰色滤镜
private var GRAY_FILTER:Array = [new ColorMatrixFilter([0.3, 0.6, 0, 0, 0, 0.3, 0.6, 0, 0, 0, 0.3, 0.6, 0, 0, 0, 0, 0, 0, 1, 0])];
public function Bulb()
{
super();
//获取灯泡影片剪辑,这个“bulb”就是你在bulb.fla里导出的类名,两者相对应的
bulb = Util.getSymbol("bulb");
//给灯泡加上一个鼠标点击事件
bulb.addEventListener(MouseEvent.CLICK, onClick);
addChild(bulb);
}
private function onClick(evt:MouseEvent):void{
if(bulb.filters.length == 0){
//如果灯泡没有滤镜,就给他加上灰色滤镜,灯泡变灰
bulb.filters = GRAY_FILTER;
}else{
//如果灯泡已经有滤镜了,那就把滤镜去掉,灯泡还原
bulb.filters = [];
}
}
}
}
11.在bulb.fla中 按 ctrl + Enter键导出swf
12.如果看到你在fla中画的灯泡,并且点击该灯泡会更换颜色,那么你就成功了,理解以上代码后可以更改为你自己想要的效果。如果什么都没看到,则从第一步检查,看哪里做的不对
13.哪里不会的话 百度上给我消息 , 有时间的话我会回复