我在开发一款教育类游戏,让用户选择单词。目的是通过分别拖拽每个单词,然后放在给定区域,把单词排序组成句子。我已经准备好了拖放单词的目标区域,但是我不不知道怎样判定用户拖拽的单词是否在句子中的正确位置。
我想或许我可以给每个单词一个ID/Tag,再给每个区域相关ID/Tag。当这两者相遇,我就比较一下两个ID,如果匹配,那就认为拖放正确。
先谢谢大家!
我在开发一款教育类游戏,让用户选择单词。目的是通过分别拖拽每个单词,然后放在给定区域,把单词排序组成句子。我已经准备好了拖放单词的目标区域,但是我不不知道怎样判定用户拖拽的单词是否在句子中的正确位置。
我想或许我可以给每个单词一个ID/Tag,再给每个区域相关ID/Tag。当这两者相遇,我就比较一下两个ID,如果匹配,那就认为拖放正确。
先谢谢大家!
来自@Roberto 的回答:
你的想法不错,但我不知道是否可行,如果有非常多的单词你该怎么执行这个呢?
我建议你这样:做一个预制,由2个对撞机组成(以及他们各自的游戏对象),以及脚本。
一个对撞机为单词,另一个为正确的位置。脚本将从某处读取(XML资源,编辑器中的字段等等),应用于字的初始位置,以及“正确位置”对撞机的位置。脚本还会读取其他信息(例如实际的单词),使这些对象适配。
这样你就可以简单的拖拽“单词预制”到场景,然后单独配置它们。
此外,在场景里可以有一个外部脚本,代表“level”(如果那个概念适用于你的游戏),而不是拖拽预制。这里的想法是这个脚本可以在运行时为“level”加预制。甚至可以为预制脚本传递所有的数据来配置对象,就像我之前说的。
最重要的区别是:在这种方法里,你不需要担心ID,它们同属于一个父游戏对象,所以你可以轻松地从脚本中获取想要的对象。