0
嗨,我正在创建一个2D无尽的亚军。 背景有2个动画 - 滚动和stopScroll 当人物碰撞和死我想要做以下玩家死亡动画完成后停止背景滚动
- 使死亡动画 - 这是发生
- 停止计时器 - 如果我这样做,所有动画停止
- 停止背景滚动 - 这种情况正在发生,尽管它在死亡动画完成之前发生并且它跳回到第一帧。我想让背景停止相对于角色死亡的地方。
- 摧毁角色 - 这种情况正在发生,但在动画完成之前。 我想我需要使用协程,但不知道如何?
请帮忙!
这是我更新的代码的建议
void OnCollisionEnter2D(Collision2D other)
{
if (other.gameObject.name == "Obstacle(Clone)")
{
StartCoroutine (DoMyThings(other.gameObject, this.gameObject, false));
}
}
IEnumerator DoMyThings(GameObject obstacle, GameObject player, bool ninjaObjBool)
{
ninjaObj = ninjaObjBool;
Destroy (obstacle);
animator.SetBool("dead", true);
yield return new WaitForSeconds(1.2f);
Destroy (player);
Time.timeScale=0;
//timerIsStopped = true;
yield break;
}
背景动画 我重复BG精灵和侧对准他们一边。 RHS精灵是层次结构中LHS精灵的孩子。然后我点击LHS bg sprite - > windows-> Animation。 使用添加曲线来转换X轴上的bg以使其无限移动。
这是伟大的,最后我明白了Coroutine,它帮助我完成(1,2和4)。但是我的背景仍然没有停顿在我想要的地方。我想我需要查找实现无限滚动背景的最佳方法。不管怎么说,多谢拉。我将添加有关如何为背景添加动画的细节。 – chintan 2015-02-12 12:52:53
实际上,我删除了背景上的脚本,并通过timeScale停止了时间,现在BG工作得很好。再次感谢。我将更新我的代码,如果您可以查看一次,它会非常友好。 – chintan 2015-02-12 13:08:40
欢迎。当然,我会,只要我得到空闲时间:) – 2015-02-12 13:47:16