我有在游戏中使用的XML工作表。在我的unity(C#)游戏中,游戏的怪物可以在预定位置或随机位置生成。<monster delay="0.2" isRed = "true" position ="random"/><monster delay="0.3" isRed = "true" position ="10 20"/>现在,我读取位置值,如果它是“随机”,则为怪物分配随机位置。如果不是“随机”,则我解析该值,用空格键将其分开,然后使用从“位置”中获得的两个数字作为怪物的位置。我觉得自己在做的事情可能真的很丑陋且效率低下,可能有更好的方法来做到这一点,但我不确定。
2 回答
Qyouu
TA贡献1786条经验 获得超11个赞
好像很好 可能有很多不同的方法来执行此操作,但是您的执行方式并没有天生就有错。如果您还没有random
适当的命令,我可能会告诉您将位置坐标分成posX ="10"
和posY ="20"
,但是由于您已经在寻找非数字命令值,因此将它们组合并解析并没有问题。 。(您可以将它们分开,并具有random
X和Y坐标,从而可以灵活地定义一个坐标,并使另一个坐标随机...)
慕哥6287543
TA贡献1831条经验 获得超10个赞
而不是需要的微解析@position
分离x
和y
,我与比尔的蜥蜴同意关于使用不同的属性。我会更进一步,建议您不要@position
使用数字和非数字值重载,而是将随机大小写也考虑到其自身的属性中:
<monster delay="0.3" isRed="true" startX="10" startY="20" startRandom="false"/>
您还可以将默认值设置为@startRandom
false,因此在提供坐标时将其省略:
<monster delay="0.3" isRed="true" startX="10" startY="20"/>
或者,您可以定义不存在起始坐标来暗示随机性。然后,您将得到协调的案子,
<monster delay="0.3" isRed="true" startX="10" startY="20"/>
还有随机的情况
<monster delay="0.3" isRed="true"/>
最后,为其他颜色怪兽提前计划:
<monster delay="0.3" color="red" startX="10" startY="20"/>
- 2 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消