Chapter 20

Tweenerでオブジェクトを移動させる【moveTo】

alkn203
alkn203
2021.09.12に更新

tweener-moveto

Tweenerについて

覚えるとphina.jsでのプログラミングの幅がぐっと広がるTweenerについて説明します。
Tweenerを使うとオブジェクトを簡単に移動アニメーションなどさせることができ、処理を組み合わせて繋げることで、より複雑な動きも表現できます。

Tweenerの使い方

簡単な例として、オブジェクトを指定した位置に移動させるという目的でTweenerを使ってみます。

tweener.moveToメソッド

// tweenerで目的地まで移動
star.tweener.moveTo(this.gridX.span(10), this.gridY.span(10), 2000).play();
};
  • オブジェクトのtweenerプロパティにアクセスすることで自動でTweenerを使えるようになります。
  • moveToで移動先の座標を指定します。第3引数の数値はdurationといって、その処理をどれ位の時間をかけて実施するか を指定します。単位はミリ秒です。
  • 最後のplaytweenerの初期化などを行うメソッドなので、忘れずにつけるようにして下さい。

まとめると、上の処理はオブジェクトを現在の位置から指定の位置まで2秒間かけて移動させるということになります。

サンプルコード

コードを見る
// グローバルに展開
phina.globalize();
/*
* メインシーン
*/
phina.define("MainScene", {
// 継承
superClass: 'DisplayScene',
// 初期化
init: function() {
  // 親クラス初期化
  this.superInit();
  // 背景色
  this.backgroundColor = 'black';
  // スター
  var star = StarShape().addChildTo(this);
  star.setPosition(this.gridX.span(2), this.gridY.span(2));
  // tweenerで目的地まで移動
  star.tweener.moveTo(this.gridX.span(10), this.gridY.span(10), 2000).play();
},
});
/*
* メイン処理
*/
phina.main(function() {
// アプリケーションを生成
var app = GameApp({
  // MainScene から開始
  startLabel: 'main',
});
// 実行
app.run();
});

runstantプロジェクト

https://runstant.com/alkn203/projects/bd6f3bc3