Unity C# 拖拽游戏匹配对象

我在开发一款教育类游戏,让用户选择单词。目的是通过分别拖拽每个单词,然后放在给定区域,把单词排序组成句子。我已经准备好了拖放单词的目标区域,但是我不不知道怎样判定用户拖拽的单词是否在句子中的正确位置。
我想或许我可以给每个单词一个ID/Tag,再给每个区域相关ID/Tag。当这两者相遇,我就比较一下两个ID,如果匹配,那就认为拖放正确。
先谢谢大家!

原问题:Unity C# - Matching objects in a drag and drop game

阅读 4.2k
1 个回答

来自@Roberto 的回答:

你的想法不错,但我不知道是否可行,如果有非常多的单词你该怎么执行这个呢?
我建议你这样:做一个预制,由2个对撞机组成(以及他们各自的游戏对象),以及脚本。
一个对撞机为单词,另一个为正确的位置。脚本将从某处读取(XML资源,编辑器中的字段等等),应用于字的初始位置,以及“正确位置”对撞机的位置。脚本还会读取其他信息(例如实际的单词),使这些对象适配。
这样你就可以简单的拖拽“单词预制”到场景,然后单独配置它们。
此外,在场景里可以有一个外部脚本,代表“level”(如果那个概念适用于你的游戏),而不是拖拽预制。这里的想法是这个脚本可以在运行时为“level”加预制。甚至可以为预制脚本传递所有的数据来配置对象,就像我之前说的。
最重要的区别是:在这种方法里,你不需要担心ID,它们同属于一个父游戏对象,所以你可以轻松地从脚本中获取想要的对象。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Stack Overflow 翻译
子站问答
访问
宣传栏