Gdk::Pixbufクラスでスプライトアニメーションしてみた。
入手先
またしても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とかないのかな。
増えると処理速度が遅くなりそう。 どこまで使えるのか。