Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 动作脚本3。从阵列中随机上下移动项目_Arrays_Actionscript 3_Flash_Random - Fatal编程技术网

Arrays 动作脚本3。从阵列中随机上下移动项目

Arrays 动作脚本3。从阵列中随机上下移动项目,arrays,actionscript-3,flash,random,Arrays,Actionscript 3,Flash,Random,所以我创建了类似这样的游戏: 我已经在4个洞里添加了一系列物品。我需要使这些项目随机向上移动(+100px)和向下移动(-100px) 我已经为6个项目添加了所有孔: for(var i:uint = 0; i < 6; i++) { holeArr[0].inside.addChild(itemsArr[4][i]); holeArr[1].inside.addChild(itemsArr[5][i]); holeA

所以我创建了类似这样的游戏:

我已经在4个洞里添加了一系列物品。我需要使这些项目随机向上移动(+100px)和向下移动(-100px)

我已经为6个项目添加了所有孔:

    for(var i:uint = 0; i < 6; i++)
        {
        holeArr[0].inside.addChild(itemsArr[4][i]);
        holeArr[1].inside.addChild(itemsArr[5][i]);
        holeArr[2].inside.addChild(itemsArr[6][i]);
        holeArr[3].inside.addChild(itemsArr[7][i]);
        }
for(变量i:uint=0;i<6;i++)
{
Holarr[0]。inside.addChild(itemsArr[4][i]);
Holarr[1]。inside.addChild(itemsArr[5][i]);
Holarr[2]。inside.addChild(itemsArr[6][i]);
Holarr[3]。inside.addChild(itemsArr[7][i]);
}
如何使它们随机向上移动(+100px)和向下移动(-100px)?我开始了,但我不知道下一步该怎么办。。。你能帮帮我吗

function randomSpawn() {
        for(var i:uint = 0; i < 6; i++)
            {
            itemsArr[4][i].x += 100;
            itemsArr[5][i].x += 100;
            itemsArr[6][i].x += 100;
            itemsArr[7][i].x += 100;
            }
}
函数randomSpawn(){
对于(变量i:uint=0;i<6;i++)
{
itemsArr[4][i].x+=100;
[5][i].x+=100;
itemsArr[6][i].x+=100;
itemsArr[7][i].x+=100;
}
}

要随机向上/向下移动项目+-100像素:

var distance = Math.round(Math.random() * 2 - 1) * 100;
mySprite.y += distance;
用Tweenlite为其设置动画

var newPosY = mySprite.y;
newPosY += Math.round(Math.random() * 2 - 1) * 100;
TweenLite.to(mySprite,1,{y:newPosY});
从数组中选择随机项的最简单方法

var index = Math.round(Math.random * (myArray.length - 1));
var myRandomItem = myArray[index];

itemsArr[4][i].x+=100->
itemsArr[4][i].x=起点+距离。。我不想让for循环从0到6,这个奇怪的项目有索引4,5,6和7。。无论如何,这是另一个问题,Pier提供了适当的解决方案-
distance
变量将介于-100和100之间。注意提供一个起点,否则它可能会不断地上下移动(从0开始,+=100=100;+=100=200;+=50=250)。这不是我所需要的。我需要为数组获取1个随机项,并将其向上/向下移动+/-100。我需要让它慢一点,我现在做了一个项目,但它的坐标变化太快了。开始使用Tweener。开始更好地定义问题。皮尔回答了你的特殊问题。就像安德烈说的,如果你需要动画,使用Tweener或TweenLite这样的tween引擎。这一逻辑仍然适用。