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