render_textureの返り値

2 views
Skip to first unread message

Daigo

unread,
Jul 24, 2008, 5:33:52 PM7/24/08
to Star Ruby
Texture::render_texture の返り値ですが、現在nilですよね?
Textureが返るようにはなりませんか?

(例:4方向の矢印を生成)

t = Texture.load("res/arrow")

@arrow_textures = []
@arrow_textures << Texture.new(16, 16).render_texture(t, 0,
0)
@arrow_textures << Texture.new(16, 16).render_texture(t, 0,
0, :angle => 90.degree)
@arrow_textures << Texture.new(16, 16).render_texture(t, 0,
0, :angle => 180.degree)
@arrow_textures << Texture.new(16, 16).render_texture(t, 0,
0, :angle => 270.degree)

こういう風にかきたいのです。

ISA

unread,
Jul 24, 2008, 7:08:28 PM7/24/08
to Star Ruby
賛成です。

bg = Texture.load("bg")
fg = Texture.load("fg")

@game.screen.render_texture(bg, 0, 0).render_texture(fg, 0, 0)

こういう感じにもかけるようになりますね。
メソッドチェインが使えるようになるのはRubyらしくて良いと思います。

Hajime Hoshi

unread,
Jul 24, 2008, 11:14:11 PM7/24/08
to star...@googlegroups.com
星です。

2008/07/25 6:33 Daigo <daigo.g...@gmail.com>:


>
> Texture::render_texture の返り値ですが、現在nilですよね?
> Textureが返るようにはなりませんか?

了解しました。
特に問題なさそうなので他の描画系メソッドもそうしてしまいましょう。

Ruby 1.8.7 や 1.9 だと Object#tap が使えるんですがー。

例)
@arrow_textures << Texture.new(16, 16).tap{|x| x.render_texture(t, 0,
0, :angle => 270.degree)}

--
Hajime Hoshi <hajim...@gmail.com>

Reply all
Reply to author
Forward
0 new messages