球员在击球时死亡

时间:2015-12-28 01:37:23

标签: unity3d unity5 unity3d-5

我正在努力制作一个团结的游戏,我是团结和编码的新手,我已经开始制作游戏,我已经取得了一些进展,但我很难在youtube上找到我的一些答案团结论坛,有时当我这样做时,我仍然无法让事情发挥作用。所以这就是我想要做的事情。

我有一张地图,玩家位于塔顶,我希望玩家摔倒,当他撞到地面时,死于显示游戏结束,我该怎么做才能实现这个目标?什么剧本?

所以我现在有了这个,

// Ground.cs: Kills players that touch this.collider. 
using UnityEngine; 

// Attach this to the grass collider 

public class Ground : MonoBehaviour { 
// Called when another collider hits the grass. 
// This is part of Unity! 

    void OnCollisionEnter(Collision c) { 
    // Does the other collider have the tag "Player"? 
        if (c.gameObject.tag == "Player") { 
            // Yes it does. Destroy the entire gameObject. 
            Destroy(c.gameObject); 
        } 
    } 
} 

现在,我需要通过叠加转换到游戏,这会要求我重新启动,是或否。

1 个答案:

答案 0 :(得分:1)

有关学习Unity3D的资源非常有效。

查看Unity3D教程:https://unity3d.com/learn/tutorials

这些教程通常在不使用弃用代码方面保持最新。此外,一些教程将教您如何设置所需的事件。

关于你当前的问题,请考虑为你的游戏构建逻辑。

你需要允许你的玩家游戏对象通过在刚体上施加的重力或者应用于游戏对象的硬编码物理来降低。接下来,您需要确定玩家游戏对象是否与" floor#34;相撞。如果是这样,您将需要触发一个事件来销毁玩家游戏对象,然后显示一个说明Game Over的GUI文本。

在教程中查看更多内容并更好地了解Unity。随着时间的推移,您将学习如何使事情发生。如果您有更多问题,请随时提出。

回答你更新:

如果您的代码运行正常并且您正确地销毁了游戏对象,那就太棒了!你快速学习!

下一步可能是:

  1. 创建一个画布,创建一个gui面板,创建一个gui文本
  2. 那个gui文本对象可以有你的Game Over Text
  3. 现在,创建一个按钮,将其用作重启按钮
  4. 您可以让按钮调用一个利用SceneManager.LoadScene重新加载场景的功能。在这里查看示例:http://answers.unity3d.com/questions/1109497/unity-53-how-to-load-current-level.html
  5. 接下来,禁用面板,因为在播放器耗尽之前您不需要它。
  6. 当您的玩家与地面发生碰撞时,您将销毁玩家游戏对象并将您创建的面板设置为活动状态。 (您可以通过代码中的侦听器或通过检查器中的按钮组件触发这些操作。)