flash 用as2 用鼠标绘制直线 按钮控制每一条的直线是否删除
时间: 2024-05-12 19:20:09 浏览: 109
以下是一个简单的示例代码,可以实现用鼠标绘制直线,按下按钮删除直线:
```
// 创建一个空数组来存储直线
var lines:Array = [];
// 创建一个新的 MovieClip 用于绘制直线
var line:MovieClip = createEmptyMovieClip("line", getNextHighestDepth());
// 监听鼠标按下事件
line.onMouseDown = function() {
// 开始绘制直线
this.lineStyle(1, 0x000000);
this.moveTo(_xmouse, _ymouse);
// 监听鼠标移动事件,绘制直线
this.onMouseMove = function() {
this.lineTo(_xmouse, _ymouse);
}
}
// 监听鼠标松开事件,停止绘制直线
line.onMouseUp = function() {
delete this.onMouseMove;
// 将绘制的直线添加到数组中
lines.push(this);
}
// 创建一个按钮用于删除直线
var deleteBtn:MovieClip = createEmptyMovieClip("deleteBtn", getNextHighestDepth());
deleteBtn._x = 100;
deleteBtn._y = 100;
deleteBtn.createTextField("label", deleteBtn.getNextHighestDepth(), 0, 0, 60, 20);
deleteBtn.label.text = "Delete Lines";
deleteBtn.onRelease = function() {
// 循环遍历数组,删除每一条直线
for (var i:Number = 0; i < lines.length; i++) {
var line:MovieClip = lines[i];
line.removeMovieClip();
}
// 清空数组
lines = [];
}
```
在上述代码中,我们创建了一个空数组 `lines`,用于存储所有绘制的直线。当用户按下鼠标时,我们创建一个新的 MovieClip `line`,并开始绘制直线。当用户松开鼠标时,我们将绘制的直线添加到数组中。当用户点击删除按钮时,我们循环遍历数组,删除每一条直线,并清空数组。