画面全体をクリック・タップできるようにする
画面全体をクリック・タップできるようにするには、g.Scene#onPointDownCapture
トリガーを利用します。
凡例
javascript
scene.onPointDownCapture.add(function(ev) {
... // scene がクリック・タップされた時の処理
});
エンティティをクリック・タップするには g.E#onPointDown
を利用してください。
エンティティをドラッグ・スワイプするには g.E#onPointMove
を利用してください。
利用例
次のコンテンツは、画面をクリック・タップした位置に黒色の矩形を追加します。
詳細
シーンには、クリックやドラックのイベントを受け取るためのトリガー onPointDownCapture
, onPointMoveCapture
, onPointUpCapture
が用意されています。 これらのトリガーは、シーン内で発生した全てのポイントイベントを受け取ります。
下記のコードでは、画面上をドラックした軌道に沿って矩形を追加します。
javascript
var scene = new g.Scene({ game: g.game });
scene.onLoad.add(function () {
scene.onPointMoveCapture.add(function (ev) {
const size = 10;
const rect = new g.FilledRect({
scene: scene,
cssColor: "black",
width: 10,
height: 10,
x: ev.point.x + ev.startDelta.x,
y: ev.point.y + ev.startDelta.y
});
scene.append(rect);
});
});
押下された座標に touchable
なエンティティがある場合は、そのエンティティの onPointDown
と、シーンの onPointUpCapture
が両方通知されることに気をつけてください。 この場合、onPointDownCapture
トリガーに渡した関数の引数 ev
のtarget
プロパティにそのエンティティが与えられます。
target
プロパティを参照することで、「クリックした座標に touchable
なエンティティがない時」だけの処理を記述することができます。
javascript
scene.onPointDownCapture.add(function (ev) {
if (ev.target) return; // クリックした箇所に touchable なエンティティがある場合は return
// ... touchable なエンティティがない時の処理
});