小编Rob*_*eck的帖子

为什么看起来操作没有按照代码的顺序执行?

这是一些背景知识.我正在开发类似"崩溃"的游戏.积木填满了底部,当所有十二个区块都被填满后,他们会向上推进到比赛场地.我有一个名为(intNextSpawn)的计数器,它不仅告诉何时"推高"下一行,还计算图形的向量.当块被推高时,它重置为0.

我在屏幕上添加了一些调试文本,试着看看发生了什么,但我似乎无法找到问题所在.看起来它似乎仍在增加计数器,同时试图随机化应该出现的块(事情不按顺序行事).我最终获得了"空白"块,并且在测试时会产生一些非常棘手的效果.当提升速度时,它会变得更糟.

我愿意发布任何可能有用的其他代码.以下是可能发生这种情况的两个主要方块.有没有什么我可能做错了或者有一种方法可以防止这种情况发生(如果这是它正在做的事情)?

任何帮助将不胜感激.

编辑...第一个代码块位于"更新"方法中

// Calculate time between spawning bricks
float spawnTick = fltSpawnSpeed * fltSpawnSpeedModifier;

fltSpawn += elapsed;

if (fltSpawn > spawnTick)
{
    // Fetch a new random block.
    poNextLayer[intNextSpawn] = RandomSpawn();
    // Increment counter
    intNextSpawn++;

    // Max index reached
    if (intNextSpawn == 12)
    {
        // Push the line up. Returns true if lines go over the top.
        if (PushLine())
        {
            gmStateNew = GameState.GameOver;
            gmStateOld = GameState.Playing;
        }

        // Game still in play.
        else
        {
            // Reset spawn …
Run Code Online (Sandbox Code Playgroud)

c# xna

15
推荐指数
1
解决办法
728
查看次数

标签 统计

c# ×1

xna ×1