3

Linux で C と GTK を使用して、基本的なスロット マシンのシミュレーションを作成しました。スロットマシンは 5 リールで、各リールには 3 つのシンボルがあります。回転アクションを「アニメーション化」するために、GtkImages の配列 3,5 を含むアニメーション GIF を使用しています。

リールごとに垂直方向のアニメーションが行われる適切なスロット マシンのように見せたいと思っています。リール上のシンボルから pixmap または pixbuf を構築する必要があると想像します。g_timer_add() を使用して、GtkImage 上の pixmap の可視部分を変更します。私は Gtk+ を初めて使用するので、誰かがこのタイプのアニメーションの簡単な例や優れたドキュメントを持っていれば、私は永遠に感謝します.

ありがとうございました。

4

1 に答える 1

1

GtkImage の代わりに GtkDrawingArea を使用して、必要に応じてそこに描画できるようにします。リールを展開したかのように、考えられるすべての画像を垂直 PNG 画像に入れます。次に、これを pixbuf にロードし、cairo を使用してサーフェスを作成します。cairo を使用して、その大きな画像の小さなサブセットを描画するだけで済みます。これは、その大きな画像への垂直方向のオフセットによって参照できます。g_timer_add でタイマーを使用して、1 秒あたりの十分なフレーム数でリフレッシュします (必要な速度を計算します)。タイマー コールバックを当然のことと考えないでください。コールバックの起動に遅延が生じる場合があります。最良の方法は、GTimer を使用してリールを回転させたい時間に開始し、g_timer_add コールバックで GTimer を開始してからの経過時間を測定することです。これにより、画像へのオフセットを計算できます。

于 2012-04-23T12:34:02.473 に答える