4

私はユーザーに単語の選択を与える教育ゲームを開発しています。目的は、これらの単語を取得し、各単語を個別にドラッグして、指定された領域に順番に配置することにより、それらを文に配置することです。各単語をドラッグする準備ができている平面がありますが、ユーザーが単語を文内の正しい位置にドラッグしたかどうかを判断する方法がわかりません。

単語ごとにID/タグを付けたり、飛行機ごとにID/タグを付けたりできるのではないかと思いました。2つが衝突したとき、2つのIDを比較でき、それらが一致する場合は、配置が成功したと見なします。

私はこれを行うための最良の方法がわからないので、他の誰かがより良い解決策を持っているかどうか疑問に思っていますか?

4

1 に答える 1

1

あなたの考えは良いです、なぜそうしないのか分かりません。これをどのように実装するかにもよりますが、単語が多ければ多くの作業を行うことができますよね?

これをお勧めします。2つのコライダー(およびそれぞれのGameObject)と1つのスクリプトで構成されるプレハブを作成します。単語用の1つのコライダーと正しい位置の1つのコライダー。スクリプトはどこか(リソースxml、エディターのフィールドなど)から読み取り、単語の初期位置と「正しい位置」コライダーの位置を適用します。このスクリプトは、他の情報(実際の単語など)も読み取り、これらのオブジェクトのすべての構成を作成します。

このようにして、「単語プレハブ」をシーンに簡単にドラッグして、個別に構成できます。

さらに、このプレハブをドラッグする代わりに、その「レベル」を表す外部スクリプトをシーンに含めることができます(その概念がゲームに適用される場合...)。ここでの考え方は、このスクリプトが実行時にその「レベル」のプレハブをロードできるということです。前に述べたように、オブジェクトを構成するためのプレハブスクリプトのすべてのデータを渡すこともできます。

最も重要な違いを言うのを忘れました。この方法では、IDについて心配する必要はありません。それらは同じGameObject親に属しているため、スクリプトで必要なオブジェクトを簡単に取得できます。

于 2012-03-30T23:37:44.543 に答える