読者です 読者をやめる 読者になる 読者になる

やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Pixbufでスプライトアニメーション

Gdk::Pixbufクラスでスプライトアニメーションしてみた。

Window

入手先

GitHub YahooBox MEGA

またしてもMEGAにログインできず。最近不安定。折を見てそのうちUPする。(2016/09/12追加) とりあえず一旦YahooBoxにUPした。

キモ

関数 意味
Gdk::Pixbuf::create_from_file(path); ファイルからPixbufオブジェクトを取得する
Gdk::Pixbuf::create_subpixbuf(m_pixbufGif, x, y, width, height); 切り取ったPixbufオブジェクトを取得する
m_oneImage->scale_simple(width, height, Gdk::INTERP_NEAREST); 拡大縮小する

C:\gtkmm\include\gdkmm-2.4\gdkmm\pixbuf.hファイルをみてそれっぽい関数を探して使ってみた。

1枚の画像から2枚の画像を切り出して2コマにしている。 500ミリ秒ごとに切り替えている。

元画像は以下。

元画像

本当のキモはタイマーかもしれない。

Glib::signal_timeout().connect( sigc::mem_fun( *this, &MyArea::on_timeout ), 500 );

でもタイマーはに学習済み。

所感

アニメーションといえばスプライト。 やってみたいことができた。 驚くほどあっさりできて拍子抜け。

でも、複数のスプライトとなると大変そう。 スプライトclassとかないのかな。

増えると処理速度が遅くなりそう。 どこまで使えるのか。