PlayCanvasでクリックに反応するボタンを追加する方法
![スクリーンショット 2019-12-27 16 39 11](https://qiita-user-contents.imgix.net/https%3A%2F%2Fuser-images.githubusercontent.com%2F39250588%2F71507310-fed9da80-287b-11ea-8648-b32fcebe39cb.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=0caef5ee1d90300bda9a738ae8efeaff)
今回のプロジェクトの詳細はこちらになります
PlayCanvasでクリックできるボタンを4つ追加するには、このヒエラルキーになります。
- 2D Screen
- Button
- Text
- Button
- Text
- Button
- Text
- Button
- Text
- Button
2D Screenとボタンをエディターから追加する
2D Screenを「Add Entity」 → 「User Interface 」 → 「2D Screen」から追加します。
![スクリーンショット 2019-12-27 15 54 45](https://qiita-user-contents.imgix.net/https%3A%2F%2Fuser-images.githubusercontent.com%2F39250588%2F71506936-b968dd80-287a-11ea-8e74-ccfd7c00362a.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=4b33f3d3421c723eb934e4eee43425f1)
クリックに反応させる
ボタン(Element Component)にクリックを検出するには、 this.entity.element.on
でクリックイベントを取得します。
var Popup = pc.createScript('popup');
// エディターから変更できるようにattribteusを追加する
Popup.attributes.add("message", {type: "string", default: "message"})
// 起動時
Popup.prototype.initialize = function() {
// タッチできる端末だったら
if(this.app.touch){
// element componentがタッチされたらattributes: messageアラートとして表示する
this.entity.element.on(pc.EVENT_TOUCHSTART, () => this.show(this.message))
}else{
// element componentがクリックされたらattributes: messageアラートとして表示する
this.entity.element.on("click", () => this.show(this.message))
}
};
Popup.prototype.show = (message) => alert(message)
- PlayCanvasのコードエディターでes6に対応する
- Gulpのプラグインを書いたらPlayCanvasでの開発がめちゃくちゃ便利になった
- PlayCanvas Editorに外部スクリプトを読み込む新機能が追加されたので開発方法を考える。- Reduxを組み込む
- React Native + PlayCanvasを使ってスマートフォンゲームを爆速で生み出す
- PlayCanvasのエディター上でHTML, CSSを組み込む方法
- 【iOS13】新しくなったWebVRの使い方
PlayCanvasのユーザー会のSlackを作りました!
少しでも興味がありましたら、ユーザー同士で解決・PlayCanvasを推進するためのSlackを作りましたので、もしよろしければご参加ください!