見出し画像

RPG Developer Bakin C#でプレイヤーと接触したキャスト情報を取得するには?





1. プレイヤーと接触したキャスト情報を取得する

1.1 コード

mapScene.hero.collisionStatus.hitChrList;

 ここにプレイヤーと接触したキャスト情報がリスト型(List<MapCharacter>)で格納されています。
 ちなみに、mapScene.heroはプレイヤーです。

1.2 使用例

using System;
using Yukar.Engine;

namespace Bakin
{
    public class NewScript : BakinObject
    {
        [BakinFunction(Description="プレイヤーと接触したキャストの名前を取得")]
        public void GetHitEvent()
        {
            var hitEventList = mapScene.hero.collisionStatus.hitChrList;

            // F5デバッグ用
            for (int i = 0; i < hitEventList.Count; i++) {
                GameMain.instance.data.system.SetToArray("接触キャスト", i, hitEventList[i].rom.name);
            }

        }
    }
}

 上記は、配列「接触キャスト」にプレイヤーと接触したキャストの名前を格納するメソッド「GetHitEvent」です。

▲自動的に開始(並列して繰り返し実行)シートで使用する

 コマンドパネル「C#プログラムの呼び出し」を使用して、先ほどのメソッド「GetHitEvent」を呼び出します。

1.3 実行結果

▲接触するとそのキャストの名前が配列に格納される
▲同時に二体以上と接触した場合でも動作する

 プレイヤーと接触したキャスト名が配列「接触キャスト」に格納されました。


いいなと思ったら応援しよう!