「ユーザー入力を受け取る」
スペースキーを入力したら戦車が弾を発射するような処理を追加しましょう。
まず最初にユーザー入力と弾の発射を制御するスクリプト、弾の挙動を制御するスクリプトをそれぞれ作成します。
ASSETS内の「src」フォルダを選択し、右側の+からScriptを新規作成します。
[shot.js], [bullet.js]をそれぞれ作成してください。(※「.js」は自動で付与されます。)
「Scriptの追加」
弾は戦車から発射されるため、shot.jsを戦車のコンポーネント(部品)に追加します。
HIERARCHYから「Tank_base」を選択して、INSPECTOR内のSCRIPTSコンポーネント内のADD SCRIPTから「shot.js」を追加します。
「shot.js」が追加されたことが確認できたら、Editを選択してCode Editorを起動します。
スクリプトには標準で3つのメソッドが実装されています。
initializeメソッド...scriptひとつにつき一度だけ実行されるメソッド
updateメソッド...毎フレーム実行されるメソッド
swapメソッド...hot-reloading時に実行されるメソッド
shot.jsはユーザー入力を受け取り弾を発射するスクリプトなので以下のように記述します。
var Shot = pc.createScript('shot');
// initialize code called once per entity
Shot.prototype.initialize = function() {
};
// update code called every frame
Shot.prototype.update = function(dt) {
if(this.app.keyboard.wasPressed(pc.KEY_SPACE)){
//Spaceキーを押したら
this.shot();
}
};
// swap method called for script hot-reloading
// inherit your script state here
Shot.prototype.swap = function(old) {
};
Shot.prototype.shot = function(){
//弾を発射する
console.log("shot!");
};
// to learn more about script anatomy, please read:
// http://developer.playcanvas.com/en/
弾はまだ準備していないのでここではconsole.logに"shot!"と出力するようにします。
保存したらGameEditorに戻り、実行してみましょう。
launchが立ち上がったら、ブラウザのデベロッパーツールを起動しましょう。
Windowsの方は「F12」キー
Macの方は「command + option + I」キーを押すと起動します。
デベロッパーツールが起動したら、consoleタブを開きます。
スペースキーを押すとconsoleに"shot!"と出力されることを確認します。
チュートリアル - PlayCanvasの基本操作 2020 -
チュートリアル - PlayCanvasの基本操作 2020 - 3/7
コメント
0件のコメント
サインインしてコメントを残してください。