首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >游戏引擎错误IndexOutOfRangeException

游戏引擎错误IndexOutOfRangeException
EN

Stack Overflow用户
提问于 2015-12-04 15:19:44
回答 2查看 39关注 0票数 0

当我试图制作一个游戏引擎时,我的级别类(用于级别创建的类)出现了一个错误。

Level.cs

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _2dgame
{
    class Level
    {

        public const int LEVEL_WIDTH = 12;
        public const int LEVEL_HEIGHT = 8;


        private static TextureID[,] blocks = new TextureID[LEVEL_WIDTH, LEVEL_HEIGHT];

        public static TextureID[,] Blocks
        {
            get { return blocks; }
            set { blocks = value; }
        }

        public static void initLevel()
        {
            for (int x = 0; x < LEVEL_WIDTH; x++)
            {
                for(int y = 0; x < LEVEL_HEIGHT; y++)
                {
                    if (y >= 12)
                    {
                        blocks[x, y] = TextureID.dirt; //ERROR
                    }
                    else
                    {
                        blocks[x, y] = TextureID.air;
                    }
                }
            }
        }
    }
}

错误:

System.IndexOutOfRangeException类型的未处理异常发生在2dgame.exe中

EN

回答 2

Stack Overflow用户

发布于 2015-12-04 15:23:44

Y检查的for循环是错误的:

代码语言:javascript
复制
for(int y = 0; x < LEVEL_HEIGHT; y++)

应:

代码语言:javascript
复制
for(int y = 0; y < LEVEL_HEIGHT; y++)
票数 2
EN

Stack Overflow用户

发布于 2015-12-04 15:23:48

您的内部(y)循环中有一个错误。

代码语言:javascript
复制
for(int y = 0; x < LEVEL_HEIGHT; y++)

应:

代码语言:javascript
复制
for(int y = 0; y < LEVEL_HEIGHT; y++)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34091594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档