绘制矩形多维数组

2023-12-27

我目前正在开发库存系统,但是我在弄清楚应该如何绘制它时遇到问题。

我有一个矩形数组,如下所示:

Rectangle[] Inventoryslots = new Rectangle[24]; // 24 slots

现在我想将插槽绘制为6*4列,宽度为6个插槽,高度为4个插槽。

我像这样绘制它们,直到我弄清楚应该如何在 y 上绘制它们:

for (int i = 0; i < Inventoryslots.Length; i++)
{      
    Inventoryslots[i] = new Rectangle(i * 33, 0, box.Width, box.Height);

    spriteBatch.Draw(box, Inventoryslots[i], Color.White);
}

所以我想以某种方式将 y33 向下移动[i]达到 6 并重置 x 位置。

我确信这很简单,但我就是无法弄清楚,所以任何帮助都会节省我很多时间。


首先创建一个多维数组和常量

const int offset = 100; 
Rectangle[,] Inventoryslots = new Rectangle[6, 4]; 

然后你将使用双重嵌套 for 循环进行初始化

for (int x = 0; x < 6; x++)
{
    for (int y = 0; y < 4; y++)
    {
        Inventoryslots[x, y] = new Rectangle((x * Width) + offset, 
             (y * Height) + offset, Width, Height); 
    }
}

然后你将执行一个双重嵌套 for 循环来迭代它们

for (int x = 0; x < 6; x++)
{
    for (int y = 0; y < 4; y++)
    {
       spritebatch.draw(texture, Inventoryslots[x, y], Color.White); 
    }
}

