12.4.3 Random辅助类

为了生成随机数和地形上的随机位置——用来随机地放置敌人—你需要在Helpers命名空间中创建一个RandomHelper类。RandomHelper类和之中所有属性和方法都是静态的。

在RandomHelper类中,声明一个类型为Random的公有变量,命名为RandomGenerator。 RandomGenerator作为随机生成器。接下来,要生成地形上的随机位置—在XZ平面上—创建一个叫做GeneratePositionXZ方法。在GeneratePositionXZ方法中,你需要根据distance参量生成一个X和Z轴上的随机数。要生成随机数,需要使用Random类的Next方法。Next方法生成一个小于传入参数的正随机数。因为地形中心在(0,0,0),所以GeneratePositionXZ方法需要生成正和负的值才能覆盖全部地形,这可以通过将生成的随机数减去最大值的一半实现。下面是RandomHelper类的完整代码:

public static class RandomHelper
{
    public static Random RandomGenerator = new Random(); 
    public static Vector3 GeneratePositionXZ(int distance) 
    {
        float posX = (RandomGenerator.Next(distance * 201)- distance * 100) * 0.01f; 
        float posZ = (RandomGenerator.Next(distance * 201)- distance * 100) * 0.01f; 
        return new Vector3(posX, 0, posZ); 
    }
} 

发布时间:2009/5/31 下午4:19:46  阅读次数:4375

2006 - 2024,推荐分辨率 1024*768 以上,推荐浏览器 Chrome、Edge 等现代浏览器,截止 2021 年 12 月 5 日的访问次数:1872 万 9823 站长邮箱

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号