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
現在表示しているスプライトの高さを取得する 返却値:: 現在表示しているスプライトの高さ(ピクセル単位).
-
#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:.
-
#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
#hide, #image_rect, #image_size, #oh=, #ow=, #ox, #ox=, #oy, #oy=, #part_rect, #render_d, #render_xy, #render_xy_to, #show, #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 209 210 211 212 |
# 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.snap(self) # ss.left!.top! 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)
444 445 446 |
# File 'lib/Miyako/API/sprite_animation.rb', line 444 def bitmap return @now.bitmap end |
#broad_rect ⇒ Object
現在表示しているスプライトの最大の大きさを矩形で取得する
現在のパターンの大きさと同じため、rectメソッドの値と同一となる
- 返却値
-
生成された矩形(Rect構造体のインスタンス)
466 467 468 |
# File 'lib/Miyako/API/sprite_animation.rb', line 466 def broad_rect return self.rect end |
#changed? ⇒ Boolean
先の更新でパターンが更新されたかどうかを返す
- 返却値
-
true/false
425 426 427 |
# File 'lib/Miyako/API/sprite_animation.rb', line 425 def changed? return @changed end |
#character ⇒ Object
現在のキャラクター番号を取得する
- 返却値
-
キャラクター番号(0以上の整数)
312 313 314 |
# File 'lib/Miyako/API/sprite_animation.rb', line 312 def character return @cnum end |
#character=(cnum) ⇒ Object
キャラクター番号を設定する
キャラクター番号(アニメーションさせるときに表示させるパターン群インデックス) を設定する。範囲外のキャラクター番号が設定された時は何も行わない
- cnum
-
キャラクター番号
294 295 296 297 298 |
# File 'lib/Miyako/API/sprite_animation.rb', line 294 def character=(cnum) return self if (cnum < 0 || cnum >= @chrs) @cnum = cnum set_chr end |
#characters ⇒ Object
キャラクター数を取得する
- 返却値
-
キャラクター数(0以上の整数)
318 319 320 |
# File 'lib/Miyako/API/sprite_animation.rb', line 318 def characters return @chrs end |
#dispose ⇒ Object
インスタンスに束縛されているオブジェクトを解放する
471 472 473 474 475 476 477 |
# File 'lib/Miyako/API/sprite_animation.rb', line 471 def dispose @slist.clear @waits.clear @plist.clear @move_offset.clear @pos_offset.clear end |
#exec? ⇒ Boolean
アニメーションが実行中かを返す
- 返却値
-
アニメーションが実行されていれば true
431 432 433 |
# File 'lib/Miyako/API/sprite_animation.rb', line 431 def exec? return @exec end |
#h ⇒ Object
現在表示しているスプライトの高さを取得する
- 返却値
-
現在表示しているスプライトの高さ(ピクセル単位)
249 250 251 |
# File 'lib/Miyako/API/sprite_animation.rb', line 249 def h return @now.oh end |
#initialize_copy(obj) ⇒ Object
複写時に呼び出されるメソッド
複写と同時に、本インスタンスに対するスナップの関係を解消するが、 新しいパターンスプライトとスナップをやり直す
217 218 219 220 221 222 223 224 225 |
# File 'lib/Miyako/API/sprite_animation.rb', line 217 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
-
あとで書く
- 返却値
-
あとで書く
303 304 305 306 307 308 |
# File 'lib/Miyako/API/sprite_animation.rb', line 303 def move_character(d) @cnum = (@cnum + d) % @chrs @cnum = @cnum + @chrs if @cnum < 0 set_chr return self end |
#oh ⇒ Object
現在表示しているスプライトのohを取得する
- 返却値
-
スプライトのoh
265 266 267 |
# File 'lib/Miyako/API/sprite_animation.rb', line 265 def oh return @now.oh end |
#ow ⇒ Object
現在表示しているスプライトのowを取得する
- 返却値
-
スプライトのow
259 260 261 |
# File 'lib/Miyako/API/sprite_animation.rb', line 259 def ow return @now.ow end |
#pattern ⇒ Object
現在表示しているパターンを取得する
- 返却値
-
現在表示しているスプライトのインスタンス
280 281 282 |
# File 'lib/Miyako/API/sprite_animation.rb', line 280 def pattern return @plist[@pnum] end |
#pattern=(pnum) ⇒ Object
表示するパターンの番号を変更する
- pnum
-
パターン番号
271 272 273 274 275 276 |
# File 'lib/Miyako/API/sprite_animation.rb', line 271 def pattern=(pnum) @pnum = pnum if pnum < @pats set_pat @cnt = @waits[@plist[@pnum]] if @exec return self end |
#patterns ⇒ Object
アニメーションのパターン数を取得する
- 返却値
-
パターン数(0以上の整数)
286 287 288 |
# File 'lib/Miyako/API/sprite_animation.rb', line 286 def patterns return @pats end |
#rect ⇒ Object
現在表示しているスプライトの大きさを矩形で取得する
- 返却値
-
生成された矩形(Rect構造体のインスタンス)
458 459 460 461 |
# File 'lib/Miyako/API/sprite_animation.rb', line 458 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のときは描画されない。
486 487 488 489 490 491 |
# File 'lib/Miyako/API/sprite_animation.rb', line 486 def render return self unless @now # pos = @now.move(*@move_offset[@pnum]) # @now.render_xy(*pos) @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ではないインスタンス)
501 502 503 504 505 |
# File 'lib/Miyako/API/sprite_animation.rb', line 501 def render_to(dst) return self unless @now pos = @now.move(*@move_offset[@pnum]) @now.render_xy_to(dst, *pos) end |
#reset ⇒ Object
アニメーションのパターンをリセットする
- 返却値
-
自分自身
417 418 419 420 421 |
# File 'lib/Miyako/API/sprite_animation.rb', line 417 def reset @pnum = 0 @cnt = 0 return self end |
#set_chr ⇒ Object
:nodoc:
405 406 407 408 409 410 411 412 413 |
# File 'lib/Miyako/API/sprite_animation.rb', line 405 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:
401 402 403 |
# File 'lib/Miyako/API/sprite_animation.rb', line 401 def set_pat #:nodoc: @now = @slist[@plist[@pnum]] end |
#start ⇒ Object
アニメーションを開始する
パターンがリセットされていないときは、一時停止から復帰した時と同じ動作をする
- 返却値
-
自分自身
325 326 327 328 329 330 331 332 333 334 335 336 337 |
# File 'lib/Miyako/API/sprite_animation.rb', line 325 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
アニメーションを停止する
停止しても、表示していたパターンはリセットされていない
- 返却値
-
自分自身
342 343 344 345 346 347 348 349 350 351 352 |
# File 'lib/Miyako/API/sprite_animation.rb', line 342 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個のブロックを渡せば、スプライトに補正をかけることが出来る
- 返却値
-
現在表示しているスプライト
452 453 454 |
# File 'lib/Miyako/API/sprite_animation.rb', line 452 def to_sprite(&block) return @slist[@plist[@pnum]].to_sprite(&block) end |
#to_unit ⇒ Object
現在実行中のパターンの元になったスプライトユニットを返す
得られるインスタンスは内部でしようしてるものの複写
- 返却値
-
現在表示しているスプライトユニット
438 439 440 |
# File 'lib/Miyako/API/sprite_animation.rb', line 438 def to_unit return @now.dup end |
#toggle_exec ⇒ Object
アニメーションの開始・停止を切り替える
- 返却値
-
自分自身
356 357 358 359 360 361 362 363 |
# File 'lib/Miyako/API/sprite_animation.rb', line 356 def toggle_exec if @exec stop else start end return self end |
#update_animation ⇒ Object
アニメーションの更新を行う
アニメーションのカウントをチェックし、カウントが終了したときは新しいパターンに切り替えて、カウントを開始する すべてのパターンのアニメーションが終了すれば、最初のパターンに戻り、カウントを開始する 但し、インスタンス生成時に:loop->falseを設定していれば、アニメーションを終了する
- 返却値
-
アニメーションパターンが切り替わればtrue、切り替わらないとき、アニメーションが終了したときはfalseを返す
370 371 |
# File 'lib/Miyako/API/sprite_animation.rb', line 370 def update_animation end |
#update_frame ⇒ Object
:nodoc:
373 374 375 376 377 378 379 380 381 382 383 384 385 386 |
# File 'lib/Miyako/API/sprite_animation.rb', line 373 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:
253 254 255 |
# File 'lib/Miyako/API/sprite_animation.rb', line 253 def update_layout_position #:nodoc: @slist.each{|u| u.move_to!(*@layout.pos) } end |
#update_wait_counter ⇒ Object
:nodoc:
388 389 390 391 392 393 394 395 396 397 398 399 |
# File 'lib/Miyako/API/sprite_animation.rb', line 388 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
現在表示しているスプライトの幅を取得する
- 返却値
-
現在表示しているスプライトの幅(ピクセル単位)
243 244 245 |
# File 'lib/Miyako/API/sprite_animation.rb', line 243 def w return @now.ow end |
#x ⇒ Object
現在表示しているスプライトの x 座標の値を取得する
- 返却値
-
x 座標の値
231 232 233 |
# File 'lib/Miyako/API/sprite_animation.rb', line 231 def x return @now.x end |
#y ⇒ Object
現在表示しているスプライトの y 座標の値を取得する
- 返却値
-
y 座標の値
237 238 239 |
# File 'lib/Miyako/API/sprite_animation.rb', line 237 def y return @now.y end |