Flash as3 Var movieClip重复

时间:2017-09-16 13:33:23

标签: actionscript-3 var movieclip flash-cs6

让多个动画片段能够在网格上移动,一旦拖动它,它似乎重复并且“原始”保留在原位。 导致它在我的代码中复制的原因是什么?

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);
    }
}

1 个答案:

答案 0 :(得分:0)

它没有重复,只有很多动画片夹叠在一起。 您为在完全相同位置添加的每一行添加一个新球。

我不知道你想要如何分配球,但试着更换 ball.y = tileSize * 5;ball.y = posY; input,看看我在说什么。