同じスプリクトでNPCを話させる
うさタブ
最後に同じスプリクトを使って別のNPCを話させる方法を紹介するッピ♪
うさタブ
まずNPCを選択して、
インスペクター→コンポーネントを追加→Physics2D→CapsuleCollider2D
を選択するッピ~
うさタブ
次は質量を追加するッピよ~
インスペクター→コンポーネントを追加→Physics 2D→Rigidbody 2D
を選択するッピ~
うさタブ
インスペクターから
Rigidbody 2D→ボディタイプ→静的
を選択するッピ!
会話スクリプトのアタッチ
うさタブ
さきほど王様のときにつくった
Talk C#スクリプトを別のNPCにドラッグ&ドロップ
するッピ!
うさタブ
テロップ枠
Canvas→Dialogへ
文章
Text(Legacy)→テキストへ
に持っていくッピ!
うさタブ
Wordsに好きなセリフを追加
で完成ッピよ~
アイカ
嬉しいっ
できたわ
ユウキ
やったなアイカちゃん
まとめ
using UnityEngine;
using UnityEngine.UI;
public class talk : MonoBehaviour
{
public GameObject dialogue;
public Text Text;
[SerializeField]
string words = "ここにセリフ";
private void OnCollisionEnter2D(Collision2D other)
{
if (other.gameObject.CompareTag("Player"))
{
Text.text = words;
dialogue.SetActive (true);
}
}
private void OnCollisionExit2D(Collision2D other)
{
if (other.gameObject.CompareTag("Player"))
{
dialogue.SetActive (false);
}
}
}
学習のまとめ
- 必要な材料を用意
- メッセージウィンドウと用意する
- テキストオブジェクトの作成
- キャンバスの非表示
- プレイヤーキャラクターにタグを付与
- NPCの当たり判定の設定
- シーン移動用スプリクトを追加
- スプリクトをNPCに登録する
- インスペクターのスプリクトにキャンバスとテキストを登録する
- セリフを追加
- テストプレイ
うさタブ
上手くできたッピか?
これからも色んなゲーム作りやプログラムの解説をしていくッピ!
次回も楽しみにしているッピよ~~!
うさタブ
UnityはC#を元に作られているッピ!
まだまだ Unity や C#について勉強したい人は↓の記事を参考にするッピ♪