Same thing happens when I use CdarkGDK.
Module SpriteTest1
Sub main()
DGDKPlugins.CDarkGDK.InitDarkGDK()
'DarkGDK.Engine.InitializeGDK()
DGDKPlugins.CDarkGDK.oDBDisplay.SetDisplayMode(800, 600, 16)
'DarkGDK.Display.SetDisplayMode(800, 600, 16)
DGDKPlugins.CDarkGDK.oDBImage.LoadImage("meteor4.png", 1)
'Dim img_M As New DarkGDK.Basic2D.Image("meteor4.png")
DGDKPlugins.CDarkGDK.oDBSprite.Sprite(1, 200, 200, 1)
'Dim mtr As New DarkGDK.Basic2D.Sprite(200, 200, img_M)
DGDKPlugins.CDarkGDK.oDBSprite.RotateSprite(1, 45)
'mtr.RotationAngle = 45
While DGDKPlugins.CDarkGDK.oDBP.LoopGDK = True
'While DarkGDK.Engine.LoopGDK = True
'If DarkGDK.IO.Keyboard.Left() = True Then mtr.RotationAngle = DarkGDK.Core.WrapValue(mtr.RotationAngle + 3.0)
'If DarkGDK.IO.Keyboard.Right() = True Then mtr.RotationAngle = DarkGDK.Core.WrapValue(mtr.RotationAngle - 3.0)
Dim r As Single
r = DGDKPlugins.CDarkGDK.oDBSprite.SpriteAngle(1)
If DGDKPlugins.CDarkGDK.oDBInput.LeftKey() = 1 Then r += 3
If DGDKPlugins.CDarkGDK.oDBInput.RightKey() = 1 Then r -= 3
r = DGDKPlugins.CDarkGDK.oDBCore.WrapValue(r)
DGDKPlugins.CDarkGDK.oDBSprite.RotateSprite(1, r)
'mtr.Move(1)
DGDKPlugins.CDarkGDK.oDBSprite.MoveSprite(1, 1)
'test: copy values into new address
Dim NewX As Int32
Dim NewY As Int32
'NewX = mtr.X
'NewY = mtr.Y
NewX = DGDKPlugins.CDarkGDK.oDBSprite.SpriteX(1)
NewY = DGDKPlugins.CDarkGDK.oDBSprite.SpriteY(1)
NewX = WrapScreenTest(NewX, 0, 800)
NewY = WrapScreenTest(NewY, 0, 600)
DGDKPlugins.CDarkGDK.oDBSprite.Sprite(1, NewX, NewY, 1)
'mtr.Position(NewX, NewY)
DGDKPlugins.CDarkGDK.oDBText.Text(10, 10, r.ToString)
'DarkGDK.Text.ShowText(10, 10, mtr.RotationAngle.ToString)
DGDKPlugins.CDarkGDK.oDBCore.Sync()
'DarkGDK.Core.Sync()
End While
End Sub
Function WrapScreenTest(ByVal Value As Int32, ByVal Minimum As Int32, ByVal Maximum As Int32) As Int32
Dim Ret As Int32
Ret = Value
If Value < Minimum Then
Ret = Maximum - System.Math.Abs(Value)
End If
If Value > Maximum Then
Ret = Minimum + (Value - Maximum)
End If
If Ret < Minimum Then
Ret = Minimum
End If
If Ret > Maximum Then
Ret = Maximum
End If
Return Ret
End Function
End Module