Я строю 2D-игру, где пользователь представляет собой круг (: P), а враги - это прямоугольники, идущие на него. Тем не менее, моя проблема в том, что когда я разместил очень красивое изображение пространства, которое я нашел в Интернете, экран рисует все, что у него есть под этим изображением. Все работает, я все еще вижу, как мои жизни снижаются, когда что-то сталкивается со мной - кроме того, что все это скрыто этой картиной.Как рисовать над картиной в VB.NET
В общем, мой вопрос: Как я рисовать все Поверх этого - (я попытался с помощью «Send To Back» Command)
EDIT: Форма рисует все через таймер, и пользователь управляет своим персонажем с помощью клавиш. Это, вероятно, не поможет, но если это так, то здесь. Извините, люди не думали, что вам нужен код. Вот он:
В процедуре 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)
Хорошо: Игрок прямоугольник объявлен на самом верху, Dim Player As New Rectangle(0, 0, 50, 50)
; Существует тогда массив объектов, в котором хранятся все данные о врагах, идущих на игрока, Current_Projectiles - это просто массив для хранения данных о прямоугольниках (пулях), которые игрок запускает.
Все, что вы хотите знать, просто дайте мне знать.
Опубликуйте код, который используете. Вы компенсируете координаты чертежа, чтобы компенсировать изображение? –
Хорошо добавил код. Как вы думаете? – Azerty560