XML如何在同一个变量下有两个数字

我有在游戏中使用的XML工作表。在我的unity(C#)游戏中,游戏的怪物可以在预定位置或随机位置生成。


<monster delay="0.2" isRed = "true" position ="random"/>

<monster delay="0.3" isRed = "true" position ="10 20"/>

现在,我读取位置值,如果它是“随机”,则为怪物分配随机位置。


如果不是“随机”,则我解析该值,用空格键将其分开,然后使用从“位置”中获得的两个数字作为怪物的位置。


我觉得自己在做的事情可能真的很丑陋且效率低下,可能有更好的方法来做到这一点,但我不确定。


HUX布斯
浏览 136回答 2
2回答

Qyouu

好像很好&nbsp;可能有很多不同的方法来执行此操作,但是您的执行方式并没有天生就有错。如果您还没有random适当的命令,我可能会告诉您将位置坐标分成posX ="10"和posY ="20",但是由于您已经在寻找非数字命令值,因此将它们组合并解析并没有问题。 。(您可以将它们分开,并具有randomX和Y坐标,从而可以灵活地定义一个坐标,并使另一个坐标随机...)

慕哥6287543

而不是需要的微解析@position分离x和y,我与比尔的蜥蜴同意关于使用不同的属性。我会更进一步,建议您不要@position使用数字和非数字值重载,而是将随机大小写也考虑到其自身的属性中:<monster&nbsp;delay="0.3"&nbsp;isRed="true"&nbsp;startX="10"&nbsp;startY="20"&nbsp;startRandom="false"/>您还可以将默认值设置为@startRandomfalse,因此在提供坐标时将其省略:<monster&nbsp;delay="0.3"&nbsp;isRed="true"&nbsp;startX="10"&nbsp;startY="20"/>或者,您可以定义不存在起始坐标来暗示随机性。然后,您将得到协调的案子,<monster&nbsp;delay="0.3"&nbsp;isRed="true"&nbsp;startX="10"&nbsp;startY="20"/>还有随机的情况<monster&nbsp;delay="0.3"&nbsp;isRed="true"/>最后,为其他颜色怪兽提前计划:<monster&nbsp;delay="0.3"&nbsp;color="red"&nbsp;startX="10"&nbsp;startY="20"/>
打开App,查看更多内容
随时随地看视频慕课网APP