让多个影片剪辑能够在网格上移动,一旦拖动它,它就会重复,并且“原始”仍然保留。 是什么导致它在我的代码中重复?Flash as3 Var movieClip复制品
import flash.display.MovieClip
[SWF(width = 1300, height = 1000)]
var tileSize: int = 100;
var cols: int = stage.stageWidth/tileSize;
var rows: int = stage.stageHeight/tileSize;
var grid: Sprite = Sprite(addChild(new Sprite()));
grid.graphics.lineStyle(0, 0x000000, 0);
var i: int = 0;
for (i = 1; i < cols; i++) {
var posX: Number = i * tileSize
grid.graphics.moveTo(posX, 0);
grid.graphics.lineTo(posX, stage.stageHeight);
}
for (i = 1; i < rows; i++) {
var posY: Number = i * tileSize
grid.graphics.moveTo(0, posY);
grid.graphics.lineTo(stage.stageWidth, posY);
var ball: the_ball = new the_ball();
addChild(ball);
ball.x = tileSize * 5;
ball.y = tileSize * 5;
ball.buttonMode = true;
ball.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
function onDown(evt: MouseEvent): void {
addEventListener(Event.ENTER_FRAME, onRunSnapping);
}
function onRunSnapping(evt: Event): void {
ball.x = Math.round(mouseX/tileSize) * tileSize;
ball.y = Math.round(mouseY/tileSize) * tileSize;
}
stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
function onUp(evt: MouseEvent): void {
removeEventListener(Event.ENTER_FRAME, onRunSnapping);
}
}
它是一个框架脚本?如果是,您的时间表上有多少帧?附:格式化您的代码。未格式化的代码真的很难遵循。 – Organis
您的代码仅在舞台上增加了1个球。怎么会有多个可拖动的影片剪辑? –
@ManuelOtto它位于循环内部,但由于格式不当而不明显。 – Organis