🍡

「clusterイージースクリプト」02持ち物編

2024/07/20に公開

まだ「clusterイージースクリプト」のインストールが済んでいない人は先に済ませてくださいね。
こちらの記事からどうぞ。

持ち物サンプル


「持ち物サンプル」プレハブをシーンにドラッグアンドドロップし、Unityの再生ボタンを押してください。
左クリックすると、プレイヤーが前&上空にワープします。

プレイヤーの回転(向き)によってちゃんと「前」が変わるのがポイントですね。
固定である方向に飛んで行くわけではありません。

スクリプトの内容は?

ee.use = (isOn) => {
	if(isOn){
		warpPlayerShift(0,2,2);
	}
}

「持ち物スクリプト.js」を開くと、こんな感じです。これも短いですね。

使ったときの部分

useという関数は、持ち物を「使う」したときに呼ばれます。
このとき、「押した」ならisOnがONに、「離した」ならOFFになっています。

ワープさせる部分

if(isOn) {
}
このように囲った部分は、「isOn」がONのときにしか実行されません。
つまり「離した」ときではなく、「押した」ときだけですね。

warpPlayerShift(0,2,2);
ここは「上方向に2」「前方向に2」動けという命令です。
通常だと「プレイヤーの向いている方」の計算が必要なのですが、warpPlayerShiftは勝手にプレイヤーの向いている方を計算して動かしてくれます。

改変

改変の仕方には慣れてきたでしょうか?

  • プレハブの「展開」
  • スクリプトの「複製」→名前変更
  • 新しくできたスクリプトを「インスペクター」のCS Combinerにドラッグアンドドロップ
    でしたね。忘れていたら「ボタン編」などに戻ってチェックを。
ee.use = (isOn) => {
   if(isOn){
      warpPlayerShift(0,2,2);
   } else {
      warpPlayerShift(0,1,0);
   }
}

例えばこんな風にしてみましょう。上書き保存、そしてUnityに戻って[Ctrl]+[R]の再読み込みを忘れずに。
再生して「使う」すると、前&上空にワープしますが、クリックを離したときも上に少し飛びます。

elseというのは「そうじゃなかったら、こうする」という命令 です。
ifとあわせて、非常によく使います。

isOnがONなら最初のほうが、OFFなら後のほうが実行されるわけですね。

Discussion