我有一个3D无限亚军赛车类型的游戏,其中玩家是静止的和背景移动。在我的游戏中,我想随时随机产生硬币,并且硬币必须在玩家之前产生很多,并且硬币的z轴减小,保持y轴恒定,x轴值在-2和-2的随机范围内。来自“简明英汉词典”这些硬币产卵正确,但它们是以不规则的方式产生的。我在我的场景中创建了四个硬币游戏对象,我想直接产生4个硬币,因为玩家可以很容易地收集硬币,因为他们直接进入玩家。玩家的动作只在x轴上从-2到2.现在我的问题是硬币不规则地产生,因为玩家不能容易地收集硬币。这是我的代码:在无限亚军3D游戏中随机产生硬币
function Update()
{
MoveCoin();
}
function MoveCoin()
{
ReleaseCoin();
//CoinsOnRoad is an array containing the current coins which are on the road
//CoinPool is the array of coins
for(var i:int =0;i<CoinsOnRoad.length;i++)
{
var gcoin:GameObject = CoinsOnRoad[i] as GameObject;
gcoin.transform.position.z-=3*speed*Time.deltaTime;
if(gcoin.transform.position.z>=-10)
{
//Do nothing if the coin is on the visible area of the road. If it becomes invisible
//remove the coins from CoinsOnRoad Array and insert the coin back to the CoinPool Array
}
else
{
CoinPool.push(gcoin);
CoinsOnRoad.remove(gcoin);
}
}
}
function ReleaseCoin()
{
if(CoinPool.length==0)
{
}
else
{
var coin:GameObject=CoinPool.shift() as GameObject;
CoinsOnRoad.push(Instantiate(coin,new Vector3(Random.Range(-2.0,2.0),0.3,30+Random.Range(1,10)),Quaternion .identity));
}
}
硬币产卵正确,但不规则的顺序。有人可以帮我吗?先谢谢了。因为我刚刚接触团结,我不知道我的游戏逻辑是否正确。如果我错了代码中的某处,有人可以用代码纠正我。
尝试没有的DeltaTime乘法 – LearnCocos2D 2014-10-31 08:10:29
@ LearnCocos2D它亘古不变的工作.. – njnjnj 2014-10-31 08:16:51