我正在制作一个简单的游戏来学习Unity2D和C#,在这里您必须捕捉从天上掉下来的球。每个球被困在篮筐中时会发出不同的声音,并以不同的方式影响得分。
有3种类型的球:
在Unity2D中按播放时,所有这些都可以正常工作。声音以正确的球类型播放,并且乐谱正在按预期更新。
但是在Android设备上构建并运行时,会发生以下情况:
下面是我的代码示例。
IEnumerator Spawn()
{
Instantiate(GetBall(), spawnPosition, spawnRotation);
}
GameObject GetBall()
{
float randomBallChance = Random.Range(1, 101);
if (randomBallChance <= 60)
{
return normalBall;
}
else
{
return (if (randomBallChance <= 70) ? specialBall : dirtyBall);
}
}
void OnCollisionEnter2D(Collision2D collision)
{
switch (collision.gameObject.tag)
{
case "normalBall":
{
score += scoreValue;
normalSound.Play();
break;
}
case "dirtyBall":
{
score -= (scoreValue * 2);
dirtySound.Play();
break;
}
case "specialBall ":
{
score += 5;
specialSound.Play();
break;
}
}
}
我无法终生弄清楚为什么在Unity上玩但在Android上玩时一切正常。
答案 0 :(得分:0)
在更改了我可能想到的所有内容两天后,答案是卸载应用程序。
该应用的先前安装只有1个球,而不是3个球。由于某些原因,在添加2个新球并使用“文件”>“构建并运行”而不是将其删除并重新安装后,似乎在升级时出现了问题。新版本。
步骤: