Class: Miyako::FixedMap
- Includes:
- Animation, Layout, SpriteBase
- Defined in:
- lib/Miyako/API/fixedmap.rb
Overview
スクロールしないマップクラス
Defined Under Namespace
Classes: FixedMapLayer
Constant Summary collapse
- @@idx_ix =
[-1, 2, 4]
- @@idx_iy =
[-1, 0, 6]
Instance Attribute Summary collapse
-
#map_h ⇒ Object
readonly
Returns the value of attribute map_h.
-
#map_layers ⇒ Object
readonly
Returns the value of attribute map_layers.
-
#map_size ⇒ Object
readonly
Returns the value of attribute map_size.
-
#map_w ⇒ Object
readonly
Returns the value of attribute map_w.
-
#mapchips ⇒ Object
readonly
Returns the value of attribute mapchips.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#visible ⇒ Object
レンダリングの可否(true->描画 false->非描画).
Instance Method Summary collapse
-
#[](idx) ⇒ Object
:nodoc:.
-
#add_event(idx, code, x, y) ⇒ Object
マップにイベントを追加する イベントレイヤーでの番号はイベント番号と一致する ブロックを渡すと、求めたマップチップ番号をブロック引数として受け取る評価を行える idx:: 追加するイベントレイヤの指標 code:: イベント番号(Map.newメソッドで渡したイベント番号に対応) x:: マップ上の位置(x方向) y:: マップ常温位置(y方向) 返却値:: 自分自身を返す.
-
#all_event_move!(dx, dy, *params) ⇒ Object
全てのイベントに対してmove!メソッドを呼び出す 全レイヤーのイベントを呼び出すことに注意 dx:: x座標の移動量 dy:: y座標の移動量 params:: イベントのmove!メソッドを呼び出すときに渡す引数。可変個数 返却値:: レシーバ.
-
#all_event_pos_move!(dx, dy, *params) ⇒ Object
全てのイベントに対してsprite_move!メソッドを呼び出す 全レイヤーのイベントを呼び出すことに注意 dx:: x座標の移動量 dy:: y座標の移動量 params:: イベントのmove!メソッドを呼び出すときに渡す引数。可変個数 返却値:: レシーバ.
-
#all_event_sprite_move!(dx, dy, *params) ⇒ Object
全てのイベントに対してsprite_move!メソッドを呼び出す 全レイヤーのイベントを呼び出すことに注意 dx:: x座標の移動量 dy:: y座標の移動量 params:: イベントのmove!メソッドを呼び出すときに渡す引数。可変個数 返却値:: レシーバ.
-
#all_event_update(*params) ⇒ Object
全てのイベントに対してupdateメソッドを呼び出す 全レイヤーのイベントを呼び出すことに注意 params:: イベントのupdateメソッドを呼び出すときに渡す引数。可変個数.
-
#all_event_update2(*params) ⇒ Object
全てのイベントに対してupdate2メソッドを呼び出す 全レイヤーのイベントを呼び出すことに注意 params:: イベントのupdate2メソッドを呼び出すときに渡す引数。可変個数.
-
#append_event(idx, event) ⇒ Object
マップに生成済みのイベントを追加する idx:: 追加するイベントレイヤの指標 event:: イベント番号(Map.newメソッドで渡したイベント番号に対応) 返却値:: 自分自身を返す.
-
#broad_rect ⇒ Object
現在の画面の最大の大きさを矩形で取得する 但し、FixedMapの場合は最大の大きさ=画面の大きさなので、rectと同じ値が得られる 返却値:: 画像の大きさ(Rect構造体のインスタンス).
-
#chipSize ⇒ Object
マップチップ1枚の大きさを取得する マップチップの大きさが32×32ピクセルの場合は、のSize構造体が返る 返却値:: マップチップのサイズ(Size構造体).
-
#dispose ⇒ Object
マップ情報を解放する.
-
#event_move!(idx, dx, dy, *params) ⇒ Object
指定のレイヤーのイベントに対してmove!メソッドを呼び出す イベントレイヤーidxの全てのイベントに対してmove!メソッドを呼び出す idx:: 更新するイベントレイヤーの番号 dx:: x座標の移動量 dy:: y座標の移動量 params:: イベントのmove!メソッドを呼び出すときに渡す引数。可変個数 返却値:: レシーバ.
-
#event_pos_move!(idx, dx, dy, *params) ⇒ Object
指定のレイヤーのイベントに対してsprite_move!メソッドを呼び出す イベントレイヤーidxの全てのイベントに対してsprite_move!メソッドを呼び出す idx:: 更新するイベントレイヤーの番号 dx:: x座標の移動量 dy:: y座標の移動量 params:: イベントのmove!メソッドを呼び出すときに渡す引数。可変個数 返却値:: レシーバ.
-
#event_sprite_move!(idx, dx, dy, *params) ⇒ Object
指定のレイヤーのイベントに対してsprite_move!メソッドを呼び出す イベントレイヤーidxの全てのイベントに対してsprite_move!メソッドを呼び出す idx:: 更新するイベントレイヤーの番号 dx:: x座標の移動量 dy:: y座標の移動量 params:: イベントのmove!メソッドを呼び出すときに渡す引数。可変個数 返却値:: レシーバ.
-
#event_update(idx, *params) ⇒ Object
指定のレイヤーのイベントに対してupdateメソッドを呼び出す イベントレイヤーidxの全てのイベントに対してupdateメソッドを呼び出す idx:: 更新するイベントレイヤーの番号 params:: イベントのupdateメソッドを呼び出すときに渡す引数。可変個数 返却値:: レシーバ.
-
#event_update2(idx, *params) ⇒ Object
指定のレイヤーのイベントに対してupdate2メソッドを呼び出す イベントレイヤーidxの全てのイベントに対してupdateメソッドを呼び出す idx:: 更新するイベントレイヤーの番号 params:: イベントのupdateメソッドを呼び出すときに渡す引数。可変個数 返却値:: レシーバ.
-
#events ⇒ Object
マップに登録しているイベントインスタンス(マップイベント)を取得する 返却値:: マップイベントの配列.
-
#final ⇒ Object
すべてのマップイベントを終了させる マップに登録しているイベントすべてのfinalメソッドを呼び出す.
-
#get_code(idx, x = 0, y = 0) {|code| ... } ⇒ Object
実座標を使用して、指定のレイヤー・位置のマップチップ番号を取得 イベントレイヤーでの番号はイベント番号と一致する ブロックを渡すと、求めたマップチップ番号をブロック引数として受け取る評価を行える idx:: マップレイヤー配列のインデックス x:: マップチップ単位での位置(ピクセル単位) y:: マップチップ単位での位置(ピクセル単位) 返却値:: マップチップ番号(マップチップが設定されている時は0以上の整数、設定されていない場合は-1が返る).
-
#initialize(mapchips, map_struct, event_manager = nil) ⇒ FixedMap
constructor
インスタンスを生成する 各レイヤにMapChip構造体を渡す 但し、すべてのレイヤーに同一のMapChip構造体を使うときは、単体で渡すことも可能 第1引数にto_aメソッドが実装されていれば、配列化した要素をMapChip構造体として各レイヤに渡す また、各レイヤにMapChip構造体を渡すとき、レイヤ数より要素数が少ないときは、 先頭に戻って繰り返し渡す仕様になっている 各MapChip構造体のマップチップの大きさを同じにしておく必要がある mapchips:: マップチップ構造体群(MapChip構造体単体もしくは配列) map_struct:: MapStruct構造体のインスタンス event_manager:: MapEventManagerクラスのインスタンス。省略時(イベントを使わない時)はnil 返却値:: 生成したインスタンス.
-
#initialize_copy(obj) ⇒ Object
:nodoc:.
-
#render ⇒ Object
マップを画面に描画する すべてのマップチップを画面に描画する 各レイヤ-を、レイヤーインデックス番号の若い順に描画する 但し、マップイベントは描画しない ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|画面のSpriteUnit|となる。 visibleメソッドの値がfalseのときは描画されない。 返却値:: 自分自身を返す.
-
#render_to(dst) ⇒ Object
マップレイヤーを画像に転送する すべてのマップチップを画像に描画する ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|転送先のSpriteUnit|となる。 visibleメソッドの値がfalseのときは描画されない。 dst:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス) 返却値:: 自分自身を返す.
-
#set_mapchip_base(idx, code, base) ⇒ Object
対象のマップチップ番号の画像を置き換える idx:: 置き換えるマップチップレイヤー番号 code:: 置き換えるマップチップ番号 base:: 置き換え対象の画像・アニメーション 返却値:: 自分自身を返す.
-
#to_sprite {|sprite| ... } ⇒ Object
スプライトに変換した画像を表示する すべてのパーツを貼り付けた、1枚のスプライトを返す 引数1個のブロックを渡せば、スプライトに補正をかけることが出来る 返却値:: 描画したスプライト.
-
#to_unit ⇒ Object
SpriteUnit構造体を生成する いったんSpriteインスタンスを作成し、それをもとにSpriteUnit構造体を生成する。 返却値:: 生成したSpriteUnit構造体.
-
#update_layout_position ⇒ Object
:nodoc:.
Methods included from Layout
#add_snap_child, #bottom, #bottom!, #center, #center!, #centering, #centering!, #copy_layout, #delete_snap_child, #get_snap_children, #get_snap_sprite, #h, #include_snap_child?, #init_layout, #layout_dispose, #left, #left!, #middle, #middle!, #move, #move!, #move_to, #move_to!, #on_move, #outside_bottom, #outside_bottom!, #outside_left, #outside_left!, #outside_right, #outside_right!, #outside_top, #outside_top!, #pos, #rect, #relative_move_to, #relative_move_to!, #reset_snap, #right, #right!, #segment, #set_layout_size, #set_snap_children, #set_snap_sprite, #size, #snap, #top, #top!, #update_layout, #w, #x, #y
Methods included from Animation
[], []=, anim_hash, #reset, reset, start, #start, #stop, stop, update, update_animation, #update_animation
Methods included from SpriteBase
#bitmap, #hide, #image_rect, #image_size, #oh, #oh=, #ow, #ow=, #ox, #ox=, #oy, #oy=, #part_rect, #rect, #render_d, #render_xy, #render_xy_to, #show, #update
Constructor Details
#initialize(mapchips, map_struct, event_manager = nil) ⇒ FixedMap
インスタンスを生成する
各レイヤにMapChip構造体を渡す 但し、すべてのレイヤーに同一のMapChip構造体を使うときは、単体で渡すことも可能 第1引数にto_aメソッドが実装されていれば、配列化した要素をMapChip構造体として各レイヤに渡す また、各レイヤにMapChip構造体を渡すとき、レイヤ数より要素数が少ないときは、 先頭に戻って繰り返し渡す仕様になっている 各MapChip構造体のマップチップの大きさを同じにしておく必要がある
- mapchips
-
マップチップ構造体群(MapChip構造体単体もしくは配列)
- map_struct
-
MapStruct構造体のインスタンス
- event_manager
-
MapEventManagerクラスのインスタンス。省略時(イベントを使わない時)はnil
- 返却値
-
生成したインスタンス
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
# File 'lib/Miyako/API/fixedmap.rb', line 292 def initialize(mapchips, map_struct, event_manager=nil) init_layout @visible = true if event_manager @em = event_manager.dup @em.set(self) else @em = nil end @mapchips = mapchips.to_a @map_size = map_struct.size @map_w = @map_size.w * @mapchips.first.chip_size.w @map_h = @map_size.h * @mapchips.first.chip_size.h @event_layers = [] if map_struct.elayers raise MiyakoError "Event Manager is not registered!" unless @em map_struct.elayers.each{|events| event_layer = Array.new events.each_with_index{|ly, y| ly.each_with_index{|code, x| next unless @em.include?(code) event_layer.push(@em.create(code, x * @mapchips.first.chip_size.w, y * @mapchips.first.chip_size.h)) } } @event_layers << event_layer } end @event_layers << [] if @event_layers.empty? mc = @mapchips.cycle @mapchips = mc.take(map_struct.layer_num) @map_layers = [] map_struct.layers.each{|br| br = br.map{|b| b.map{|bb| bb >= @mapchips.first.chips ? -1 : bb } } @map_layers.push(FixedMapLayer.new(mc.next, br, @map_size)) } set_layout_size(@map_w, @map_h) end |
Instance Attribute Details
#map_h ⇒ Object (readonly)
Returns the value of attribute map_h.
34 35 36 |
# File 'lib/Miyako/API/fixedmap.rb', line 34 def map_h @map_h end |
#map_layers ⇒ Object (readonly)
Returns the value of attribute map_layers.
34 35 36 |
# File 'lib/Miyako/API/fixedmap.rb', line 34 def map_layers @map_layers end |
#map_size ⇒ Object (readonly)
Returns the value of attribute map_size.
34 35 36 |
# File 'lib/Miyako/API/fixedmap.rb', line 34 def map_size @map_size end |
#map_w ⇒ Object (readonly)
Returns the value of attribute map_w.
34 35 36 |
# File 'lib/Miyako/API/fixedmap.rb', line 34 def map_w @map_w end |
#mapchips ⇒ Object (readonly)
Returns the value of attribute mapchips.
34 35 36 |
# File 'lib/Miyako/API/fixedmap.rb', line 34 def mapchips @mapchips end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
34 35 36 |
# File 'lib/Miyako/API/fixedmap.rb', line 34 def name @name end |
#visible ⇒ Object
レンダリングの可否(true->描画 false->非描画)
33 34 35 |
# File 'lib/Miyako/API/fixedmap.rb', line 33 def visible @visible end |
Instance Method Details
#[](idx) ⇒ Object
:nodoc:
478 479 480 |
# File 'lib/Miyako/API/fixedmap.rb', line 478 def [](idx) #:nodoc: return @map_layers[idx] end |
#add_event(idx, code, x, y) ⇒ Object
マップにイベントを追加する
イベントレイヤーでの番号はイベント番号と一致する ブロックを渡すと、求めたマップチップ番号をブロック引数として受け取る評価を行える
- idx
-
追加するイベントレイヤの指標
- code
-
イベント番号(Map.newメソッドで渡したイベント番号に対応)
- x
-
マップ上の位置(x方向)
- y
-
マップ常温位置(y方向)
- 返却値
-
自分自身を返す
352 353 354 355 356 357 |
# File 'lib/Miyako/API/fixedmap.rb', line 352 def add_event(idx, code, x, y) raise MiyakoError "Event Manager is not registered!" unless @em raise MiyakoError "Unregisted event code! : #{code}" unless @em.include?(code) @event_layers[idx].push(@em.create(code, x, y)) return self end |
#all_event_move!(dx, dy, *params) ⇒ Object
全てのイベントに対してmove!メソッドを呼び出す
全レイヤーのイベントを呼び出すことに注意
- dx
-
x座標の移動量
- dy
-
y座標の移動量
- params
-
イベントのmove!メソッドを呼び出すときに渡す引数。可変個数
- 返却値
-
レシーバ
423 424 425 426 |
# File 'lib/Miyako/API/fixedmap.rb', line 423 def all_event_move!(dx, dy, *params) @event_layers.each{|el| el.each{|event| event.move!(dx, dy, *params) } } self end |
#all_event_pos_move!(dx, dy, *params) ⇒ Object
全てのイベントに対してsprite_move!メソッドを呼び出す
全レイヤーのイベントを呼び出すことに注意
- dx
-
x座標の移動量
- dy
-
y座標の移動量
- params
-
イベントのmove!メソッドを呼び出すときに渡す引数。可変個数
- 返却値
-
レシーバ
469 470 471 472 |
# File 'lib/Miyako/API/fixedmap.rb', line 469 def all_event_pos_move!(dx, dy, *params) @event_layers.each{|el| el.each{|event| event.pos_move!(dx, dy, *params) } } self end |
#all_event_sprite_move!(dx, dy, *params) ⇒ Object
全てのイベントに対してsprite_move!メソッドを呼び出す
全レイヤーのイベントを呼び出すことに注意
- dx
-
x座標の移動量
- dy
-
y座標の移動量
- params
-
イベントのmove!メソッドを呼び出すときに渡す引数。可変個数
- 返却値
-
レシーバ
446 447 448 449 |
# File 'lib/Miyako/API/fixedmap.rb', line 446 def all_event_sprite_move!(dx, dy, *params) @event_layers.each{|el| el.each{|event| event.sprite_move!(dx, dy, *params) } } self end |
#all_event_update(*params) ⇒ Object
全てのイベントに対してupdateメソッドを呼び出す
全レイヤーのイベントを呼び出すことに注意
- params
-
イベントのupdateメソッドを呼び出すときに渡す引数。可変個数
382 383 384 385 |
# File 'lib/Miyako/API/fixedmap.rb', line 382 def all_event_update(*params) @event_layers.each{|el| el.each{|event| event.update(self, el, *params) } } self end |
#all_event_update2(*params) ⇒ Object
全てのイベントに対してupdate2メソッドを呼び出す
全レイヤーのイベントを呼び出すことに注意
- params
-
イベントのupdate2メソッドを呼び出すときに渡す引数。可変個数
400 401 402 403 |
# File 'lib/Miyako/API/fixedmap.rb', line 400 def all_event_update2(*params) @event_layers.each{|el| el.each{|event| event.update2(*params) } } self end |
#append_event(idx, event) ⇒ Object
マップに生成済みのイベントを追加する
- idx
-
追加するイベントレイヤの指標
- event
-
イベント番号(Map.newメソッドで渡したイベント番号に対応)
- 返却値
-
自分自身を返す
363 364 365 366 |
# File 'lib/Miyako/API/fixedmap.rb', line 363 def append_event(idx, event) @event_layers[idx].push(event) return self end |
#broad_rect ⇒ Object
現在の画面の最大の大きさを矩形で取得する
但し、FixedMapの場合は最大の大きさ=画面の大きさなので、rectと同じ値が得られる
- 返却値
-
画像の大きさ(Rect構造体のインスタンス)
508 509 510 |
# File 'lib/Miyako/API/fixedmap.rb', line 508 def broad_rect return self.rect end |
#chipSize ⇒ Object
536 537 538 |
# File 'lib/Miyako/API/fixedmap.rb', line 536 def chipSize return @mapchips.first.chip_size end |
#dispose ⇒ Object
マップ情報を解放する
547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 |
# File 'lib/Miyako/API/fixedmap.rb', line 547 def dispose @map_layers.each{|l| l.dispose l = nil } @map_layers = Array.new @event_layers.each{|ee| ee.each{|e| e.dispose } ee.clear } @event_layers.clear @mapchips.clear @mapchips = nil end |
#event_move!(idx, dx, dy, *params) ⇒ Object
指定のレイヤーのイベントに対してmove!メソッドを呼び出す
イベントレイヤーidxの全てのイベントに対してmove!メソッドを呼び出す
- idx
-
更新するイベントレイヤーの番号
- dx
-
x座標の移動量
- dy
-
y座標の移動量
- params
-
イベントのmove!メソッドを呼び出すときに渡す引数。可変個数
- 返却値
-
レシーバ
412 413 414 415 |
# File 'lib/Miyako/API/fixedmap.rb', line 412 def event_move!(idx, dx, dy, *params) @event_layers[idx].each{|event| event.move!(dx, dy, *params) } self end |
#event_pos_move!(idx, dx, dy, *params) ⇒ Object
指定のレイヤーのイベントに対してsprite_move!メソッドを呼び出す
イベントレイヤーidxの全てのイベントに対してsprite_move!メソッドを呼び出す
- idx
-
更新するイベントレイヤーの番号
- dx
-
x座標の移動量
- dy
-
y座標の移動量
- params
-
イベントのmove!メソッドを呼び出すときに渡す引数。可変個数
- 返却値
-
レシーバ
458 459 460 461 |
# File 'lib/Miyako/API/fixedmap.rb', line 458 def event_pos_move!(idx, dx, dy, *params) @event_layers[idx].each{|event| event.pos_move!(dx, dy, *params) } self end |
#event_sprite_move!(idx, dx, dy, *params) ⇒ Object
指定のレイヤーのイベントに対してsprite_move!メソッドを呼び出す
イベントレイヤーidxの全てのイベントに対してsprite_move!メソッドを呼び出す
- idx
-
更新するイベントレイヤーの番号
- dx
-
x座標の移動量
- dy
-
y座標の移動量
- params
-
イベントのmove!メソッドを呼び出すときに渡す引数。可変個数
- 返却値
-
レシーバ
435 436 437 438 |
# File 'lib/Miyako/API/fixedmap.rb', line 435 def event_sprite_move!(idx, dx, dy, *params) @event_layers[idx].each{|event| event.sprite_move!(dx, dy, *params) } self end |
#event_update(idx, *params) ⇒ Object
指定のレイヤーのイベントに対してupdateメソッドを呼び出す
イベントレイヤーidxの全てのイベントに対してupdateメソッドを呼び出す
- idx
-
更新するイベントレイヤーの番号
- params
-
イベントのupdateメソッドを呼び出すときに渡す引数。可変個数
- 返却値
-
レシーバ
374 375 376 377 |
# File 'lib/Miyako/API/fixedmap.rb', line 374 def event_update(idx, *params) @event_layers[idx].each{|event| event.update(self, @event_layers[idx], *params) } self end |
#event_update2(idx, *params) ⇒ Object
指定のレイヤーのイベントに対してupdate2メソッドを呼び出す
イベントレイヤーidxの全てのイベントに対してupdateメソッドを呼び出す
- idx
-
更新するイベントレイヤーの番号
- params
-
イベントのupdateメソッドを呼び出すときに渡す引数。可変個数
- 返却値
-
レシーバ
392 393 394 395 |
# File 'lib/Miyako/API/fixedmap.rb', line 392 def event_update2(idx, *params) @event_layers[idx].each{|event| event.update2(*params) } self end |
#events ⇒ Object
マップに登録しているイベントインスタンス(マップイベント)を取得する
- 返却値
-
マップイベントの配列
566 567 568 |
# File 'lib/Miyako/API/fixedmap.rb', line 566 def events return @event_layers end |
#final ⇒ Object
すべてのマップイベントを終了させる
マップに登録しているイベントすべてのfinalメソッドを呼び出す
542 543 544 |
# File 'lib/Miyako/API/fixedmap.rb', line 542 def final @event_layers.each{|ee| ee.each{|e| e.final }} end |
#get_code(idx, x = 0, y = 0) {|code| ... } ⇒ Object
実座標を使用して、指定のレイヤー・位置のマップチップ番号を取得
イベントレイヤーでの番号はイベント番号と一致する ブロックを渡すと、求めたマップチップ番号をブロック引数として受け取る評価を行える
- idx
-
マップレイヤー配列のインデックス
- x
-
マップチップ単位での位置(ピクセル単位)
- y
-
マップチップ単位での位置(ピクセル単位)
- 返却値
-
マップチップ番号(マップチップが設定されている時は0以上の整数、設定されていない場合は-1が返る)
489 490 491 492 493 |
# File 'lib/Miyako/API/fixedmap.rb', line 489 def get_code(idx, x = 0, y = 0) code = @map_layers[idx].get_code(x, y) yield code if block_given? return code end |
#initialize_copy(obj) ⇒ Object
:nodoc:
335 336 337 338 339 340 341 342 |
# File 'lib/Miyako/API/fixedmap.rb', line 335 def initialize_copy(obj) #:nodoc: @map_layers = @map_layers.dup @event_layers = @event_layers.dup @em = @em.dup if @em @mapchips = @mapchips.dup @map_size = @map_size.dup copy_layout end |
#render ⇒ Object
マップを画面に描画する
すべてのマップチップを画面に描画する 各レイヤ-を、レイヤーインデックス番号の若い順に描画する 但し、マップイベントは描画しない ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|画面のSpriteUnit|となる。 visibleメソッドの値がfalseのときは描画されない。
- 返却値
-
自分自身を返す
579 580 |
# File 'lib/Miyako/API/fixedmap.rb', line 579 def render end |
#render_to(dst) ⇒ Object
マップレイヤーを画像に転送する
すべてのマップチップを画像に描画する ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|転送先のSpriteUnit|となる。 visibleメソッドの値がfalseのときは描画されない。
- dst
-
転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
- 返却値
-
自分自身を返す
590 591 |
# File 'lib/Miyako/API/fixedmap.rb', line 590 def render_to(dst) end |
#set_mapchip_base(idx, code, base) ⇒ Object
対象のマップチップ番号の画像を置き換える
- idx
-
置き換えるマップチップレイヤー番号
- code
-
置き換えるマップチップ番号
- base
-
置き換え対象の画像・アニメーション
- 返却値
-
自分自身を返す
500 501 502 503 |
# File 'lib/Miyako/API/fixedmap.rb', line 500 def set_mapchip_base(idx, code, base) @map_layers[idx].mapchip_units[code] = base return self end |
#to_sprite {|sprite| ... } ⇒ Object
スプライトに変換した画像を表示する
すべてのパーツを貼り付けた、1枚のスプライトを返す 引数1個のブロックを渡せば、スプライトに補正をかけることが出来る
- 返却値
-
描画したスプライト
516 517 518 519 520 521 522 523 524 |
# File 'lib/Miyako/API/fixedmap.rb', line 516 def to_sprite rect = self.broad_rect sprite = Sprite.new(:size=>rect.to_a[2,2], :type=>:ac) Drawing.fill(sprite, [0,0,0]) Bitmap.ck_to_ac!(sprite, [0,0,0]) self.render_to(sprite){|sunit, dunit| sunit.x -= rect.x; sunit.y -= rect.y } yield sprite if block_given? return sprite end |
#to_unit ⇒ Object
SpriteUnit構造体を生成する
いったんSpriteインスタンスを作成し、それをもとにSpriteUnit構造体を生成する。
- 返却値
-
生成したSpriteUnit構造体
529 530 531 |
# File 'lib/Miyako/API/fixedmap.rb', line 529 def to_unit return self.to_sprite.to_unit end |
#update_layout_position ⇒ Object
:nodoc:
474 475 476 |
# File 'lib/Miyako/API/fixedmap.rb', line 474 def update_layout_position #:nodoc: @map_layers.each{|ml| ml.pos.move_to!(*@layout.pos) } end |