This commit is contained in:
Bryce Covert
2015-11-04 14:53:25 -08:00
parent 8933657ccd
commit 015c1fb975
4 changed files with 71 additions and 39 deletions

View File

@@ -1,12 +1,28 @@
ui.png ui.png
size: 128,64 size: 128,32
format: RGBA8888 format: RGBA8888
filter: Nearest,Nearest filter: Nearest,Nearest
repeat: none repeat: none
screenshot-image-button
rotate: false
xy: 54, 10
size: 20, 20
split: 8, 8, 8, 8
orig: 20, 20
offset: 0, 0
index: -1
screenshot-image-button-active
rotate: false
xy: 32, 10
size: 20, 20
split: 8, 8, 8, 8
orig: 20, 20
offset: 0, 0
index: -1
scroll-slider scroll-slider
rotate: false rotate: false
xy: 2, 2 xy: 76, 10
size: 20, 20 size: 20, 20
split: 8, 8, 8, 8 split: 8, 8, 8, 8
orig: 20, 20 orig: 20, 20
@@ -14,7 +30,7 @@ scroll-slider
index: -1 index: -1
slider slider
rotate: false rotate: false
xy: 98, 36 xy: 98, 10
size: 20, 20 size: 20, 20
split: 8, 8, 8, 8 split: 8, 8, 8, 8
orig: 20, 20 orig: 20, 20
@@ -22,22 +38,15 @@ slider
index: -1 index: -1
slider-bar slider-bar
rotate: false rotate: false
xy: 68, 28 xy: 2, 2
size: 28, 28 size: 28, 28
orig: 28, 28 orig: 28, 28
offset: 0, 0 offset: 0, 0
index: -1 index: -1
slider-bar-hover slider-bar-hover
rotate: false rotate: false
xy: 68, 28 xy: 2, 2
size: 28, 28 size: 28, 28
orig: 28, 28 orig: 28, 28
offset: 0, 0 offset: 0, 0
index: -1 index: -1
ui
rotate: false
xy: 2, 24
size: 64, 32
orig: 64, 32
offset: 0, 0
index: -1

View File

