首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储100个矢量XNA

存储100个矢量XNA
EN

Stack Overflow用户
提问于 2013-04-14 23:31:01
回答 2查看 109关注 0票数 1

我正在制作一个2D自上而下的生存游戏,最高级别的精灵计数是100个精灵。当我用随机的方法来产生它们的矢量位置时,我会得到它们之间的一些重叠。

为了解决这个问题,我要储存一些预先定义好的位置。

问题

所以,我的问题是,什么是最好的方式储存这些。最初我打算将它们存储在一个数组中,但是我认为将它们存储在文本文件中并在游戏开始时读取它们将是一个更好的解决方案。

我是个初学者,如果有人能在这方面提供任何建议,我将不胜感激。

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-14 23:58:27

是的,将它们存储在CSV (逗号分隔值)文本文件中,或者如果需要,使用数据库,尽管我会推荐前者。在您的情况下,数据库存储听起来有点过分。启动时,您将将这些值加载到数组中。如果你不这样做,每次它得到一个值时,游戏就会滞后。您只需要用于持久存储的文本文件,然后需要用于使用的数组。

希望这能帮你解决你的问题!

票数 3
EN

Stack Overflow用户

发布于 2013-04-21 13:41:37

你为什么不直接检查一下精灵的位置是否重叠?如果精灵不经常重叠,这不应该增加太多的计算和更多的随机性,然后是一个固定的位置模板。

对于带有sprite的实体,您在类中所做的是添加一个公共矩形,您可能已经使用了一个矩形将它们绘制到屏幕上。公开允许您在生成实体的类中执行类似的操作。

代码语言:javascript
复制
if (addSprite)
{
Entity newEntity = new Entity(random position);
foreach (Entity e in entityList)
{
if (newEntity.rectangle(Intersects(newEntity.rectangle))
{
//give a new position to newEntity and run this loop again
}
else
{
entityList.add(newEntity);
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16005568

复制
相关文章

相似问题

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