2012-03-30 63 views
4

我正在開發一個教育遊戲,我給用戶一個選擇的單詞。我們的目標是把這些單詞放在一個句子中,通過單獨拖動每個單詞並將它們按順序排列在提供的區域上。我有一架飛機準備好將每個單詞拖動到上面,但我不確定如何確定用戶是否將他們的單詞拖到句子中的正確位置。在拖放遊戲中匹配對象

我想也許我可以給每個單詞一個ID /標籤,以及每個平面的相關ID /標籤。當兩人碰撞時,我可以比較兩個ID,如果它們匹配,則認爲它是成功的放置。

我想知道是否有其他人有更好的解決方案,因爲我不知道最好的方法去做這件事嗎?

+0

你能提供更多信息嗎?單詞的放置與飛機上的固定位置有關嗎?它們不應該是相互關聯而不是在飛機上的位置(鏈接單詞或像拼圖遊戲中的單詞)? – Roberto 2012-03-31 00:44:27

回答

1

你的想法很好,我不明白爲什麼不。根據你如何實現這個,如果你有很多單詞,你可以做很多工作,對吧?

我建議你這樣做:製作一個由2個對撞機(及其各自的GameObjects)和一個腳本組成的預製件。一個對話框和一個正確位置的着色器。腳本會從某處讀取(資源xml,編輯器中的字段等),並將該單詞的初始位置和「正確位置」對撞機的位置應用。該腳本還將讀取其他信息(如實際的單詞)並對這些對象進行所有配置。

通過這種方式,您可以輕鬆地將'單詞預製件'拖到您的場景中並單獨配置它們。

此外,您可以在場景中使用外部腳本來代替「水平」(如果該概念適用於您的遊戲......),而不是拖動此預製。這裏的想法是,這個腳本可以在運行時加載這個'級別'的預製件。它甚至可以傳遞預製腳本的所有數據來配置對象,就像我之前所說的那樣。

我忘了說最重要的區別:在這種方法中,你不必擔心ID的問題。它們屬於同一個GameObject父級,因此您可以輕鬆地在腳本中檢索想要的對象。

+0

感謝您的回答。如果我明白了,我需要用2個對撞機和一個腳本創建一個預製。我已經完成的任務是創建5個GameObjects(5個立方體,每個單詞附加一個單詞......所以不是隨機的),爲它們添加一個拖放腳本和5個白色平面(用於放置)。他們都有一個剛體,所以一個對撞機。現在,你說我應該創建一個帶有2個對撞機的預製件。你的意思是我應該在我的預製件中包含這10個對象嗎? – caubry 2012-03-31 10:11:15

+0

而且因爲拖放腳本已經連接到我的立方體,並且不需要擔心這個級別。 如何在沒有任何標籤或ID的情況下調用每個單獨的對象? 謝謝。 – caubry 2012-03-31 10:11:40

+0

嗨。我的想法是創建一個預製件,用一個正確的位置表示一個單詞,也就是說,一個單詞帶有單詞和一個帶有「正確位置」(平面)的遊戲對象,所以需要2個遊戲對象以及一個控制腳本那2個遊戲對象和另外一個是他們父母(預製遊戲對象)的遊戲對象。由於它們屬於同一個遊戲對象父項(預製遊戲對象),因此它們可以很容易地找到對方(GetChild(),GetComponent()...),因此不需要ID。這是一個更單一的模塊化方法,可以幫助你建立很多層次。 – Roberto 2012-03-31 11:00:23