至少我认为这就是您所要求的,让我知道这是如何运作的。该常量可用于移动整个矩形数组(如果要单独操作 X 和 Y,请使用向量2)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘制矩形多维数组 的相关文章

  • 使用 Json.NET 序列化子类

    我正在尝试使用 Json NET 序列化子类 生成的 json 包含超类的序列化属性 但是not子类对象的属性 这似乎与我发现的一个问题有关这里就这样 https stackoverflow com q 5863496 498969 但必须
  • .crt 部分?这个警告是什么意思?

    我最近收到此警告 VC 2010 warning LNK4210 CRT section exists there may be unhandled static initializers or terminators 我假设这是关键部分
  • 将字符串作为 PChar 从 CSharp 传递到 Delphi DLL

    我正在尝试将字符串从 C 传递到 Delphi 构建的 DLL Delphi DLL 需要 PChar 这是Delphi导出 procedure DLL Message Location PChar AIntValue integer st
  • 平滑手绘曲线

    我有一个允许用户绘制曲线的程序 但这些曲线看起来不太好 它们看起来摇摇欲坠 而且是手绘的 所以我想要一种能够自动平滑它们的算法 我知道平滑过程中存在固有的模糊性 因此它不会每次都完美 但这种算法似乎确实存在于多个绘图包中 并且它们工作得很好
  • 最新 .Net MongoDb.Driver 的连接问题

    我创建了一个 MongoLab 沙箱数据库 我与 MongoChef 连接 效果很好 我通过 Nuget 安装了 MongoDB Driver 2 2 2 我编写了一些简单的 C 演示代码 但就是无法使其工作 连接字符串是直接从 Mongo
  • 使用 C# 将多个音频样本混合到单个文件中

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个能够创建音频文件 mp3 或 wav 的库 NAudio http www codeple
  • 警告 C4800:“int”:强制值为 bool“true”或“false”(性能警告)

    我的代码中有这个问题 bool CBase isNumber return id MID NUMBER bool CBase isVar return id MID VARIABLE bool CBase isSymbol return i
  • 无法加载程序集问题

    我收到以下错误 无法加载程序集 错误详细信息 System BadImageFormatException 无法加载文件或程序集 文件 或其依赖项之一 该程序集是由比当前加载的运行时更新的运行时构建的 无法加载 该程序集是使用 Net Fr
  • Linq 合并列表

    我的课 public class Foo public int A get set public List
  • Visual Studio 中列表框的上移、下移按钮[重复]

    这个问题在这里已经有答案了 我正在尝试制作一个上移按钮和一个下移按钮 以移动 Microsoft Visual Studio 2012 中列表框中的选定项目 我已经在 WDF jquery winforms 和其他一些表单中看到了其他示例
  • 如何减少 MinGW g++ 编译器生成的可执行文件的大小?

    我有一个简单的 Hello world C 程序 在 Win XP 下由 MinGW g 编译器编译为 500kB 可执行文件 有人说这是由于iostream的库和静态链接libstdc dll Using s链接器选项有点帮助 减少了 5
  • 如何从外语线程调用Python函数(C++)

    我正在开发一个程序 使用 DirectShow 来抓取音频数据 媒体文件 DirectShow 使用线程将音频数据传递给回调 我的程序中的函数 然后我让该回调函数调用另一个函数 Python 中的函数 我使用 Boost Python 来包
  • C#:自定义转换为值类型

    是否可以将自定义类转换为值类型 这是一个例子 var x new Foo var y int x Does not compile 是否有可能实现上述情况 我需要超载一些东西吗Foo 您将必须重载强制转换运算符 public class F
  • 如何将System.Windows dll添加到Visual Studio 2010 Express?

    我正在开发一个小型应用程序C and VS2010 as IDE with NET框架4 我想用CaptureSource类以便从笔记本电脑的网络摄像头捕获视频 为此我需要添加一个命名空间System Windows DependencyO
  • 如何从 Access 数据库中读取“是/否”值作为布尔值?

    帮我找回YES NO来自 MS Access 的布尔格式数据类型 我尝试解析它 但它总是返回 false 更新 实际上不是问题抱歉 它确实接受 YES NO 作为布尔值 OleDbconnection dbConnect new OleDb
  • 具有四个 && 的 LINQ Where 子句

    我正在尝试在Where 子句中创建一个带有4 个参数的LINQ 查询 这是一个 Windows 8 应用程序项目 我正在使用 SQLite 数据库 SQLite 实现 https github com praeclarum sqlite n
  • 从对列表创建邻接列表类型结构

    在 C 中 我有 class Pair int val1 int val2 我有一个来自以下来源的配对列表 List
  • 从脚本启用/禁用 GameObject 组件 [Unity3D]

    我需要获取一个脚本中设置的布尔值 放入名为 bouclier 的变量 以启用或禁用游戏对象 该变量位于游戏对象 Player 中 此处右下角 我需要启用或禁用这个游戏对象 Bouclier01 为此 我将脚本附加到游戏对象 Bouclier
  • 如何在c#中创建多线程

    我需要监听机器中的所有串行端口 假设我的机器有 4 个串行端口 我必须创建 4 个线程并开始分别使用附加线程监听每个端口 我使用此代码来获取我的机器中的端口数量 private SerialPort comPort new SerialPo
  • 将一个 IEnumerable 拆分为多个 IEnumerable

    我是 linq 新手 我需要根据指示器将 Couple string text bool Indicator 类型的 IEnumerable 拆分为多个 IEnumerable 我尝试使用skipWhile 和 TakeWhile 但没有找

