在cocos2dx中为障碍物分配随机坐标

时间:2014-07-11 23:30:33

标签: c++ ios random cocos2d-x cocos2d-x-2.x

我正在尝试创建一组随机放置的障碍物。为此,我需要绘制一个随机x变量和一个随机y变量的实例,然后将其位置设置为该x和该y变量。要选择变量,我使用以下代码:

srand(time(0));

int i = rand()%4;
int j = rand()%3;

float x = .125+i*.25;
float y = .167+j*.33;

乍一看它可能看起来很时髦,但它会创建x作为我想要的四个数字之一,而y作为我想要的三个数字之一。我运行了这段代码,当我调试它时,在Xcode中,它告诉我x等于NaN,y也等于NaN。我知道这意味着Not-A-Number,但我不确定为什么会这样,因为我在命令行工具应用程序中测试了它,如下所示:

srand(time(0));
for (int n = 0; n<10; n++) {
    int i = rand()%4;
    int j = rand()%3;

    float x = .125+i*.25;
    float y = .167+j*.33;

    cout << x << "," << y << endl;
}

这给了我完全符合我的预期,一组随机坐标:

    0.625,0.497
    0.125,0.497
    0.875,0.827
    0.375,0.497
    0.875,0.167
    0.625,0.497
    0.875,0.827
    0.875,0.827
    0.125,0.167
    0.625,0.827

这是为什么?我在命令行工具中使用此代码来测试它,看到它有效,然后尝试将其用于游戏上下文,调试器返回NaN。我在命令行游戏中缺少什么?

0 个答案:

没有答案