easily swappable fullscreen.
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 5.1 KiB |
@@ -953,6 +953,12 @@ void main()
|
||||
:on-resume (fn [screen [entities]]
|
||||
(doseq [[k [start time fn]] (get-in entities [:room :timers])]
|
||||
(add-timer! screen k start time)))
|
||||
|
||||
:on-key-up
|
||||
(fn [screen entities]
|
||||
(when (= (key-code :escape) (:key screen))
|
||||
(utils/toggle-fullscreen!))
|
||||
nil)
|
||||
|
||||
:on-render
|
||||
(fn [{:keys [camera ^FitViewport viewport] :as screen} [entities]]
|
||||
|
||||
@@ -160,13 +160,16 @@
|
||||
(fn [{:keys [^FitViewport viewport] :as screen} [entities]]
|
||||
(.apply viewport)
|
||||
(clear!)
|
||||
(when-not (:paused? entities)
|
||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||
entities (fly-ego screen entities)]
|
||||
(music! (:music entities) :set-volume (utils/current-music-volume (:volume entities)))
|
||||
|
||||
(render! screen [(:background entities) (:particle-clouds entities) (:cloud-background entities) (:ego-jet entities) (:flying-ego entities) (:logo entities) (:toolbox entities) (:start-playing entities) (:quit entities) (:fullscreen entities) (:music-label entities) (:music-volume-slider entities) (:sound-label entities) (:sound-volume-slider entities) (:copyright entities) (:fade entities) ])
|
||||
entities)))
|
||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||
entities (fly-ego screen entities)
|
||||
]
|
||||
(label! (:fullscreen entities) :set-text (if (.isFullscreen Gdx/graphics)
|
||||
"Fullscreen"
|
||||
"Windowed"))
|
||||
(music! (:music entities) :set-volume (utils/current-music-volume (:volume entities)))
|
||||
|
||||
(render! screen [(:background entities) (:particle-clouds entities) (:cloud-background entities) (:ego-jet entities) (:flying-ego entities) (:logo entities) (:toolbox entities) (:start-playing entities) (:quit entities) (:fullscreen entities) (:music-label entities) (:music-volume-slider entities) (:sound-label entities) (:sound-volume-slider entities) (:copyright entities) (:fade entities) ])
|
||||
entities))
|
||||
|
||||
:show-screen (fn [entities]
|
||||
entities)
|
||||
@@ -179,6 +182,12 @@
|
||||
(style-slider (:music-volume-slider entities) [x y])
|
||||
(style-slider (:sound-volume-slider entities) [x y])
|
||||
entities))
|
||||
:on-key-up
|
||||
(fn [screen entities]
|
||||
(when (= (key-code :escape) (:key screen))
|
||||
(utils/toggle-fullscreen!))
|
||||
nil)
|
||||
|
||||
:on-ui-changed
|
||||
(fn [screen [entities]]
|
||||
(swap! utils/settings
|
||||
@@ -217,31 +226,12 @@
|
||||
:ease tween/ease-in-cubic))))
|
||||
|
||||
(utils/intersects? (:fullscreen entities) [x y])
|
||||
(if (.isFullscreen Gdx/graphics)
|
||||
(on-gl (.setDisplayMode Gdx/graphics 1280 960 false)
|
||||
(label! (:fullscreen entities) set-text "Windowed"))
|
||||
(on-gl (.setDisplayMode Gdx/graphics
|
||||
(doto (.width (.getDesktopDisplayMode Gdx/graphics)) println)
|
||||
(doto (.height (.getDesktopDisplayMode Gdx/graphics)) println)
|
||||
true)
|
||||
(set! (.foregroundFPS (-> (class Gdx/graphics)
|
||||
(.getDeclaredField (name "config"))
|
||||
(doto (.setAccessible true))
|
||||
(.get Gdx/graphics))) 60 )
|
||||
(label! (:fullscreen entities) set-text "Fullscreen")))
|
||||
(utils/toggle-fullscreen!)
|
||||
|
||||
:else
|
||||
nil))))
|
||||
|
||||
|
||||
:on-resize (fn [{:keys [viewport width height]} [entities]]
|
||||
(.update viewport width height false)
|
||||
nil)
|
||||
:on-pause (fn [{:keys [viewport] :as screen} [entities]]
|
||||
|
||||
(assoc entities :paused? true))
|
||||
:on-resume (fn [{:keys [viewport] :as screen} [entities]]
|
||||
(utils/setup-viewport screen 1280 960)
|
||||
(assoc entities :paused? false))
|
||||
|
||||
|
||||
)
|
||||
nil))
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
[com.badlogic.gdx.graphics.g2d TextureRegion]
|
||||
[com.badlogic.gdx.utils.viewport FitViewport]
|
||||
[com.badlogic.gdx.scenes.scene2d Actor Stage]
|
||||
[com.badlogic.gdx Application Audio Files Game Gdx Graphics Input
|
||||
InputMultiplexer InputProcessor Net Preferences Screen]
|
||||
[java.lang Object]))
|
||||
|
||||
(defn log-coords [screen entities]
|
||||
@@ -316,3 +318,15 @@
|
||||
(particle-effect! p :update 10.0)
|
||||
(dotimes [_ 160]
|
||||
(particle-effect! p :update 0.2)))
|
||||
|
||||
(defn toggle-fullscreen! []
|
||||
(if (.isFullscreen Gdx/graphics)
|
||||
(on-gl (.setDisplayMode Gdx/graphics 1280 960 false))
|
||||
(on-gl (.setDisplayMode Gdx/graphics
|
||||
(doto (.width (.getDesktopDisplayMode Gdx/graphics)) println)
|
||||
(doto (.height (.getDesktopDisplayMode Gdx/graphics)) println)
|
||||
true)
|
||||
(set! (.foregroundFPS (-> (class Gdx/graphics)
|
||||
(.getDeclaredField (name "config"))
|
||||
(doto (.setAccessible true))
|
||||
(.get Gdx/graphics))) 60))))
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
(when port (start-nrepl-expr (Integer/parseInt port)))
|
||||
(catch Exception e))
|
||||
(let [cfg (LwjglApplicationConfiguration.)]
|
||||
(if true
|
||||
(if false
|
||||
(do
|
||||
(set! (.width cfg) (doto (.width (LwjglApplicationConfiguration/getDesktopDisplayMode)) println))
|
||||
(set! (.height cfg) (doto (.height (LwjglApplicationConfiguration/getDesktopDisplayMode)) println))
|
||||
|
||||
Reference in New Issue
Block a user