私は、ユーザーが円(:P)であり、敵が彼に向かってくる長方形である2Dゲームを構築しています。しかし、私の問題は、インターネット上で見つけた非常に素晴らしい空間の画像を配置すると、画面がこの画像の下に必要なものをすべて描画することです。すべてがうまくいきますが、何かが私に衝突したとき、私はまだ私の人生が下がっているのを見ることができます-それがすべてこの写真で覆われているという事実を除いて。
一言で言えば、私の質問は次のとおりです。これの上にすべてを描画するにはどうすればよいですか-(「SendToBack」コマンドを使用してみました)
編集:フォームはタイマーを介してすべてを描画し、ユーザーはキーを使用してキャラクターを制御します。これはおそらく役に立たないでしょう-しかし、もしそうなら、それはここにあります。申し訳ありませんが、コードが必要だとは思われませんでした。ここにあります:
mybase.loadプロシージャの場合:
PicBackGround.Dock = DockStyle.Fill
PicBackGroundは、画像を含む画像ボックスです。
塗装手順:
e.Graphics.Clear(Color.Black)
e.Graphics.FillEllipse(Brushes.Orange, Player)
'Projectiles
Dim i As Integer = 0
Do
If Current_Projectile(i).IsEmpty = False Then e.Graphics.FillRectangle(Brushes.Red, Current_Projectile(i))
i += 1
Loop Until i = UBound(Current_Projectile)
'Objects
i = 0
Do
If Objects(i).IsEmpty = False Then e.Graphics.FillRectangle(Brushes.Blue, Objects(i))
i += 1
Loop Until i = UBound(Objects)
わかりました:Playerは、一番上で宣言された長方形 Dim Player As New Rectangle(0, 0, 50, 50)
です; 次に、プレーヤーに来る敵に関するすべてのデータを格納する配列Objectsがあります。Current_Projectilesは、プレーヤーが発射する長方形(弾丸)に関するデータを格納するための単純な配列です。
他に知りたいことがあれば、私に知らせてください。