「敵を作る」
弾をぶつける敵を作ります。
HIERARCHYからRootを選択して、ASSETS内のmodels -> UFOフォルダ内のPH_ufoをSCENEにドラックアンドドロップします。
※注意!Templateファイル(ひし形アイコン)をドラッグ・アンド・ドロップしてください!
INSPECTORを操作して以下のように設定します。
Entity
Position:[-10, 0, 10]
<ADD COMPONENT>
*Collision
Half Extents:[1, 0.5, 1]
*Scripts
[+ADD Script]
-> +New Script
enemy.js
enemy.jsをCode Editorから開き、以下のように記述します
var Enemy = pc.createScript('enemy');
// initialize code called once per entity
Enemy.prototype.initialize = function() {
//衝突判定のイベントを設定
this.entity.collision.on("triggerenter", this.death, this);
};
// update code called every frame
Enemy.prototype.update = function(dt) {
//回転する力を加える
this.entity.rotate(0,1,0);
};
// swap method called for script hot-reloading
// inherit your script state here
Enemy.prototype.swap = function(old) {
};
Enemy.prototype.death = function(result){
console.log(result);
if(result &&
result.name === "bullet"){
//衝突したコリジョンを持った相手の名前が"bullet"だったら
this.entity.destroy();//自分自身をdestroy
result.destroy();//衝突した相手をdestroy
}
};
最初の状態だと、bulletは剛性を持っていないので、collisionとrigidbodyを追加しINSPECTORを操作して以下のように設定します。
Collision
Type:[Sphere]
Radius:[0.25]
Ridid body
Type:[Kinematic]
設定後、インスペクターが以下のように表示されますので、右上のAPPLY ALLを選択してテンプレートを上書きします
実行して、弾が衝突するとUFOが消えることが確認できたらOKです。
bulletの作成は完了したので、ヒエラルキーにあるbulletは削除して下さい。
enemyが一体ではつまらないのでHIERARCHYのDuplicate Entityから複製して、たくさん配置してみましょう
※UFOの子要素を直接編集しないようにしてください!
チュートリアル - PlayCanvasの基本操作 2020 -
チュートリアル - PlayCanvasの基本操作 2020 - 6/7
コメント
0件のコメント
サインインしてコメントを残してください。