2020/02/10 構成を記述
2020/11/28 scriptableobjectでの実施結果を記載
こんにちは、コロナです。
adventcalenderの初日としてunityの再度学習としてscriptableobjectから進めていくために、こちらのタイトルにいたしました。
unityのscriptableobjectを作成して、スクショや動画を作成する
scriptableobjectとは
データ入力用のオブジェクトとして利用することが多いものです。
キャラクターのパラメータなどの雛形として参考になるものとなります。
本家のリンクはこちらから
https://docs.unity3d.com/jp/460/ScriptReference/ScriptableObject.html
ここからは、後日中身を記述していく
scriptableobjectを作成してみる
今回は、以下のゲームを改修します
「HappyNewYear is Gone」
https://unityroom.com/games/happy_gone
ScriptableObjectのスクリプトを用意する
using UnityEngine;
[CreateAssetMenu(fileName = "Data", menuName = "ScriptableObjects/GameConfigScriptableObject")]
public class GameConfigScriptableObject : ScriptableObject
{
public float startCount;
public int stageLeftPositionX;
public int stageRightPositionX;
// 敵キャラクターの移動速度 難易度調整で使う
public float moveSpeed;
public int startScore;
// 弾を打つボタン
public string bulletButton;
public float characterSpeed;
// 敵を倒したときに入るスコア
// キャンペーン時に更新をして、定常イベントのように利用したりする
public int addScore;
public int startHp;
}
scriptableobjectをCSV形式のようにファイルにする
設定動画
See the Pen XWjJWXe by サリー(sakuriver)@FF7Rとデススト攻略、ドラクエ3中 (@sakuriver) on CodePen.
プログラム側から参照する
public class GameManager : MonoBehaviour
{
public GameObject player;
public GameObject canvas;
public GameObject zone;
public GameObject gone;
public AudioSource audioSource;
public AudioClip heiseiClip;
public AudioClip reiwaClip;
public AudioClip heartClip;
public AudioClip scoreAddClip;
public bool isGameStart;
public float startCount;
public string bulletButton;
public GameConfigScriptableObject gameConfig;
...以下略
生成したアセットを選んで、パラメータを調整した動画
See the Pen poEvoNR by サリー(sakuriver)@FF7Rとデススト攻略、ドラクエ3中 (@sakuriver) on CodePen.
*scriptableobject以外、ファイルが変更されていないのを確認