SMFL Sprite Problem

  • VB.NET

    SMFL Sprite Problem

    Hallo liebe leute,

    ich habe mir die SMFL Version 1.6 hier aus dem Forum geladen (SFML: einfache 2D GrafikEngine) und wollte nun eine JPG Datei laden was einfach nicht klappen will.

    Fehler:
    Eine Ausnahme (erste Chance) des Typs "System.DllNotFoundException" ist in sfmlnet-graphics.dll aufgetreten.
    Eine Ausnahme (erste Chance) des Typs "System.DllNotFoundException" ist in sfmlnet-graphics.dll aufgetreten.

    VB.NET-Quellcode

    1. Imports SFML
    2. Public Class Form1
    3. Public WithEvents RenderWindow As Graphics.RenderWindow
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. End Sub
    6. Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
    7. Me.Hide()
    8. RunRenderEngine()
    9. End Sub
    10. Dim Sprite As Graphics.Sprite
    11. Sub RunRenderEngine()
    12. 'Unser RenderWindow wird mit einer Zeile erstellt und ist dann einsatzbereit
    13. RenderWindow = New Graphics.RenderWindow(New Window.VideoMode(800, 600), "SFML TEST")
    14. 'Hier können einige Einstellungen vorgenommen werden
    15. With RenderWindow
    16. '.SetFramerateLimit(120) 'Framerate auf 120 FPS begrenzen
    17. '.UseVerticalSync(True) 'Verticale Sync - geringere Framerate!
    18. .ShowMouseCursor(False) 'lässt den mouseCursor verschwinden
    19. End With
    20. 'Grafiken etc werden geladen
    21. Sprite = New Graphics.Sprite(New Graphics.Image("C:\Users\Daniel\Desktop\10f4c37facbb40dc8fd423697f5e9eda.bmp"))
    22. 'Der RenderLoop..
    23. Do While RenderWindow.IsOpened
    24. 'Die Zeile lässt die Events ausführen (z.b. Tastatureingaben etc)
    25. RenderWindow.DispatchEvents()
    26. 'ZEICHENOPERATIONEN:
    27. 'färbt den Bildschirm schwarz
    28. RenderWindow.Clear(New Graphics.Color(0, 0, 0))
    29. 'zeichnet ein sprite auf den bildshcrim
    30. RenderWindow.Draw(Sprite)
    31. 'Zeichnet die FPS zahl auf den Bildschrim
    32. RenderWindow.Draw(New Graphics.String2D("FPS: " & (Math.Round(1 / RenderWindow.GetFrameTime).ToString)))
    33. 'Aktualisiert den Bildschirm
    34. RenderWindow.Display()
    35. 'verhindert ein "einfrieren" der GUI. Man könnte den Renderloop sicherlich auch in einem Thread auslagern..
    36. Application.DoEvents()
    37. Loop
    38. End Sub
    39. Private Sub RenderWindow_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles RenderWindow.Closed
    40. RenderWindow.Close()
    41. Me.Close()
    42. End Sub
    43. Private Sub RenderWindow_KeyPressed(ByVal sender As Object, ByVal e As SFML.Window.KeyEventArgs) Handles RenderWindow.KeyPressed
    44. 'einige tasten funsen nciht - ESC, PFeiltasten ..
    45. 'hier kann die position des sprite mittels WASD verändert werden
    46. Dim _x As Single = Sprite.Position.X
    47. Dim _y As Single = Sprite.Position.Y
    48. If e.Code = Window.KeyCode.W Then _y -= 10
    49. If e.Code = Window.KeyCode.S Then _y += 10
    50. If e.Code = Window.KeyCode.A Then _x -= 10
    51. If e.Code = Window.KeyCode.D Then _x += 10
    52. Sprite.Position = New Graphics.Vector2(_x, _y)
    53. End Sub
    54. End Class


    Die Datei Existiert natürlich auf dem Desktop.

    Wenn ich aus dem Form_Shown Event das Me.hide Lösche dann sieht man das sieht die Form beim Start aufhängt!

    Es geht mir nicht darum den ganzen Code zu Kopieren sondern zu verstehen.

    Kann mir einer Tipps geben?

    Danke
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „pc-werkstatt“ ()