[OKRG.UCOZ.RU ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » VB.NET совместно с XNA » XNA » Урок 4 часть 2 (Дополнительные знания)
Урок 4 часть 2
=FenikS=Дата: Пятница, 15.04.2016, 23:03 | Сообщение # 1
Сержант
Группа: Администраторы
Сообщений: 24
Репутация: 32767
Статус: Offline
Движение объекта по его направлению

Код
Public Class Players
Public BLeft As Keys = Keys.A
    Public BRight As Keys = Keys.D
    Public BMoveUp As Keys = Keys.W
    Public BMoveBack As Keys = Keys.S
    Public BShot As Keys = Keys.F
    Public PlayerDirection As Vector2
    Public PlayerPosition As Vector2 = New Vector2(100, 100)
    Public PlayerRect As Rectangle
    Public PlayerRotate As Single = 0.0F
    Public MoveSpeed As Integer = 5
    Public PlayerTexture As Texture2D

Public Sub LoadContent()
   PlayerTexture = Globals.Content.Load(Of Texture2D)("Player\p1")
End Sub

Public Sub Update(ByVal gameTime As GameTime)
PlayerRect = New Rectangle(0, 0, 112, 75)
If Keyboard.GetState(PlayerInd).IsKeyDown(BLeft) = True Or GamePad.GetState(PlayerInd).IsButtonDown(JLeft) = True Then
                If PlayerRotate < -6.2F Then
                    PlayerRotate = 0.0F
                Else
                    PlayerRotate -= 0.1F
                End If
            End If
            If Keyboard.GetState(PlayerInd).IsKeyDown(BRight) = True Or GamePad.GetState(PlayerInd).IsButtonDown(JRight) = True Then
                If PlayerRotate > 6.2F Then
                    PlayerRotate = 0.0F
                Else
                    PlayerRotate += 0.1F
                End If
            End If
If Keyboard.GetState(PlayerInd).IsKeyDown(BMoveUp) = True Then
                    PlayerDirection.X = CSng(Math.Sin(PlayerRotate))
                    PlayerDirection.Y = -CSng(Math.Cos(PlayerRotate))
                    PlayerPosition.X += PlayerDirection.X * MoveSpeed
                    PlayerPosition.Y += PlayerDirection.Y * MoveSpeed
End If
End Sub

Public Sub Draw(ByVal gameTime As GameTime)
    Globals.spriteBatch.Draw(PlayerTexture, PlayerPosition, PlayerRect, PlayerColor, PlayerRotate, New Vector2(56, 37), New Vector2(0.5F), SpriteEffects.None, 0)
End Sub
End Class
 
Форум » VB.NET совместно с XNA » XNA » Урок 4 часть 2 (Дополнительные знания)
  • Страница 1 из 1
  • 1
Поиск: