Class: Miyako::SpriteAnimation
- Includes:
- Animation, Layout, SpriteBase, SingleEnumerable
- Defined in:
- lib/Miyako/API/sprite_animation.rb
Overview
アニメーション管理クラス
スプライトのアニメーションの構築・実行を管理するクラス
Instance Attribute Summary collapse
-
#visible ⇒ Object
レンダリングの可否(true->描画 false->非描画).
Instance Method Summary collapse
-
#bitmap ⇒ Object
現在実行中のパターンの画像を返す 返却値:: 現在表示している画像(bitmap).
-
#broad_rect ⇒ Object
現在表示しているスプライトの最大の大きさを矩形で取得する 現在のパターンの大きさと同じため、rectメソッドの値と同一となる 返却値:: 生成された矩形(Rect構造体のインスタンス).
-
#changed? ⇒ Boolean
先の更新でパターンが更新されたかどうかを返す 返却値:: true/false.
-
#character ⇒ Object
現在のキャラクター番号を取得する 返却値:: キャラクター番号(0以上の整数).
-
#character=(cnum) ⇒ Object
キャラクター番号を設定する キャラクター番号(アニメーションさせるときに表示させるパターン群インデックス) を設定する。範囲外のキャラクター番号が設定された時は何も行わない cnum:: キャラクター番号.
-
#characters ⇒ Object
キャラクター数を取得する 返却値:: キャラクター数(0以上の整数).
-
#dispose ⇒ Object
インスタンスに束縛されているオブジェクトを解放する.
-
#exec? ⇒ Boolean
アニメーションが実行中かを返す 返却値:: アニメーションが実行されていれば true.
-
#h ⇒ Object
現在表示しているスプライトの高さを取得する 返却値:: 現在表示しているスプライトの高さ(ピクセル単位).
- #hide ⇒ Object
-
#initialize(hash) ⇒ SpriteAnimation
constructor
インスタンスの作成 アニメーションを行うための初期設定を行う。 アニメーションは2種類の方法があり、.
-
#initialize_copy(obj) ⇒ Object
複写時に呼び出されるメソッド 複写と同時に、本インスタンスに対するスナップの関係を解消するが、 新しいパターンスプライトとスナップをやり直す.
-
#move_character(d) ⇒ Object
あとで書く d:: あとで書く 返却値:: あとで書く.
-
#oh ⇒ Object
現在表示しているスプライトのohを取得する 返却値:: スプライトのoh.
-
#ow ⇒ Object
現在表示しているスプライトのowを取得する 返却値:: スプライトのow.
-
#pattern ⇒ Object
現在表示しているパターンを取得する 返却値:: 現在表示しているスプライトのインスタンス.
-
#pattern=(pnum) ⇒ Object
表示するパターンの番号を変更する pnum:: パターン番号.
-
#patterns ⇒ Object
アニメーションのパターン数を取得する 返却値:: パターン数(0以上の整数).
-
#rect ⇒ Object
現在表示しているスプライトの大きさを矩形で取得する 返却値:: 生成された矩形(Rect構造体のインスタンス).
-
#render ⇒ Object
アニメーションの現在の画像を画面に描画する 転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。 画面の描画範囲は、src側SpriteUnitの(x,y)を起点に設定にする。 ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|インスタンスのSpriteUnit|となる。 visibleメソッドの値がfalseのときは描画されない。.
-
#render_to(dst) ⇒ Object
アニメーションの現在の画像を画像に描画する 転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。 転送先の描画範囲は、src側SpriteUnitの(x,y)を起点に設定にする。 ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|インスタンスのSpriteUnit,転送先のSpriteUnit|となる。 visibleメソッドの値がfalseのときは描画されない。 dst:: 転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス).
-
#reset ⇒ Object
アニメーションのパターンをリセットする 返却値:: 自分自身.
-
#set_chr ⇒ Object
:nodoc:.
-
#set_pat ⇒ Object
:nodoc:.
- #show ⇒ Object
-
#start ⇒ Object
アニメーションを開始する パターンがリセットされていないときは、一時停止から復帰した時と同じ動作をする 返却値:: 自分自身.
-
#stop ⇒ Object
アニメーションを停止する 停止しても、表示していたパターンはリセットされていない 返却値:: 自分自身.
-
#to_sprite(&block) ⇒ Object
現在実行中のパターンの元になったインスタンスを返す 取得するパターンは、元になったインスタンスのto_spriteメソッドを呼び出した時の値となる 引数1個のブロックを渡せば、スプライトに補正をかけることが出来る 返却値:: 現在表示しているスプライト.
-
#to_unit ⇒ Object
現在実行中のパターンの元になったスプライトユニットを返す 得られるインスタンスは内部でしようしてるものの複写 返却値:: 現在表示しているスプライトユニット.
-
#toggle_exec ⇒ Object
アニメーションの開始・停止を切り替える 返却値:: 自分自身.
-
#update_animation ⇒ Object
アニメーションの更新を行う アニメーションのカウントをチェックし、カウントが終了したときは新しいパターンに切り替えて、カウントを開始する すべてのパターンのアニメーションが終了すれば、最初のパターンに戻り、カウントを開始する 但し、インスタンス生成時に:loop->falseを設定していれば、アニメーションを終了する 返却値:: アニメーションパターンが切り替わればtrue、切り替わらないとき、アニメーションが終了したときはfalseを返す.
-
#update_frame ⇒ Object
:nodoc:.
-
#update_layout_position ⇒ Object
:nodoc:.
-
#update_wait_counter ⇒ Object
:nodoc:.
-
#w ⇒ Object
現在表示しているスプライトの幅を取得する 返却値:: 現在表示しているスプライトの幅(ピクセル単位).
-
#x ⇒ Object
現在表示しているスプライトの x 座標の値を取得する 返却値:: x 座標の値.
-
#y ⇒ Object
現在表示しているスプライトの y 座標の値を取得する 返却値:: y 座標の値.
Methods included from SingleEnumerable
Methods included from Layout
#add_snap_child, #bottom, #bottom!, #center, #center!, #centering, #centering!, #copy_layout, #delete_snap_child, #get_snap_children, #get_snap_sprite, #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, #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
Methods included from Animation
[], []=, anim_hash, reset, start, stop, update, update_animation
Methods included from SpriteBase
#image_rect, #image_size, #oh=, #ow=, #ox, #ox=, #oy, #oy=, #part_rect, #render_d, #render_xy, #render_xy_to, #update
Constructor Details
#initialize(hash) ⇒ SpriteAnimation
インスタンスの作成
アニメーションを行うための初期設定を行う。 アニメーションは2種類の方法があり、
「一つのスプライトをow,ohプロパティで分割して、表示開始位置をずらすことでアニメーションを行う」方法と、
(RPGのキャラチップを想定。 以降、「単体アニメーション」と呼ぶ)
「複数枚のスプライトの配列を渡し、要素順に表示させることでアニメーションを行う」方法がある。
(いわゆる「ぱらぱら漫画」方式。 以降、「配列アニメーション」と呼ぶ)
「パターン番号」は、キャラクタパターン(画像を一定の大きさ(ow,oh)で切り分けた単位)の番号を意味する。
単体アニメーションのときは、画像の左上から0,1,2,…と数える。
配列アニメーションのときは、配列のインデックスがパターン番号となる。
利用できるパラメータは以下の通り
:sprite/:sprites => sprite|spriteの配列 アニメーションさせるスプライト(インスタンス単体もしくはインスタンスの配列)。必須パラメータ
:dir => :h|:v 単体アニメーションのとき、縦方向に位置をずらして表示させる(:h指定時)か、横方向か(:v指定時)を決定する。デフォルトは:h
:pattern_list => 表示させるパターン番号を指定するための配列。配列の要素の順にパターンが表示される
:loop => アニメーションを繰り返し更新するかどうかを示すフラグ。falseのときは、1回パターンを実行した後、アニメーションを終了する(true/false)
- hash
-
パラメータ名とパラメータとのハッシュ
- 返却値
-
生成されたインスタンス
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 |
# File 'lib/Miyako/API/sprite_animation.rb', line 66 def initialize(hash) init_layout @slist = nil hash[:dir] ||= :h @dir = hash[:dir] s = hash[:sprite] || hash[:sprites] hash[:pattern_list] ||= nil @plist = hash[:pattern_list] hash[:wait] ||= 0 wait = hash[:wait] hash[:move_offset] ||= nil @move_offset = hash[:move_offset] hash[:position_offset] ||= nil @pos_offset = hash[:position_offset] hash[:align] ||= :max @align = hash[:align] hash[:loop] ||= true @loop = hash[:loop] @pat_len = 1 @pat_olen = 1 @chr_len = 1 @chr_olen = 1 @changed = false @slist = Array.new if s.kind_of?(Sprite) @pat_len = @dir == :h ? s.h : s.w @pat_olen = @dir == :h ? s.oh : s.ow @chr_len = @dir == :h ? s.w : s.h @chr_olen = @dir == :h ? s.ow : s.oh @pats = @pat_len / @pat_olen elsif s.kind_of?(Array) @slist = s.dup @pat_len = @slist.length @pats = @slist.length else raise MiyakoTypeError, "Illegal sprite list for SpriteAnimation." end if @plist if @align == :min @pats = @plist.length if @pats > @plist.length else @pats = @plist.length if @pats < @plist.length end else @plist = Array.new unless @plist end if @move_offset if @align == :min @pats = @move_offset.length if @pats > @move_offset.length else @pats = @move_offset.length if @pats < @move_offset.length end else @move_offset = Array.new end if @pos_offset if @align == :min @pats = @pos_offset.length if @pats > @pos_offset.length else @pats = @pos_offset.length if @pats < @pos_offset.length end else @pos_offset = Array.new end if wait.kind_of?(Array) @waits = wait.collect{|w| w.kind_of?(Float) ? WaitCounter.new(w) : w } if @align == :min @pats = @waits.length if @pats > @waits.length else @pats = @waits.length if @pats < @waits.length end else @waits = Array.new end if @plist.length == 0 @pats.times{|p| @plist.push(p)} elsif @plist.length < @pats @plist = @plist.cycle.take(@pats) end if @slist.length == 0 @slist = Array.new(@pats){|pat| u = s.dup px = pat % (@pat_len / @pat_olen) if @dir == :h u.oy = u.oh * @plist[px] else u.ox = u.ow * @plist[px] end u } elsif @slist.length < @pats @slist = @slist.cycle.take(@pats) end if @move_offset.length == 0 @move_offset = Array.new(@pats){|pat| Point.new(0,0) } elsif @move_offset.length < @pats @move_offset = @move_offset.cycle.take(@pats) end if @pos_offset.length == 0 @pos_offset = Array.new(@pats){|pat| 0 } elsif @pos_offset.length < @pats @pos_offset = @pos_offset.cycle.take(@pats) end if @waits.length == 0 if wait.kind_of?(Integer) @waits = Array.new(@pats){|pat| wait} elsif wait.kind_of?(Float) @waits = Array.new(@pats){|pat| WaitCounter.new(wait)} else raise MiyakoTypeError, "Illegal counter class for SpriteAnimation." end elsif @waits.length < @pats @waits = @waits.cycle.take(@pats) end @chrs = @chr_len / @chr_olen @cnum = 0 @pnum = 0 @cnt = 0 @exec = false @visible = true @now = @slist[@plist[@pnum]] first = @slist[0] set_layout_size(first.ow, first.oh) move_to!(first.x, first.y) @slist.each{|ss| ss.move_to!(first.x, first.y) } end |
Instance Attribute Details
#visible ⇒ Object
レンダリングの可否(true->描画 false->非描画)
32 33 34 |
# File 'lib/Miyako/API/sprite_animation.rb', line 32 def visible @visible end |
Instance Method Details
#bitmap ⇒ Object
現在実行中のパターンの画像を返す
- 返却値
-
現在表示している画像(bitmap)
440 441 442 |
# File 'lib/Miyako/API/sprite_animation.rb', line 440 def bitmap return @now.bitmap end |
#broad_rect ⇒ Object
現在表示しているスプライトの最大の大きさを矩形で取得する
現在のパターンの大きさと同じため、rectメソッドの値と同一となる
- 返却値
-
生成された矩形(Rect構造体のインスタンス)
462 463 464 |
# File 'lib/Miyako/API/sprite_animation.rb', line 462 def broad_rect return self.rect end |
#changed? ⇒ Boolean
先の更新でパターンが更新されたかどうかを返す
- 返却値
-
true/false
421 422 423 |
# File 'lib/Miyako/API/sprite_animation.rb', line 421 def changed? return @changed end |
#character ⇒ Object
現在のキャラクター番号を取得する
- 返却値
-
キャラクター番号(0以上の整数)
308 309 310 |
# File 'lib/Miyako/API/sprite_animation.rb', line 308 def character return @cnum end |
#character=(cnum) ⇒ Object
キャラクター番号を設定する
キャラクター番号(アニメーションさせるときに表示させるパターン群インデックス) を設定する。範囲外のキャラクター番号が設定された時は何も行わない
- cnum
-
キャラクター番号
290 291 292 293 294 |
# File 'lib/Miyako/API/sprite_animation.rb', line 290 def character=(cnum) return self if (cnum < 0 || cnum >= @chrs) @cnum = cnum set_chr end |
#characters ⇒ Object
キャラクター数を取得する
- 返却値
-
キャラクター数(0以上の整数)
314 315 316 |
# File 'lib/Miyako/API/sprite_animation.rb', line 314 def characters return @chrs end |
#dispose ⇒ Object
インスタンスに束縛されているオブジェクトを解放する
467 468 469 470 471 472 473 |
# File 'lib/Miyako/API/sprite_animation.rb', line 467 def dispose @slist.clear @waits.clear @plist.clear @move_offset.clear @pos_offset.clear end |
#exec? ⇒ Boolean
アニメーションが実行中かを返す
- 返却値
-
アニメーションが実行されていれば true
427 428 429 |
# File 'lib/Miyako/API/sprite_animation.rb', line 427 def exec? return @exec end |
#h ⇒ Object
現在表示しているスプライトの高さを取得する
- 返却値
-
現在表示しているスプライトの高さ(ピクセル単位)
245 246 247 |
# File 'lib/Miyako/API/sprite_animation.rb', line 245 def h return @now.oh end |
#hide ⇒ Object
507 508 509 510 |
# File 'lib/Miyako/API/sprite_animation.rb', line 507 def hide @visible = false self end |
#initialize_copy(obj) ⇒ Object
複写時に呼び出されるメソッド
複写と同時に、本インスタンスに対するスナップの関係を解消するが、 新しいパターンスプライトとスナップをやり直す
213 214 215 216 217 218 219 220 221 |
# File 'lib/Miyako/API/sprite_animation.rb', line 213 def initialize_copy(obj) @slist = @slist.deep_dup @plist = @plist.dup @move_offset = @move_offset.dup @pos_offset = @pos_offset.dup @now = @slist[@plist[@pnum]] copy_layout @slist.each{|s| s.snap(self)} end |
#move_character(d) ⇒ Object
あとで書く
- d
-
あとで書く
- 返却値
-
あとで書く
299 300 301 302 303 304 |
# File 'lib/Miyako/API/sprite_animation.rb', line 299 def move_character(d) @cnum = (@cnum + d) % @chrs @cnum = @cnum + @chrs if @cnum < 0 set_chr return self end |
#oh ⇒ Object
現在表示しているスプライトのohを取得する
- 返却値
-
スプライトのoh
261 262 263 |
# File 'lib/Miyako/API/sprite_animation.rb', line 261 def oh return @now.oh end |
#ow ⇒ Object
現在表示しているスプライトのowを取得する
- 返却値
-
スプライトのow
255 256 257 |
# File 'lib/Miyako/API/sprite_animation.rb', line 255 def ow return @now.ow end |
#pattern ⇒ Object
現在表示しているパターンを取得する
- 返却値
-
現在表示しているスプライトのインスタンス
276 277 278 |
# File 'lib/Miyako/API/sprite_animation.rb', line 276 def pattern return @plist[@pnum] end |
#pattern=(pnum) ⇒ Object
表示するパターンの番号を変更する
- pnum
-
パターン番号
267 268 269 270 271 272 |
# File 'lib/Miyako/API/sprite_animation.rb', line 267 def pattern=(pnum) @pnum = pnum if pnum < @pats set_pat @cnt = @waits[@plist[@pnum]] if @exec return self end |
#patterns ⇒ Object
アニメーションのパターン数を取得する
- 返却値
-
パターン数(0以上の整数)
282 283 284 |
# File 'lib/Miyako/API/sprite_animation.rb', line 282 def patterns return @pats end |
#rect ⇒ Object
現在表示しているスプライトの大きさを矩形で取得する
- 返却値
-
生成された矩形(Rect構造体のインスタンス)
454 455 456 457 |
# File 'lib/Miyako/API/sprite_animation.rb', line 454 def rect v = @slist[@plist[@pnum]] return Rect.new(@now.x, @now.y, @now.ow, @now.oh) end |
#render ⇒ Object
アニメーションの現在の画像を画面に描画する
転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。 画面の描画範囲は、src側SpriteUnitの(x,y)を起点に設定にする。 ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|インスタンスのSpriteUnit|となる。 visibleメソッドの値がfalseのときは描画されない。
482 483 484 485 486 |
# File 'lib/Miyako/API/sprite_animation.rb', line 482 def render return self unless @visible return self unless @now @now.render_d(*@move_offset[@pnum]) end |
#render_to(dst) ⇒ Object
アニメーションの現在の画像を画像に描画する
転送元の描画範囲は、src側SpriteUnitの(ox,oy)を起点に、src側(ow,oh)の範囲で転送する。 転送先の描画範囲は、src側SpriteUnitの(x,y)を起点に設定にする。 ブロック付きで呼び出し可能(レシーバに対応したSpriteUnit構造体が引数として得られるので、補正をかけることが出来る) (ブロック引数のインスタンスは複写しているので、メソッドの引数として渡した値が持つSpriteUnitには影響しない) ブロックの引数は、|インスタンスのSpriteUnit,転送先のSpriteUnit|となる。 visibleメソッドの値がfalseのときは描画されない。
- dst
-
転送先ビットマップ(to_unitメソッドを呼び出すことが出来る/値がnilではないインスタンス)
496 497 498 499 500 |
# File 'lib/Miyako/API/sprite_animation.rb', line 496 def render_to(dst) return self unless @now pos = @now.move(*@move_offset[@pnum]) @now.render_xy_to(dst, *pos) end |
#reset ⇒ Object
アニメーションのパターンをリセットする
- 返却値
-
自分自身
413 414 415 416 417 |
# File 'lib/Miyako/API/sprite_animation.rb', line 413 def reset @pnum = 0 @cnt = 0 return self end |
#set_chr ⇒ Object
:nodoc:
401 402 403 404 405 406 407 408 409 |
# File 'lib/Miyako/API/sprite_animation.rb', line 401 def set_chr #:nodoc: @slist.each{|u| if @dir == :h u.ox = @chr_olen * @cnum else u.oy = @chr_olen * @cnum end } end |
#set_pat ⇒ Object
:nodoc:
397 398 399 |
# File 'lib/Miyako/API/sprite_animation.rb', line 397 def set_pat #:nodoc: @now = @slist[@plist[@pnum]] end |
#show ⇒ Object
502 503 504 505 |
# File 'lib/Miyako/API/sprite_animation.rb', line 502 def show @visible = true self end |
#start ⇒ Object
アニメーションを開始する
パターンがリセットされていないときは、一時停止から復帰した時と同じ動作をする
- 返却値
-
自分自身
321 322 323 324 325 326 327 328 329 330 331 332 333 |
# File 'lib/Miyako/API/sprite_animation.rb', line 321 def start return self if @exec set_pat if @dir == :h @now.oy += @pos_offset[@pnum] else @now.ox += @pos_offset[@pnum] end @cnt = @waits[@plist[@pnum]] @cnt.start if @cnt.kind_of?(WaitCounter) @exec = true return self end |
#stop ⇒ Object
アニメーションを停止する
停止しても、表示していたパターンはリセットされていない
- 返却値
-
自分自身
338 339 340 341 342 343 344 345 346 347 348 |
# File 'lib/Miyako/API/sprite_animation.rb', line 338 def stop return self unless @exec if @dir == :h @now.oy -= @pos_offset[@pnum] else @now.ox -= @pos_offset[@pnum] end @cnt.stop if @cnt.kind_of?(WaitCounter) @exec = false return self end |
#to_sprite(&block) ⇒ Object
現在実行中のパターンの元になったインスタンスを返す
取得するパターンは、元になったインスタンスのto_spriteメソッドを呼び出した時の値となる 引数1個のブロックを渡せば、スプライトに補正をかけることが出来る
- 返却値
-
現在表示しているスプライト
448 449 450 |
# File 'lib/Miyako/API/sprite_animation.rb', line 448 def to_sprite(&block) return @slist[@plist[@pnum]].to_sprite(&block) end |
#to_unit ⇒ Object
現在実行中のパターンの元になったスプライトユニットを返す
得られるインスタンスは内部でしようしてるものの複写
- 返却値
-
現在表示しているスプライトユニット
434 435 436 |
# File 'lib/Miyako/API/sprite_animation.rb', line 434 def to_unit return @now.dup end |
#toggle_exec ⇒ Object
アニメーションの開始・停止を切り替える
- 返却値
-
自分自身
352 353 354 355 356 357 358 359 |
# File 'lib/Miyako/API/sprite_animation.rb', line 352 def toggle_exec if @exec stop else start end return self end |
#update_animation ⇒ Object
アニメーションの更新を行う
アニメーションのカウントをチェックし、カウントが終了したときは新しいパターンに切り替えて、カウントを開始する すべてのパターンのアニメーションが終了すれば、最初のパターンに戻り、カウントを開始する 但し、インスタンス生成時に:loop->falseを設定していれば、アニメーションを終了する
- 返却値
-
アニメーションパターンが切り替わればtrue、切り替わらないとき、アニメーションが終了したときはfalseを返す
366 367 |
# File 'lib/Miyako/API/sprite_animation.rb', line 366 def update_animation end |
#update_frame ⇒ Object
:nodoc:
369 370 371 372 373 374 375 376 377 378 379 380 381 382 |
# File 'lib/Miyako/API/sprite_animation.rb', line 369 def update_frame #:nodoc: if @cnt > 0 @cnt -= 1 return false end @pnum = (@pnum + 1) % @pats if @loop == false && @pnum == 0 stop return false end set_pat @cnt = @waits[@plist[@pnum]] return true end |
#update_layout_position ⇒ Object
:nodoc:
249 250 251 |
# File 'lib/Miyako/API/sprite_animation.rb', line 249 def update_layout_position #:nodoc: @slist.each{|u| u.move_to!(*@layout.pos) } end |
#update_wait_counter ⇒ Object
:nodoc:
384 385 386 387 388 389 390 391 392 393 394 395 |
# File 'lib/Miyako/API/sprite_animation.rb', line 384 def update_wait_counter #:nodoc: return false if @cnt.waiting? @pnum = (@pnum + 1) % @pats if @loop == false && @pnum == 0 stop return false end set_pat @cnt = @waits[@plist[@pnum]] @cnt.start return true end |
#w ⇒ Object
現在表示しているスプライトの幅を取得する
- 返却値
-
現在表示しているスプライトの幅(ピクセル単位)
239 240 241 |
# File 'lib/Miyako/API/sprite_animation.rb', line 239 def w return @now.ow end |
#x ⇒ Object
現在表示しているスプライトの x 座標の値を取得する
- 返却値
-
x 座標の値
227 228 229 |
# File 'lib/Miyako/API/sprite_animation.rb', line 227 def x return @now.x end |
#y ⇒ Object
現在表示しているスプライトの y 座標の値を取得する
- 返却値
-
y 座標の値
233 234 235 |
# File 'lib/Miyako/API/sprite_animation.rb', line 233 def y return @now.y end |