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]]
|
:on-resume (fn [screen [entities]]
|
||||||
(doseq [[k [start time fn]] (get-in entities [:room :timers])]
|
(doseq [[k [start time fn]] (get-in entities [:room :timers])]
|
||||||
(add-timer! screen k start time)))
|
(add-timer! screen k start time)))
|
||||||
|
|
||||||
|
:on-key-up
|
||||||
|
(fn [screen entities]
|
||||||
|
(when (= (key-code :escape) (:key screen))
|
||||||
|
(utils/toggle-fullscreen!))
|
||||||
|
nil)
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [camera ^FitViewport viewport] :as screen} [entities]]
|
(fn [{:keys [camera ^FitViewport viewport] :as screen} [entities]]
|
||||||
|
|||||||
@@ -160,13 +160,16 @@
|
|||||||
(fn [{:keys [^FitViewport viewport] :as screen} [entities]]
|
(fn [{:keys [^FitViewport viewport] :as screen} [entities]]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(clear!)
|
(clear!)
|
||||||
(when-not (:paused? entities)
|
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
entities (fly-ego screen entities)
|
||||||
entities (fly-ego screen entities)]
|
]
|
||||||
(music! (:music entities) :set-volume (utils/current-music-volume (:volume entities)))
|
(label! (:fullscreen entities) :set-text (if (.isFullscreen Gdx/graphics)
|
||||||
|
"Fullscreen"
|
||||||
(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) ])
|
"Windowed"))
|
||||||
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))
|
||||||
|
|
||||||
:show-screen (fn [entities]
|
:show-screen (fn [entities]
|
||||||
entities)
|
entities)
|
||||||
@@ -179,6 +182,12 @@
|
|||||||
(style-slider (:music-volume-slider entities) [x y])
|
(style-slider (:music-volume-slider entities) [x y])
|
||||||
(style-slider (:sound-volume-slider entities) [x y])
|
(style-slider (:sound-volume-slider entities) [x y])
|
||||||
entities))
|
entities))
|
||||||
|
:on-key-up
|
||||||
|
(fn [screen entities]
|
||||||
|
(when (= (key-code :escape) (:key screen))
|
||||||
|
(utils/toggle-fullscreen!))
|
||||||
|
nil)
|
||||||
|
|
||||||
:on-ui-changed
|
:on-ui-changed
|
||||||
(fn [screen [entities]]
|
(fn [screen [entities]]
|
||||||
(swap! utils/settings
|
(swap! utils/settings
|
||||||
@@ -217,31 +226,12 @@
|
|||||||
:ease tween/ease-in-cubic))))
|
:ease tween/ease-in-cubic))))
|
||||||
|
|
||||||
(utils/intersects? (:fullscreen entities) [x y])
|
(utils/intersects? (:fullscreen entities) [x y])
|
||||||
(if (.isFullscreen Gdx/graphics)
|
(utils/toggle-fullscreen!)
|
||||||
(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")))
|
|
||||||
:else
|
:else
|
||||||
nil))))
|
nil))))
|
||||||
|
|
||||||
|
|
||||||
:on-resize (fn [{:keys [viewport width height]} [entities]]
|
:on-resize (fn [{:keys [viewport width height]} [entities]]
|
||||||
(.update viewport width height false)
|
(.update viewport width height false)
|
||||||
nil)
|
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))
|
|
||||||
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
[com.badlogic.gdx.graphics.g2d TextureRegion]
|
[com.badlogic.gdx.graphics.g2d TextureRegion]
|
||||||
[com.badlogic.gdx.utils.viewport FitViewport]
|
[com.badlogic.gdx.utils.viewport FitViewport]
|
||||||
[com.badlogic.gdx.scenes.scene2d Actor Stage]
|
[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]))
|
[java.lang Object]))
|
||||||
|
|
||||||
(defn log-coords [screen entities]
|
(defn log-coords [screen entities]
|
||||||
@@ -316,3 +318,15 @@
|
|||||||
(particle-effect! p :update 10.0)
|
(particle-effect! p :update 10.0)
|
||||||
(dotimes [_ 160]
|
(dotimes [_ 160]
|
||||||
(particle-effect! p :update 0.2)))
|
(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)))
|
(when port (start-nrepl-expr (Integer/parseInt port)))
|
||||||
(catch Exception e))
|
(catch Exception e))
|
||||||
(let [cfg (LwjglApplicationConfiguration.)]
|
(let [cfg (LwjglApplicationConfiguration.)]
|
||||||
(if true
|
(if false
|
||||||
(do
|
(do
|
||||||
(set! (.width cfg) (doto (.width (LwjglApplicationConfiguration/getDesktopDisplayMode)) println))
|
(set! (.width cfg) (doto (.width (LwjglApplicationConfiguration/getDesktopDisplayMode)) println))
|
||||||
(set! (.height cfg) (doto (.height (LwjglApplicationConfiguration/getDesktopDisplayMode)) println))
|
(set! (.height cfg) (doto (.height (LwjglApplicationConfiguration/getDesktopDisplayMode)) println))
|
||||||
|
|||||||
Reference in New Issue
Block a user