📜  如何在统一 2d 屏幕周围随机生成硬币 - C# (1)

📅  最后修改于: 2023-12-03 15:38:41.634000             🧑  作者: Mango

如何在统一 2d 屏幕周围随机生成硬币 - C#

在 2D 游戏中,随机生成道具是非常常见的需求。本篇文章将介绍如何在 Unity 中使用 C# 代码,在屏幕周围随机生成硬币。

实现步骤
1. 创建硬币预制体

首先,我们需要创建硬币的预制体。可以在 Unity 的层次视图里右键选择 Create Empty 创建一个空对象,然后给它添加一个 SpriteRenderer 组件。接着,使用任意图片作为硬币的纹理即可。

2. 编写生成硬币的代码

接下来,我们需要编写一个脚本,让它在屏幕周围随机生成硬币。代码如下所示:

public class CoinGenerator : MonoBehaviour 
{
    public GameObject coinPrefab;   // 硬币预制体
    public int numCoins;            // 要生成的硬币数量

    void Start() 
    {
        for (int i = 0; i < numCoins; i++) 
        {
            // 随机生成硬币位置
            float x = Random.Range(0f, 1f);
            float y = Random.Range(0f, 1f);
            Vector3 pos = Camera.main.ViewportToWorldPoint(new Vector3(x, y, 0f));
            pos.z = 0f;

            // 在生成位置实例化硬币
            Instantiate(coinPrefab, pos, Quaternion.identity);
        }
    }
}

在这个脚本中,我们声明了两个公有变量:硬币预制体和要生成的硬币数量。在 Start 函数中,我们使用一个循环来生成指定数量的硬币。在每次循环中,我们通过 Random.Range 函数随机生成形如 (x, y) 的二维坐标,并使用 Camera.main.ViewportToWorldPoint 函数将其转换为世界坐标,最后在该位置实例化硬币。

3. 将脚本添加到场景中

现在,我们需要将脚本添加至场景中。在 Unity 的层次视图里右键选择 Create Empty,创建一个空对象,然后将 CoinGenerator 脚本挂载到该对象上。接着,将硬币预制体拖拽到 CoinGenerator 脚本的 coinPrefab 变量中,并设置要生成的硬币数量。然后运行游戏,即可在屏幕周围随机生成硬币。

结论

本篇文章介绍了如何在 Unity 中使用 C# 代码,在屏幕周围随机生成硬币。希望可以帮助读者更好地理解如何使用 Unity 和 C# 实现随机生成道具的功能。