相关知识:本课件设计到了鼠标的不同事件,分别是MOUSE_DOWN,MOUSE_UP,MOUSE_MOVE三个不同事件及响应。还用到了鼠标位置的坐标,mouseX,mouseY.;以及直线绘制应用程序接口。
Actionscrpt3.0代码:
var mysprite:Sprite=new Sprite();
addChild(mysprite);
stage.addEventListener(MouseEvent.MOUSE_DOWN,ondown);
stage.addEventListener(MouseEvent.MOUSE_UP,onup);
function ondown(e:MouseEvent):void {
stage.addEventListener(MouseEvent.MOUSE_MOVE,onmove);
mysprite.graphics.moveTo(mouseX,mouseY)
}
function onmove(e:MouseEvent):void {
mysprite.graphics.lineStyle(1,0xff0000);
mysprite.graphics.lineTo(mouseX,mouseY);
}
function onup(e:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_MOVE,onmove);
}
制作方法:新建Actionscript3.0的fla文件,输入代码测试即可。
代码详解:首先,前两行创建了一个Sprite类的实例并将其加入显示列表,这步很重要,否则看不到任何内容。Sprite 类是 ActionScript 3.0 中新引入的类。Sprite 类是基本显示列表构造块:一个可显示图形并且也可包含子项的显示列表节点。Sprite 对象与影片剪辑类似,但没有时间轴。 Sprite 是不需要时间轴的对象的相应基类。 例如,Sprite 将是通常不使用时间轴的用户界面 (UI) 组件的逻辑基类。
接下来,给舞台添加了两个鼠标侦听事件,分别是MOUSE_DOWN和MOUSE_UP,分别用来侦听鼠标按下和抬起。其中MOUSE_DOWN事件的处理器里又添加了鼠标移动事件侦听,即MOUSE_MOVE,当鼠标按下并移动时,则执行onmove函数。这个函数是用来绘制直线的。lineTo(mouseX,mouseY)告诉我们绘制的终点是鼠标移到的位置,我们不停的移动鼠标,则绘制不停止。
最后,定义了onup函数,这个函数当鼠标按钮抬起时执行,用于删除绘制代码,即停止绘制线条。至此Actionscript3.0课件-电子粉笔制作完毕。