0

私は LCD 画面を備えたマイクロプロセッサに取り組んでおり、いくつかのスプライトをランダムに表示するコードを書いています。

void setup_sprite() {

Sprite sprite[8];
Sprite * sprite_pointer = &sprite;
byte sprite_bitmap [] = {
BYTE( 10100000 ),
BYTE( 01000000 ),
BYTE( 10100000 )
};
const int width = 3;
const int height = 3;

for (int i = 0; i < 8; i++) {
    init_sprite(&sprite, rand()%82, rand()%43, 3, 3, sprite_bitmap);//83/43 is the LCD screen dimensions
    draw_sprite(&sprite);
    refresh();
    }
return 0;
}

描画できる場所に境界を設定するにはどうすればよいですか? 画面上の特定の領域内にのみ描画する必要があります。スプライトが境界の外側に描画された場合、正しくなるまで再描画する if ステートメントを考えていました。

具体的には、画面の左側から約 10 ピクセルがメニュー用に残っているため、その領域にスプライトを描画しないでください。

4

1 に答える 1

0

以来

rand() % 82

0 から 81 までのランダムな値を生成します。これを次のように変更できます。

10 + rand() % 72

代わりに 10 から 81 の間のランダムな値を生成します。これは、x 座標に必要なものだと思います。

于 2015-05-15T02:34:58.963 に答える