【发布时间】:2015-09-25 18:26:04
【问题描述】:
我在游戏中追求的是当玩家和行星发生碰撞时,玩家会消失,留下粒子系统形式的爆炸效果。就在之后(可能是半秒),我希望“游戏结束”场景出现在它的位置。到目前为止,这是我所拥有的:
void OnCollisionEnter2D (Collision2D col) {
if (col.gameObject.tag == "enemyPlanet") {
Instantiate (explosion, thingToMove.transform.position, thingToMove.transform.rotation);
ui.gameOverActivated ();
Destroy (gameObject);
am.rocketBang.Play();
Application.LoadLevel ("gameOverScene2");
}
}
我遇到的问题是粒子出现但没有像爆炸一样移动。我猜这要么是因为游戏结束场景正在加载,要么是因为它的位置是正在被摧毁的玩家 (thingToMove)。
我试过了:
public void Awake() {
DontDestroyOnLoad (transform.gameObject);
}
但同样的事情也会发生。如果是因为播放器正在被销毁,我该如何让它在播放器被销毁时代替它?
我希望这是有道理的,并在此先感谢。
【问题讨论】:
标签: c# unity3d particle-system unity3d-2dtools