随机推荐

  • 使用 $lookup mongodb 填充到深层

    我正在使用 lookup 加入两个集合并从以下查询中获取数据 let condition status ne config PROJECT STATUS completed assignId mongoose Types ObjectId
  • 具有最大高度和最大宽度的响应式图像

    我有这个 html 和 CSS div class kalim img src div CSS kalim display inline block kalim img max width 800px width auto max heig
  • Hibernate 和 Jackson 惰性序列化

    我正在开发一个使用 Hibernate 和 Jackson 来序列化我的对象的项目 我想我明白它应该如何工作 但我无法让它发挥作用 如果我理解得很好 一旦关系获取模式设置为LAZY 如果你想要这个关系 你就必须初始化它 这是我的课程 Ent
  • TensorFlow 中 AdamOptimizer 的学习率不会改变

    我想看看训练期间学习率如何变化 打印出来或创建摘要并在张量板上可视化 这是我迄今为止所掌握的代码片段 optimizer tf train AdamOptimizer 1e 3 grads and vars optimizer comput
  • 通过 Composer 安装或复制供应商文件夹

    我想知道 在部署基于 Composer 的项目时 为什么大多数人建议通过 SSH 连接到服务器并安装 Composer 并下载依赖项 如下所示 curl sS https getcomposer org installer php mv c
  • Angular ng-click 在 Bootstrap 下拉菜单中不起作用

    我有一些基于 Bootstrap 3 下拉菜单的过滤器 但由于某些奇怪的原因 它们在实际的下拉菜单中不起作用 但如果我复制粘贴它并将其放在外面 它就可以正常工作 div div class btn group div div
  • 限制相机旋转角度

    我希望能够在某个点之后限制相机旋转 并且只能在某个区域内旋转 这是到目前为止的代码 void Update float mouseX Input GetAxis Mouse X float mouseY Input GetAxis Mous
  • 有没有办法使用 wrk 将参数传递给 GET 请求?

    我需要对以参数作为输入的 REST API 进行基准测试 我想知道是否有办法使用wrk 现在我没有看到这样的选项 user Ubuntu K56CA wrk wrk Usage wrk
  • 如何设置默认使用的 php.ini,OSX Yosemite

    我使用 OSX Yosemite 设置了一个新环境 我正在使用内置的 PHP 我想更改 php ini 中的一些配置 例如 date timezone 但尽管重新启动了 apache 服务器 sudo apachectl restart 但
  • 逐字字符串文字 v 转义序列

    C 编译器或 NET 运行时处理逐字字符串文本与使用转义序列 即性能 的方式有什么区别 还是只是设计时风格的问题 例如 var pathA c somewhere var pathB c somewhere 我想它们的编译方式是相同的 这并
  • 什么是未定义的引用/未解析的外部符号错误以及如何在 Fortran 中修复它?

    我正在尝试构建 Fortran 程序 但收到有关未定义引用或未解析的外部符号的错误 我见过另一个问题 https stackoverflow com q 12573816关于这些错误 但答案大多是针对 C 的 使用 Fortran 编写时出
  • 由于“只读文件系统”,Google Kubernetes Engine (GKE) 集群“创建挂载源路径时出错”

    我有一个具有以下配置的容器 spec template spec restartPolicy OnFailure volumes name local src hostPath path src analysis src type Dire
  • 如何强制协调员行动以特定频率实现?

    我想知道是否有可能 如何强制协调员定期具体化或实例化工作流程 即使先前实例化的工作流程尚未完成 让我解释 我有一个简单的协调员 如下所示
  • 如何在C#中实现单例?

    如何在 C 中实现单例模式 我想将常量和一些基本函数放入其中 因为我在项目中到处都使用它们 我想让它们 全局 而不需要手动绑定它们我创建的每个对象 如果您只是存储一些全局值并且有一些不需要状态的方法 则不需要单例 只需将类及其属性 方法设为
  • 符号可见性、异常、运行时错误

    我尝试更好地理解符号可见性 海湾合作委员会维基百科 http gcc gnu org wiki Visibility http gcc gnu org wiki Visibility 有一个关于 C 异常问题 的部分 根据 GCC Wiki
  • 创建一个 N 维数组,其中 N 在运行时确定 (C++)

    我正在将 N 维图像立方体编码为不同的图像格式 我直到运行时才知道图像的尺寸 并且我用来读取原始图像的库需要一个 N 维数组目标缓冲区作为参数 如何在 C 中声明这样的数组 谢谢 简而言之 您不能在 C 中声明这样的数组 数组的维数是类型的
  • IDisposable 实现 - “if(处置)”中应该包含什么内容

    我一直在修复 winforms 应用程序中的一些内存泄漏问题 并注意到一些未明确处理的一次性对象 开发人员尚未调用 Dispose 方法 Finalize 方法的实现也没有帮助 因为它没有进入if disposing 条款 所有的静态事件注
  • 每当 gem 不更新 crontab 任务时

    我一直在 Slicehost 上我 2 岁以上的切片上使用每当宝石 然而我不能在我的新切片上做同样的事情 主要区别在于我现在在 MBP 和切片上运行 RVM 我还运行 Rails 3 我有 Rubygems v 1 5 0 和最新版本的 R
  • 如何检测 iPhone 中的震动方向

    我有一个瓶子的图像 每当用户摇动设备时 我想将该图像朝那个方向移动 例如上 下 左或右 例如 如果用户向左摇动设备 我想向左移动该图像 我可以使用检测震动事件 void motionEnded UIEventSubtype motion w
  • 绘制矩形多维数组

    我目前正在开发库存系统 但是我在弄清楚应该如何绘制它时遇到问题 我有一个矩形数组 如下所示 Rectangle Inventoryslots new Rectangle 24 24 slots 现在我想将插槽绘制为6 4列 宽度为6个插槽