Chapter 16

Spriteを表示して位置を指定する

alkn203
alkn203
2021.09.05に更新

locate-sprite

Spriteをシーンに表示する

ゲーム作りで定番のスプライト画像を画面に表示します。

アセットの定義

スプライトを表示するためには、アセットとして読み込む画像等を以下のように定義する必要があります。

// アセット
var ASSETS = {
  // 画像
  image: {
    'tomapiko': 'https://cdn.jsdelivr.net/gh/phinajs/phina.js@develop/assets/images/tomapiko.png',
  },
};
  • imageはアセットの種類です。
  • 連想配列の左側にキー名、右側に使用するアセットの場所を書きます。

アセットの読み込み

読み込むためには、main 関数のGameAppのコンストラクタのプロパティassetsに定義したアセットを引き渡します。

phina.main(function() {
  // アプリケーションを生成
  var app = GameApp({
    // MainScene から開始
    startLabel: 'main',
    // アセット読み込み
    assets: ASSETS,
  });
  // fps表示
  //app.enableStats();
  // 実行
  app.run();
});

Spriteの位置指定

Shapeの位置指定と同様に行うことができます。

// Sprite
Sprite('tomapiko').addChildTo(this).setPosition(320, 480);

サンプルコード

コードを見る
// グローバルに展開
phina.globalize();
// アセット
var ASSETS = {
  // 画像
  image: {
    'tomapiko': 'https://cdn.jsdelivr.net/gh/phinajs/phina.js@develop/assets/images/tomapiko.png',
  },
};
/*
 * メインシーン
 */
phina.define("MainScene", {
  // 継承
  superClass: 'DisplayScene',
  // 初期化
  init: function() {
    // 親クラス初期化
    this.superInit();
    // 背景色
    this.backgroundColor = 'skyblue';
    // Sprite
    Sprite('tomapiko').addChildTo(this).setPosition(320, 480);
  },
});
/*
 * メイン処理
 */
phina.main(function() {
  // アプリケーションを生成
  var app = GameApp({
    // MainScene から開始
    startLabel: 'main',
    // アセット読み込み
    assets: ASSETS,
  });
  // fps表示
  //app.enableStats();
  // 実行
  app.run();
});

runstantプロジェクト

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