绘制矩形多维数组

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(使用前将#替换为@)

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

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 使用 $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个插槽