将元素从一个地方移动到另一个地方

格里高利

我试图通过随机告诉从数组到哪里将元素从一个位置移动到另一位置。但这并不像我希望的那样。

代码是这个

public class Main extends MovieClip
{
    private var positions:Array = [ 0, 100, 200 ];//different X positions

    public function Main()
    {
        for( var i:int = 0; i < 3; i++)
        {
            var box:Sprite = new Sprite();
            box.graphics.beginFill( Math.random()*0xffffff );
            box.graphics.drawRect( 100* i, 0, 80, 80);
            box.graphics.endFill();
            this.addChild( box );
            box.addEventListener(MouseEvent.CLICK, onBoxClick);
        }
    }

    private function onBoxClick( ev:MouseEvent ):void
    {
        var currentObj:Sprite = ev.currentTarget as Sprite;

        var randomNumber:int = Math.random() * positions.length;

        currentObj.x = positions[ randomNumber ];
        currentObj.y = 200;

        positions.splice( randomNumber, 1 );

    }
}

如您所见,我删除了给定的X位置,以便2个元素可以在舞台上具有相同的位置。但是代码所做的是它获取了元素的当前X位置并将其添加到新的X位置。因此,如果我单击元素1并获得位置2,单击元素2并获得位置1并单击元素3并获得位置0,它将是这样的:

element1.x (0)   + 200 = 200;
element2.x (100) + 100 = 200;
element3.x (200) + 0   = 200;

他们将全部位于同一地点(比其他地点多1个地点)。

我想要做的是:

element1.x (no matter where it is ) + 200 = 200;
element2.x (no matter where it is ) + 100 = 100;
element3.x (no matter where it is ) + 0   = 0;

我尝试这样做

currentObj.x = 0 + positions[ randomNumber ];

或者

currentObj.x = stage.x + positions[ randomNumber ];

但随后(当前元素)仍将其当前位置计为“ 0”并添加到该位置。

我想念什么吗?

蓝色的

更改此行:

box.graphics.drawRect( 100* i, 0, 80, 80);

这样 :

box.graphics.drawRect(0, 0, 80, 80);
box.x = 100 * i;

然后应该会更好。

您的问题是您是从“盒子”中的位移点开始绘制的。因此,当您将其移动为x时,位移即为总和。

将其绘制在0点将允许您删除该偏移量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将图像从一个地方移动到另一个地方

在 Unity 中随着时间的推移(或旋转)从一个地方移动到另一个地方

有没有办法将线从一个地方随机移动到另一个地方?

将价值从一个地方传递到另一个地方

C:将元素从一个列表移动到另一个列表

将元素从一个包移动到另一个包

将 html 元素从一个节点移动到另一个节点

我正在尝试获取在PHP中从一个地方移动到另一个地方所花费的距离和时间

android在不同的屏幕尺寸和分辨率上将图像从一个地方移动到另一个地方

反应动画将元素从一个父对象移动到另一个父元素

将列表项从一个 ul 元素移动到另一个 ul 元素

视觉上从一个 html 元素移动到另一个 - Javascript

如何将win 10中的“.android”文件夹移动到另一个地方?

使用XSLT 2将元素从一个位置移动到另一个位置

将数组元素从一个数组位置移动到另一个位置

将 XAML 元素从一个位置移动到另一个位置

使用JQuery将列表元素从一个无序列表移动到另一个

如何将元素从一个链接列表顺序移动到另一个列表

将元素从一个xml文件移动到另一个xml文件

将更改从一个分支移动到另一个分支

强制将 Pod 从一个工作节点移动到另一个

将角度分量从一个容器移动到另一个容器

将存储库从一个隔离的网络移动到另一个

将屏幕从一个虚拟桌面移动到另一个

将值从一个表移动到另一个表

将大文件从一个 Google 帐户移动到另一个?

将数据从一个mysql表移动到另一个

将记录从一个集合移动到另一个 PyMongo

将Azure资源从一个目录移动到另一个目录