私は単純なツリーベースの対話システムに取り組んでいます。ストーリーを進めるためにクリックの基本的なゲーム、選択するための別の選択肢、別のストーリーのパスに主役のプレーヤー。効率的なツリーベースの対話システム?
私がしたことは、Convoというゲームオブジェクトの過多を作成することでした。各ConvoにはText(Component)とChildrenがあり、どのキャラクターが画面上にあるかを判別し、その子供の中のタグを使ってその旋律を表示します(悲しい喜びなど)。 例
- A-0-1(テキスト: "ジョン:?ねえ、何が起こっている")(タグと "選択" それが最後の会話の場合)タグと
- ジョン(「アイドルイライラ "「タグ付き)
- ジェーン(")
CurrentDialogue(string)とDialogueTracking(int)の2つの変数があります。
クリックごとに、現在のconvoにタグ "Choice"があるかどうかを確認します。存在しない場合は、CurrentDialogue(文字列)を使用して、正確な名前のgameobjectを見つけてテキストを表示します。 DialogueTrackingを1つ増やし、
そして、DialogueTrackingを使用してCurrentDialogue(文字列)をA-0-1からA-0-2に変更しました。また、タグ "choice"(例A-0-4 )、DialogueTracking(int)は1にリセットされるので、プレイヤーが選択肢を選択した後、A-1-5の代わりにA-1-1です。
ここに問題があります。多くのコンボと多くのストーリーパスの後、私は初心者の間違いを認識します。コードが大きく変わった場合(どの選択がどのパスになるかを比較)
私はプログラミングと統合には全く新しいです。どのようにこのシステムをクリーンで効率的なものにするために、それは本当に素晴らしいでしょう!
ありがとうございました!
多分インターフェースを使用して、それを構造化? https://unity3d.com/learn/tutorials/topics/scripting/interfaces – Absinthe