@@ -24,38 +24,45 @@ music = sfMusic_createFromFile(joinpath(@__DIR__, "Chrono_Trigger.ogg"))
2424
2525sfMusic_play (music)
2626
27- event_ref = Ref {sfEvent} ()
28-
29- while Bool (sfRenderWindow_isOpen (window))
30- # process events
31- while Bool (sfRenderWindow_pollEvent (window, event_ref))
32- # close window : exit
33- event_ref[]. type == sfEvtClosed && sfRenderWindow_close (window)
34- event_ref[]. type == sfEvtResized && println (" Trigger sfEvtResized." )
35- event_ref[]. type == sfEvtLostFocus && println (" Trigger sfEvtLostFocus." )
36- event_ref[]. type == sfEvtGainedFocus && println (" Trigger sfEvtGainedFocus." )
37- event_ref[]. type == sfEvtTextEntered && println (" Trigger sfEvtTextEntered: $(event_ref[]. text. unicode) " )
38- event_ref[]. type == sfEvtKeyPressed && println (" Trigger sfEvtKeyPressed: $(event_ref[]. key. code) " )
39- event_ref[]. type == sfEvtKeyReleased && println (" Trigger sfEvtKeyReleased: $(event_ref[]. key. code) " )
40- event_ref[]. type == sfEvtMouseWheelMoved && println (" Trigger sfEvtMouseWheelMoved: $(event_ref[]. mouseWheel. sfMouseVerticalWheel) " )
41- event_ref[]. type == sfEvtMouseWheelScrolled && println (" Trigger sfEvtMouseWheelScrolled: $(event_ref[]. mouseWheel. sfMouseVerticalWheel) " )
42- event_ref[]. type == sfEvtMouseButtonPressed && println (" Trigger sfEvtMouseButtonPressed: $(event_ref[]. mouseButton. button) " )
43- event_ref[]. type == sfEvtMouseButtonReleased && println (" Trigger sfEvtMouseButtonReleased: $(event_ref[]. mouseButton. x) , $(event_ref[]. mouseButton. y) " )
44- event_ref[]. type == sfEvtMouseMoved && println (" Trigger sfEvtMouseMoved: $(event_ref[]. mouseMove. x) , $(event_ref[]. mouseMove. y) " )
27+ try
28+ event_ref = Ref {sfEvent} ()
29+ while Bool (sfRenderWindow_isOpen (window))
30+ # process events
31+ while Bool (sfRenderWindow_pollEvent (window, event_ref))
32+ # close window : exit
33+ event_ref[]. type == sfEvtClosed && sfRenderWindow_close (window)
34+ event_ref[]. type == sfEvtResized && println (" Trigger sfEvtResized." )
35+ event_ref[]. type == sfEvtLostFocus && println (" Trigger sfEvtLostFocus." )
36+ event_ref[]. type == sfEvtGainedFocus && println (" Trigger sfEvtGainedFocus." )
37+ event_ref[]. type == sfEvtTextEntered && println (" Trigger sfEvtTextEntered: $(event_ref[]. text. unicode) " )
38+ event_ref[]. type == sfEvtKeyPressed && println (" Trigger sfEvtKeyPressed: $(event_ref[]. key. code) " )
39+ event_ref[]. type == sfEvtKeyReleased && println (" Trigger sfEvtKeyReleased: $(event_ref[]. key. code) " )
40+ event_ref[]. type == sfEvtMouseWheelMoved && println (" Trigger sfEvtMouseWheelMoved: $(event_ref[]. mouseWheel. x) , $(event_ref[]. mouseWheel. y) " )
41+ event_ref[]. type == sfEvtMouseWheelScrolled && println (" Trigger sfEvtMouseWheelScrolled: $(event_ref[]. mouseWheelScroll. wheel) " )
42+ event_ref[]. type == sfEvtMouseButtonPressed && println (" Trigger sfEvtMouseButtonPressed: $(event_ref[]. mouseButton. button) " )
43+ event_ref[]. type == sfEvtMouseButtonReleased && println (" Trigger sfEvtMouseButtonReleased: $(event_ref[]. mouseButton. x) , $(event_ref[]. mouseButton. y) " )
44+ event_ref[]. type == sfEvtMouseMoved && println (" Trigger sfEvtMouseMoved: $(event_ref[]. mouseMove. x) , $(event_ref[]. mouseMove. y) " )
45+ end
46+ # clear the screen
47+ sfRenderWindow_clear (window, sfColor_fromRGBA (0 ,0 ,0 ,1 ))
48+ # draw the sprite
49+ sfRenderWindow_drawSprite (window, sprite, C_NULL )
50+ # draw the text
51+ sfRenderWindow_drawText (window, text, C_NULL )
52+ # update the window
53+ sfRenderWindow_display (window)
4554 end
46- # clear the screen
47- sfRenderWindow_clear (window, sfColor_fromRGBA (0 ,0 ,0 ,1 ))
48- # draw the sprite
49- sfRenderWindow_drawSprite (window, sprite, C_NULL )
50- # draw the text
51- sfRenderWindow_drawText (window, text, C_NULL )
52- # update the window
53- sfRenderWindow_display (window)
55+ catch e
56+ @error " Error in renderloop!" exception= e
57+ Base. show_backtrace (stderr , catch_backtrace ())
58+ finally
59+ sfMusic_destroy (music)
60+ sfText_destroy (text)
61+ sfFont_destroy (font)
62+ sfSprite_destroy (sprite)
63+ sfTexture_destroy (texture)
64+ sfRenderWindow_destroy (window)
5465end
5566
56- sfMusic_destroy (music)
57- sfText_destroy (text)
58- sfFont_destroy (font)
59- sfSprite_destroy (sprite)
60- sfTexture_destroy (texture)
61- sfRenderWindow_destroy (window)
67+
68+
0 commit comments