@@ -7,6 +7,11 @@ com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle: {
com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: { com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: {
default: { vScroll: slider, hScrollKnob: scroll-slider, hScroll: slider, vScrollKnob: scroll-slider } default: { vScroll: slider, hScrollKnob: scroll-slider, hScroll: slider, vScrollKnob: scroll-slider }
},
com.badlogic.gdx.scenes.scene2d.ui.ImageButton$ImageButtonStyle: {
default: { down: screenshot-image-button-active, up: screenshot-image-button, checked: screenshot-image-button-active}
active: { down: screenshot-image-button-active, up: screenshot-image-button-active, checked: screenshot-image-button-active}
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 689 B

After

Width:  |  Height:  |  Size: 592 B

View File

@@ -18,10 +18,10 @@
(:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter] (:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter]
[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.ui Slider$SliderStyle Widget] [com.badlogic.gdx.scenes.scene2d.ui Slider$SliderStyle Widget ButtonGroup]
[com.badlogic.gdx.scenes.scene2d Group] [com.badlogic.gdx.scenes.scene2d Group Actor]
[play_clj.entities ActorEntity] [play_clj.entities ActorEntity]
[com.badlogic.gdx.scenes.scene2d.utils Align NinePatchDrawable] [com.badlogic.gdx.scenes.scene2d.utils Align NinePatchDrawable TextureRegionDrawable]
[com.badlogic.gdx Application Audio Files Game Gdx Graphics Input [com.badlogic.gdx Application Audio Files Game Gdx Graphics Input
InputMultiplexer InputProcessor Net Preferences Screen])) InputMultiplexer InputProcessor Net Preferences Screen]))
@@ -128,12 +128,15 @@
(set! (.disabledFontColor style) (color :gray)) (set! (.disabledFontColor style) (color :gray))
style)) style))
(defn save-object [a]
(.setUserObject ^Actor (:object a) a)
a)
(defn make-button (defn make-button
([msg & rest] ([msg & rest]
(let [button (merge (text-button msg (button-style)) (let [button (merge (text-button msg (button-style))
(apply hash-map rest))] (apply hash-map rest))]
(doto button (doto button save-object ))))
(text-button! :set-user-object button) ))))
(defn make-label (defn make-label
([msg] ([msg]
@@ -156,7 +159,7 @@
:z 8) :z 8)
(merge (apply hash-map rest)))] (merge (apply hash-map rest)))]
(doto slider (doto slider
(slider! :set-user-object slider)))) save-object)))
(defn stack-y [label base index] (defn stack-y [label base index]
(assoc label :y (- base (* 32 index)))) (assoc label :y (- base (* 32 index))))
@@ -177,9 +180,9 @@
is-starting? (= "Begin quest" start-playing-label)] is-starting? (= "Begin quest" start-playing-label)]
(make-table [[ (make-button start-playing-label :key :continue-or-start) :height 32] (make-table [[ (make-button start-playing-label :key :continue-or-start) :height 32]
:row :row
[ (make-button "Chapters" :key :chapters) :height 32] [ (make-button "Load" :key :chapters) :height 32]
:row :row
[ (make-button "Load") :height 32] [ (make-button "Chapters") :height 32]
:row :row
[(make-label "Music" (color :white)) :height 32] [(make-label "Music" (color :white)) :height 32]
:row :row
@@ -200,17 +203,19 @@
(vals entities)))) (vals entities))))
(defn saves-table [entities] (defn saves-table [entities]
(let [make-cell (fn [image] [image :width 142 :pad 4 4 4 4 :height 104]) (let [group (doto (ButtonGroup.)
(.setMaxCheckCount 1)
(.setMinCheckCount 0)
(.setUncheckLast true))
make-cell (fn [image] [image :width 142 :pad 4 4 4 4 :height 104])
make-save-screenshot (fn [[save-name save-screenshot]] make-save-screenshot (fn [[save-name save-screenshot]]
(ActorEntity. (doto (Group. ) (let [btn (doto (assoc (image-button (skin "ui/ui.json"))
(.addActor (:object (doto (image (utils/get-texture "title/screenshot-backdrop.png")) :save save-name)
(image! :set-width 142) (image-button! :set-size 142 104)
(image! :set-height 104)))) (image-button! :add (:object (image (texture save-screenshot))))
(.addActor (:object (doto (image (texture save-screenshot)) save-object)]
(image! :set-x 8) (.add group (:object btn))
(image! :set-y 8) (ActorEntity. (:object btn))))
(image! :set-width 126)
(image! :set-height 88)))))))
save-screenshots (map make-save-screenshot (:saves-list entities)) save-screenshots (map make-save-screenshot (:saves-list entities))
grouped-screenshots (->> (partition-all 3 save-screenshots) grouped-screenshots (->> (partition-all 3 save-screenshots)
(mapcat (fn [group] (mapcat (fn [group]
@@ -218,17 +223,21 @@
[(doto (scroll-pane (table grouped-screenshots) [(doto (scroll-pane (table grouped-screenshots)
(skin "ui/ui.json")) (skin "ui/ui.json"))
(scroll-pane! :set-fade-scroll-bars false)) (scroll-pane! :set-fade-scroll-bars false))
:colspan 3 :height 224 :width 482])) :colspan 3 :height 224 :width 476]))
(defn saves-menu [entities] (defn saves-menu [entities]
(make-table [[(make-label "") :colspan 3 :height 32] (let [save-label (make-label "")
:row continue-button (doto (make-button "Continue" :key :continue)
(saves-table entities) (text-button! :set-disabled true))]
(assoc (make-table [[save-label :colspan 3 :height 32]
:row :row
[(ActorEntity. (Widget.)) :width 150] (saves-table entities)
[(make-button "Back" :key :back) :width 150] :row
[(make-button "Continue" :key :continue) :width 150]])) [(ActorEntity. (Widget.)) :width 150]
[(make-button "Back" :key :back) :width 150]
[continue-button :width 150]])
:save-label save-label
:continue-button continue-button)))
(defscreen title-screen (defscreen title-screen
@@ -368,6 +377,15 @@
nil nil
:autosave)) :autosave))
(= :continue actor-key)
(start-playing screen entities (saves/name->save (:selected-save entities)))
(:save e)
(do
(label! (-> entities :save-menu :save-label) :set-text (:save e))
(text-button! (-> entities :save-menu :continue-button) :set-disabled false)
(assoc entities :selected-save (:save e)))
:else :else
entities))) entities)))