2

そこで、Allegroを使用してゲームを作成し、ボードを表すALLEGRO_BITMAPタイプのオブジェクトの配列を作成しようとしました。これにより、ゲームの開始時に画像ファイルを一度にロードでき、ロードする必要がなくなりました。それらを再描画したいときはいつでも。私はそのようにそれをしようとしました:

ALLEGRO_BITMAP files[10];

次のコンパイルエラーが発生します:'フィールドのタイプが不完全ですALLEGRO_BITMAP'

私も試しました:

ALLEGRO_BITMAP* files = new ALLEGRO_BITMAP[10];

コンパイルエラーが発生します:'不完全なタイプALLEGRO_BITMAPの割り当て'

これは、コンパイラがALLEGRO_BITMAPタイプのサイズを知らず、したがってこのタイプの配列にメモリを割り当てる方法を知らないことに関係していると感じています(ただし、間違っている場合は誰かが私を修正できます)。誰かがこれを回避する方法を知っているかどうか疑問に思いましたか?または、タイルを再描画するときに画像ファイルをロードするのではなく、ALLEGRO_BITMAPオブジェクトを事前に保存するという目標を達成する別の方法はありますか?私は明らかに10の異なる変数を作成し、それらにファイルを保存することができますが、これは大雑把です。ベクトルも使おうとしましたが、うまくいきませんでした。

4

1 に答える 1

3

Allegro5のデータ型のほとんどは不透明です。

ポインタの配列を作成する必要があります。

ALLEGRO_BITMAP *files[10];
files[0] = al_create_bitmap(640, 480);
于 2012-06-06T13:50:32.247 に答える