RmakeCommonSpriteTemplateクラス

スプライトを生成するとき、複数のスプライトで共通で使うことのできるパラメータを定義した
スプライトテンプレートというものを使うことができます。
RmakeCommonSpriteTemplateクラスはスプライトテンプレートを扱うためのクラスです。

animationメソッド

アニメーション用のコマンドリストを定義します。
コマンドリストはスプライトテンプレートで定義される処理の記述方法で、
低負荷で動作することを期待することができます。
  sprite_template :sprite_template_bomb do |sprite_st|
    ...
    st.animation :animation_name do |commands|
        commands.copy_rect :frame => 1, :src => [0, 0]
        commands.copy_rect :frame => 1, :src => [1, 0]
        commands.wait_animation
    end
  end

  • 第1引数はアニメーションの名前
  • ブロックの第1引数はコマンドリスト(AnimationProxyを取り込んだオブジェクト)

:defaultという名前のアニメーションのコマンドリストはスプライト生成時に自動的に開始されます。

motionメソッド

モーション用のコマンドリストを定義します。
コマンドリストはスプライトテンプレートで定義される処理の記述方法で、
低負荷で動作することを期待することができます。
  sprite_template :sprite_template_name do |st|
    ...
    st.motion :motion_name do |commands|
        commands.move_by_v 0, 96, 4
        commands.wait_motion
        commands.move_by_v 0, -96, 4
        commands.wait_motion
    end
  end

  • 第1引数はモーションの名前
  • ブロックの第1引数はコマンドリスト(MotionProxyを取り込んだオブジェクト)

:defaultという名前のモーションのコマンドリストはスプライト生成時に自動的に開始されます。

center_positionメソッド

スプライトのデフォルトの位置を中心位置で設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.center_position 10, 10
  end

  • 第1引数は位置のx座標
  • 第2引数は位置のy座標

positionメソッド

スプライトのデフォルトの位置を左上の位置で設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.position 10, 10
  end

  • 第1引数は位置のx座標
  • 第2引数は位置のy座標

rotationメソッド

スプライトのデフォルトの回転を設定します。
回転は時計回りで設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.rotation Math::PI / 2
  end

  • 第1引数は回転量

scaleメソッド

スプライトのデフォルトの拡大量を設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.scale 10, 10
  end

  • 第1引数は拡大量のx軸での倍率
  • 第2引数は拡大量のy軸での倍率

src_sizeメソッド

スプライトのデフォルトのコピー元矩形の大きさを設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.src_size 32, 32
  end

  • 第1引数はコピー元矩形の幅
  • 第2引数はコピー元矩形の高さ

dest_sizeメソッド

スプライトのデフォルトのコピー先矩形の大きさを設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.dest_size 32, 32
  end

  • 第1引数はコピー先矩形の幅
  • 第2引数はコピー先矩形の高さ

copy_rectメソッド

スプライトのデフォルトの表示元画像を設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.copy_rect 0, 0
  end

  • 第1引数はコピー元の指定で、左端が(第1引数) * (src_sizeの幅)で、幅が(src_sizeの幅)の矩形
  • 第2引数はコピー元の指定で、左端が(第2引数) * (src_sizeの高さ)で、高さが(src_sizeの高さ)の矩形

center_offsetメソッド

スプライトのデフォルトの中心位置を設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.center_offset 16, 16
  end

  • 第1引数は中心位置のx座標
  • 第2引数は中心位置のy座標

textureメソッド

スプライトのデフォルトのテクスチャー名を設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.texture :texutre_name
  end

  • 第1引数はテクスチャー名のシンボル

collisionメソッド

当たり判定情報の設定をおこないます。
  sprite_template :sprite_template_name do |st|
    ...
    st.collision :circle, :mode => :center, :position => [0, 0], 
      :radius => 4, :group_id => 1
  end

  • 第1引数は当たり判定形状の種類のシンボル
  • 第2引数は当たり判定のパラメータのハッシュテーブル

当たり判定の形状には以下のものを設定することができる
  • :rect : 矩形
  • :circle : 円

