【实现效果】
当点击右下角的画线按钮后,可在场景中画线,该线条只能画出水平线,而且限制画线的区域,画线工具按下时开始画线,弹起时停止画线,按下清除按钮时清除所画的线。以下只讲解画线部分的制作。
【制作过程】
- 新建一影片剪辑,进入编辑级别,如下图所示,分别建四个图层,从下至上分别为停止画线、开始画线、清除画线、代码。然后在停止画线、开始画线、清除画线三个图层放置三个影片剪辑或者是按钮,在制作时,停止画线和开始画线分别是不同的两种状态。制作好后分别给它们取上实例名称为stophua、starthua、clearxian。
2.选中代码层第一帧,打开动作面板,输入以下代码:
//创建空影片剪辑huaxian_mc
this.createEmptyMovieClip("huaxian_mc", this.getNextHighestDepth());
//初始化starthua和stophua的可见性
starthua._visible = true;
stophua._visible = false;
//starthua按下释放时执行下列语句
starthua.onRelease = function() {
//更改starthua和stophua的可见性
stophua._visible = true ;
this._visible = false;
//huaxian_mc中鼠标按下设置变量的值
huaxian_mc.onMouseDown = function() {
start_x = _xmouse;
start_y = _ymouse;
hua = true;
};
//huaxian_mc中鼠标移动执行
huaxian_mc.onMouseMove = function() {
//画线范围
if (_root._ymouse>213 || _root._ymouse<7 || _root._xmouse>313 || _root._xmouse<7) {
hua = false;
}
if (hua == true) {
//线的粗细与颜色
this.lineStyle(2, 0xFF0000);
//从按下鼠标的位置开始画线且只能按水平方向画线
this.moveTo(start_x, start_y);
this.lineTo(_xmouse, start_y);
//不断更新舞台
updateAfterEvent();
}
//鼠标释放时停止画
this.onMouseUp = function() {
hua = false;
};
};
};
//starthua按下释放时执行下列语句
stophua.onRelease = function() {
//更改starthua和stophua的可见性
this._visible = false;
starthua._visible = true;
//删除huaxian_mc按下鼠标
delete huaxian_mc.onMouseDown;
};
//清除线
clearxian.onRelease = function() {
huaxian_mc.clear();
};
3.返回场景,将该影片剪辑拖入场景中的画线工具层,并将该影片剪辑摆放好位置。