今天,有网友留言希望在课件中增加画线标记功能,要求单击按钮后方激发标记功能。如果单击擦除按钮可以清除这些标记的划线。鄙人觉得这个功能具有很强的实用性,我们如果觉得课件中很重要的地方或者需要强调的地方,使用鼠标绘制直线、曲线或者圆圈来标记出来,可以做到重点突出,引人注目。记得前面的一篇博文中,我们谈到了使用鼠标在舞台上绘制线条,我们可以在这个课件的基础上来补充和完善。具体思路是这样的:
一、添加激活和擦除按钮
我们需要从组件库中拖出两个Button组件到舞台,分别命名为pen_btn和cl_btn。分别给两个按钮添加鼠标单击侦听函数。在第一个处理函数中,使用addChild()方法来激活标记绘制功能。在第二个函数中使用graphics.clear()清除绘制的线条,使用removeChild()方法移除容器,实现屏蔽划线功能。
二、使用as3.0代码实现划线标记功能
这个功能其实在前面的文章中已经细说了,这里就不赘述了。具体可以参考:
1、电子粉笔
2、电子稿纸
import flash.events.<a href=http://www.flashabc.net/catalog.asptags=MouseEvent>MouseEvent</a>;
var mysprite:Sprite=new Sprite();
pen_btn.addEvent<a href=http://www.flashabc.net/catalog.asptags=List>List</a>ener(MouseEvent.CLICK,addpen)
function addpen(event:MouseEvent):void{
mysprite.graphics.clear()
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(2,0xff0000);
mysprite.graphics.lineTo(mouseX,mouseY);
}
function onup(e:MouseEvent):void {
stage.removeEventListener(MouseEvent.MOUSE_MOVE,onmove);
}
cl_btn.label="擦 除"
cl_btn.addEventListener(MouseEvent.CLICK,onclick)
function onclick(event:MouseEvent):void{
removeChild(mysprite)
mysprite.graphics.clear()
}