矩形の場合指定するパラメーターは以下のとおりである
  • :mode : パラメーターのして方法
    • :center : 中心点を設定
    • :left_top : 左上を設定
  • :position : 矩形の左上から見た位置をmodeによって設定
  • :width : 矩形の大きさ
  • :group_id : 当たり判定用グループ(collision group)、RmakeCommonGame.collision_group_pairで使われます
  sprite_template :sprite_template_name do |st|
    ...
    st.collision :circle, :rect, :position => [0, 0], 
        :width => [16, 16], :group_id => 0
  end


円の場合指定するパラメーターは以下のとおりである。
  • :mode : パラメーターのして方法
    • :center : 中心点で設定
    • :left_top : 左上で設定
  • :position : modeによって位置設定
  • :radius : 円の半径
  • :group_id : 当たり判定用グループ(collision group)、RmakeCommonGame.collision_group_pairで使われます
  sprite_template :sprite_template_name do |st|
    ...
    st.collision :circle, :mode => :center, :position => [0, 0], 
      :radius => 4, :group_id => 1
  end


z_orderメソッド

スプライトのデフォルトの描画順を設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.z_order 10
  end

  • 第1引数は描画順を指定する値

この値はlayer_orderの値が同じときに有効です

layer_orderメソッド

スプライトのデフォルトの描画順を設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.layer_order 10
  end

  • 第1引数は描画順を指定する値

alignメソッド

スプライトのデフォルトの表示位置を簡単に設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.align :center
  end

  • 第1引数は表示位置名のシンボル

表示位置名に指定できる値は以下の通りです。
  • :center : 画面の中心に配置します。
  • :left : 画面の左に配置します。
  • :right : 画面の右に配置します。
  • :fullscreen : 画面全体を覆うように拡大して、中心に配置します。

no_imageメソッド

スプライトがデフォルトで表示をおこなうかどうか設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.no_image true
  end

  • 第1引数はスプライトを表示するかどうか

colorメソッド

スプライトのデフォルトの色を設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.color 255, 255, 255, 255
  end

  • 第1引数はスプライトの色の赤成分、0~255で設定
  • 第2引数はスプライトの色の緑成分、0~255で設定
  • 第3引数はスプライトの色の青成分、0~255で設定
  • 第4引数はスプライトの色の不透明度、0~255で設定

render_way_typeメソッド

スプライトの描画方法を設定します。
  sprite_template :sprite_template_name do |st|
    ...
    st.render_way_type :add
  end

  • 第1引数は描画方法を指定するシンボル
    • :translucent : 半透明のものを描画するのに適した描画方法です。デフォルトではこれが指定されています。拡大した場合などふちの不透明度がぼやけた感じになります。
    • :opaque : 文字などの描画に適した描画方法です。不透明度の値は完全に透明か、完全に不透明かのどちらかに分けられます。
    • :add : 加算合成で描画をおこないます。拡大した場合などふちの不透明度がぼやけた感じになります。

クラスリファレンストップに戻る

サンプル一覧

チュートリアル1 - ようこそ、Rmakeの世界へ

アニメーションとモーション
あたり判定の初歩、タップすると話すキャラ
あたり判定の応用、キャラクタ同士の衝突
弾を打つキャラクタ
ソースのロードとライブラリのロード

サンプルゲーム

サンプル - 脱出ゲーム
脱出ゲームのサンプルです。

サンプル - シューティング
弾幕シューティングゲームのサンプルです。

まじたいスリーマッチパズル
スリーマッチパズルゲームのサンプルです。

お知らせ

2014/03/04 ver. 0.1.39 を公開しました!
・0.1.36でWindowsで起動しない問題を修正しました
(Android版はバージョン番号のみの変更です。)

2014/03/04 ver. 0.1.36 を公開しました!
・アプリケーションアイコンを変更しました
・セーブ・ロードを繰り返すとアプリが強制終了する問題を修正しました
・他、重大なバグを修正しました

ダウンロードはこちらから。

2013/07/17 Code on Rmakeをα公開しました!