Chapter 15

Physicalクラスを使ってオブジェクトを移動させる

alkn203
alkn203
2021.09.12に更新

physical-move

Physicalクラスを使った移動方法

オブジェクトの移動についてはこれまでいくつか紹介しましたが、今回はPhysicalクラスを使った移動方法を紹介します。

forceメソッドを使った移動

// Physicalクラスを適用して移動
shape.physical.force(2, 2);
  • オブジェクトのphysicalプロパティにアクセスすると、そのオブジェクトにPhysicalクラスが適用されます。
  • forceメソッドにx,yの移動量を指定するだけで、オブジェクトを簡単に移動させることができます。

velocityプロパティ

forceメソッドではx,yの両方を指定する必要がありますが、 velocityプロパティを使って以下のように一方のみ指定することもできます。

shape.physical.velocity.x = 2;

サンプルコード

コードを見る
// グローバルに展開
phina.globalize();
/*
 * メインシーン
 */
phina.define("MainScene", {
  // 継承
  superClass: 'DisplayScene',
  // 初期化
  init: function() {
    // 親クラス初期化
    this.superInit();
    // 背景色
    this.backgroundColor = 'black';
    // Shapeを作成してシーンに追加
    var shape = Shape();
    shape.addChildTo(this);
    // Physicalクラスを適用して移動
    shape.physical.force(2, 2);
  },
});
/*
 * メイン処理
 */
phina.main(function() {
  // アプリケーションを生成
  var app = GameApp({
    // MainScene から開始
    startLabel: 'main',
  });
  // fps表示
  //app.enableStats();
  // 実行
  app.run();
});

runstantプロジェクト

https://runstant.com/alkn203/projects/84765bbb