質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%

Q&A

解決済

1回答

1745閲覧

UnityでFungusを使い会話シーンを作りたい。

simekirioware

総合スコア4

0グッド

0クリップ

投稿2021/11/08 19:43

前提・実現したいこと

色々なサイトを参考にunityで2DRPGを作っているプログラミング初心者です
その中でFungusというアセットを使って会話のシーンを作ろうとしているのですが
サンプルコードをコピペしたスクリプトにエラーが出てしまいます
ここ2日ほど悩んでいます

発生している問題・エラーメッセージ

Assets\Scenes\map\NPCController.cs(16,21): error CS0103: The name 'Gameobject' does not exist in the current context Assets\Scenes\map\NPCController.cs(17,9): error CS0103: The name 'flowChart' does not exist in the current context Assets\Scenes\map\NPCController.cs(28,9): error CS0103: The name 'flowChart' does not exist in the current context Assets\Scenes\map\NPCController.cs(29,42): error CS0103: The name 'flowChart' does not exist in the current context

該当のソースコード

using System.Collections; using System.Collections.Generic; using UnityEngine; using Fungus; [RequireComponent(typeof(Flowchart))] public class NPCController : MonoBehaviour { [SerializeField] string message = ""; GameObject playerObj; Flowchart Flowchart; void Start() { playerObj = Gameobject.FindGameObjectWithTag("Player"); flowChart = GetComponent<Flowchart>(); } private void OnCollisionEnter2D(UnityEngine.Collision2D other) { if (other.gameObject.tag == "Player") { StartCoroutine(Talk()); } } IEnumerator Talk() { flowChart.SendFungusMessage(message); yield return new WaitUntil(() => flowChart.GetExecutingBlocks().Count == 0); } }

補足情報(FW/ツールのバージョンなど)

言語C#
ツール:unity 2021.1.7f1

サンプルコード以外の原因があるのかと
何もいじっていないC#スクリプトをアタッチしようとしましたが
こちらもできませんでした

![イメージ説明]
参考になるかわかりませんがスクショを乗せときます
他に足りない情報がございましたらお申しつけください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

上記コピペミスだと思います
以下エラーが出ないように修正 & 一部推奨のコードの書き方に直したものになります.
こちらのコードに置き換えれば動くと思います

cs

1using System.Collections; 2using UnityEngine; 3using Fungus; 4 5[RequireComponent(typeof(Flowchart))] 6public class NPCController : MonoBehaviour 7{ 8 [SerializeField] 9 string message = ""; 10 GameObject playerObj; 11 Flowchart Flowchart; 12 13 void Start() 14 { 15 playerObj = GameObject.FindGameObjectWithTag("Player"); 16 Flowchart = GetComponent<Flowchart>(); 17 } 18 private void OnCollisionEnter2D(UnityEngine.Collision2D other) 19 { 20 if (other.gameObject.CompareTag("Player")) 21 { 22 StartCoroutine(Talk()); 23 } 24 } 25 IEnumerator Talk() 26 { 27 Flowchart.SendFungusMessage(message); 28 yield return new WaitUntil(() => Flowchart.GetExecutingBlocks().Count == 0); 29 } 30}

追記
今回はすぐにわかったので,いいですが質問する際は参考にしたサイトのURLを記載する・Unityのversionを記載するなど基本情報は記載したほうがいいと思います

投稿2021/11/09 09:04

編集2021/11/09 09:06
ayousanz

総合スコア258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

simekirioware

2021/11/09 17:18

ありがとうございます!解決しました! 初めての投稿で慣れておらず、ご迷惑をおかけしました・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問