Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
5
Help us understand the problem. What is going on with this article?
@KyoheiOkawa

Fungusでスクリプトから会話イベントを発生させる方法

More than 1 year has passed since last update.

デモ

今回作ったサンプルはこんな感じです。

ユニティちゃんがウニに触れると会話イベントが発生します。

環境

Windows10
Unity 2017.3.1f1
Fungus 3.9.1
ユニティちゃん2D

分からなかったこと

FungusのFlowchartのブロックが始まるイベント(Execute On Event)をCollision2Dに指定したとき、
どういう条件で呼ばれるのか公式ドキュメントを見てもよく分からなかった...

なので今回の方法は接触したとき以外でも幅広く使えるだろうサンプルを作ってみました。

解説

画像1E.png

Flowchartの最初のブロックのExecute On EventをMessage Receivedに設定します。
今回はサンプルなのでMessage名は"test"に設定しておきます。

次にスクリプトです。
今回は接触したときに会話イベントを発生させるため、UnityChan2DControllerの中に直接記述しました。

UnityChan2DController.cs
    private void OnCollisionEnter2D(UnityEngine.Collision2D collision)
    {
        //Uniタグがつけられたオブジェクトと接触したとき
        if(collision.collider.CompareTag("Uni"))
        {
            //シーン中のFlowchartのExecuteOnEventに設定されたMessageReceivedを取得する
            MessageReceived[] receivers = GameObject.FindObjectsOfType<Fungus.MessageReceived>();
            //取得できた場合
            if (receivers != null)
            {
                //すべてのMessageReceivedに"test"イベントを送信する
                foreach (var receiver in receivers)
                {
                    receiver.OnSendFungusMessage("test");
                }
            }
        }
    }

こんな感じにFlowchartにメッセージを送信して会話イベントを発生させました。
FungusのSendMessage.csにメッセージを送る処理が書かれていたのでそこを参考にしました。

最後に

Fungusを知ったとき、こんな便利なアセットがあるんだなと思いました。
ゲームジャムでノベルゲームなどを作る機会があったら使ってみたいなと感じました。
Fungusの詳しい使い方はまだよくわかっていないので、ほかの方の記事を参考にしてみてください。

宣伝になりますがAppStoreにCocos2d-x,Unity,OpenGLESで作ったゲームをリリースしているのでぜひ遊んでみてください!
AppStore

ライセンス

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています

5
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
5
Help us understand the problem. What is going on with this article?