为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
HUX布斯 2021-04-12 16:13:46
我有在游戏中使用的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",但是由于您已经在寻找非数字命令值,因此将它们组合并解析并没有问题。 。(您可以将它们分开,并具有randomX和Y坐标,从而可以灵活地定义一个坐标,并使另一个坐标随机...)


查看完整回答
反对 回复 2021-04-17
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

而不是需要的微解析@position分离xy,我与比尔的蜥蜴同意关于使用不同的属性。我会更进一步,建议您不要@position使用数字和非数字值重载,而是将随机大小写也考虑到其自身的属性中:

<monster delay="0.3" isRed="true" startX="10" startY="20" startRandom="false"/>

您还可以将默认值设置为@startRandomfalse,因此在提供坐标时将其省略:

<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"/>


查看完整回答
反对 回复 2021-04-17
  • 2 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信