🍡
「clusterイージースクリプト」02持ち物編
まだ「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