Chapter 18

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

alkn203
alkn203
2021.09.12に更新

physical-addforce

オブジェクトを加速させる

オブジェクトを加速させる方法を説明します。

addForceメソッド

// タッチ
this.onpointend = function() {
  // 加速する
  shape.physical.addForce(0, 2);
};
  • 以前に紹介したforceメソッドはオブジェクトに等速度運動をさせます。
  • forceメソッドと違ってaddForceメソッドは、指定された値だけ速度を増やします。

サンプルコード

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

runstantプロジェクト

https://runstant.com/alkn203/projects/2272d988

サンプルでは、画面をタッチするとオブジェクトが加速します。