0

我正在尝试统一制作游戏,并且我是统一和编码的新手,并且我已经开始制作游戏,我已经取得了一些进展,但是我无法在 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); 
        } 
    } 
} 

现在,我需要将它过渡到覆盖覆盖的游戏,它要求我重新启动,是或否。

4

1 回答 1

0

关于有效学习 Unity3D 的资源在那里。

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

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

不过,关于您的直接问题,请考虑为您的游戏制定逻辑。

您将需要允许您的玩家游戏对象通过施加在刚体上的重力或应用于游戏对象的硬编码物理而下落。接下来,您需要确定玩家游戏对象是否与“地板”发生碰撞。如果是这样,您将需要触发一个事件来销毁玩家游戏对象,然后显示一个显示游戏结束的 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. 当您的玩家与地面碰撞时,您将销毁玩家游戏对象并将您创建的面板设置为活动状态。(您可以通过代码中的侦听器或检查器中的按钮组件触发这些操作)。
于 2015-12-28T01:56:13.137 回答