Screen functionality
Basic screen functionality, working loading screen with asset loader and manager
This commit is contained in:
parent
61a10aa7e7
commit
fbd68c2169
17 changed files with 683 additions and 22 deletions
BIN
core/assets/fonts/badaboom.TTF
Normal file
BIN
core/assets/fonts/badaboom.TTF
Normal file
Binary file not shown.
101
core/assets/spritesheets/default.fnt
Normal file
101
core/assets/spritesheets/default.fnt
Normal file
|
@ -0,0 +1,101 @@
|
|||
info face="Droid Sans" size=17 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
|
||||
common lineHeight=20 base=18 scaleW=256 scaleH=128 pages=1 packed=0
|
||||
page id=0 file="default.png"
|
||||
chars count=96
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=16 xadvance=4 page=0 chnl=0
|
||||
char id=124 x=0 y=0 width=6 height=20 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=106 x=6 y=0 width=9 height=20 xoffset=-4 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=81 x=15 y=0 width=15 height=19 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=74 x=30 y=0 width=11 height=19 xoffset=-5 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=125 x=41 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=123 x=51 y=0 width=10 height=18 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=93 x=61 y=0 width=8 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=91 x=69 y=0 width=8 height=18 xoffset=-2 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=41 x=77 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=40 x=86 y=0 width=9 height=18 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=64 x=95 y=0 width=18 height=17 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=121 x=113 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=113 x=126 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=112 x=139 y=0 width=13 height=17 xoffset=-2 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=103 x=152 y=0 width=13 height=17 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=38 x=165 y=0 width=16 height=16 xoffset=-3 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=37 x=181 y=0 width=18 height=16 xoffset=-3 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=36 x=199 y=0 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=63 x=211 y=0 width=11 height=16 xoffset=-3 yoffset=3 xadvance=7 page=0 chnl=0
|
||||
char id=33 x=222 y=0 width=7 height=16 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=48 x=229 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=57 x=242 y=0 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=56 x=0 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=54 x=13 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=53 x=26 y=20 width=12 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=51 x=38 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=100 x=51 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=98 x=64 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=85 x=77 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=83 x=91 y=20 width=13 height=16 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=79 x=104 y=20 width=15 height=16 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=71 x=119 y=20 width=14 height=16 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=67 x=133 y=20 width=13 height=16 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=127 x=146 y=20 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=35 x=158 y=20 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=92 x=173 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=47 x=184 y=20 width=11 height=15 xoffset=-3 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=59 x=195 y=20 width=8 height=15 xoffset=-3 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=55 x=203 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=52 x=216 y=20 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=50 x=230 y=20 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=49 x=243 y=20 width=9 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=116 x=0 y=36 width=10 height=15 xoffset=-3 yoffset=4 xadvance=5 page=0 chnl=0
|
||||
char id=108 x=10 y=36 width=6 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=107 x=16 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=105 x=28 y=36 width=7 height=15 xoffset=-2 yoffset=3 xadvance=4 page=0 chnl=0
|
||||
char id=104 x=35 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=102 x=47 y=36 width=11 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=90 x=58 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=89 x=71 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=88 x=84 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=87 x=98 y=36 width=19 height=15 xoffset=-3 yoffset=3 xadvance=15 page=0 chnl=0
|
||||
char id=86 x=117 y=36 width=14 height=15 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=84 x=131 y=36 width=13 height=15 xoffset=-3 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=82 x=144 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=80 x=157 y=36 width=12 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=78 x=169 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=12 page=0 chnl=0
|
||||
char id=77 x=183 y=36 width=17 height=15 xoffset=-2 yoffset=3 xadvance=14 page=0 chnl=0
|
||||
char id=76 x=200 y=36 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=75 x=211 y=36 width=13 height=15 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=73 x=224 y=36 width=10 height=15 xoffset=-3 yoffset=3 xadvance=5 page=0 chnl=0
|
||||
char id=72 x=234 y=36 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=70 x=0 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=69 x=11 y=51 width=11 height=15 xoffset=-2 yoffset=3 xadvance=8 page=0 chnl=0
|
||||
char id=68 x=22 y=51 width=14 height=15 xoffset=-2 yoffset=3 xadvance=11 page=0 chnl=0
|
||||
char id=66 x=36 y=51 width=13 height=15 xoffset=-2 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=65 x=49 y=51 width=15 height=15 xoffset=-3 yoffset=3 xadvance=10 page=0 chnl=0
|
||||
char id=58 x=64 y=51 width=7 height=13 xoffset=-2 yoffset=6 xadvance=4 page=0 chnl=0
|
||||
char id=117 x=71 y=51 width=12 height=13 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=115 x=83 y=51 width=11 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=111 x=94 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=101 x=107 y=51 width=13 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=99 x=120 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=97 x=132 y=51 width=12 height=13 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=60 x=144 y=51 width=13 height=12 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=122 x=157 y=51 width=11 height=12 xoffset=-3 yoffset=6 xadvance=7 page=0 chnl=0
|
||||
char id=120 x=168 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=119 x=181 y=51 width=17 height=12 xoffset=-3 yoffset=6 xadvance=12 page=0 chnl=0
|
||||
char id=118 x=198 y=51 width=13 height=12 xoffset=-3 yoffset=6 xadvance=8 page=0 chnl=0
|
||||
char id=114 x=211 y=51 width=10 height=12 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=0
|
||||
char id=110 x=221 y=51 width=12 height=12 xoffset=-2 yoffset=6 xadvance=10 page=0 chnl=0
|
||||
char id=109 x=233 y=51 width=17 height=12 xoffset=-2 yoffset=6 xadvance=15 page=0 chnl=0
|
||||
char id=94 x=0 y=66 width=13 height=11 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=62 x=13 y=66 width=13 height=11 xoffset=-3 yoffset=5 xadvance=9 page=0 chnl=0
|
||||
char id=42 x=26 y=66 width=13 height=10 xoffset=-3 yoffset=3 xadvance=9 page=0 chnl=0
|
||||
char id=43 x=39 y=66 width=13 height=10 xoffset=-3 yoffset=6 xadvance=9 page=0 chnl=0
|
||||
char id=61 x=52 y=66 width=13 height=8 xoffset=-3 yoffset=7 xadvance=9 page=0 chnl=0
|
||||
char id=39 x=65 y=66 width=6 height=8 xoffset=-2 yoffset=3 xadvance=3 page=0 chnl=0
|
||||
char id=34 x=71 y=66 width=9 height=8 xoffset=-2 yoffset=3 xadvance=6 page=0 chnl=0
|
||||
char id=44 x=80 y=66 width=8 height=7 xoffset=-3 yoffset=14 xadvance=4 page=0 chnl=0
|
||||
char id=126 x=88 y=66 width=13 height=6 xoffset=-3 yoffset=8 xadvance=9 page=0 chnl=0
|
||||
char id=46 x=101 y=66 width=7 height=6 xoffset=-2 yoffset=13 xadvance=4 page=0 chnl=0
|
||||
char id=96 x=108 y=66 width=8 height=6 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||
char id=45 x=116 y=66 width=9 height=5 xoffset=-3 yoffset=10 xadvance=5 page=0 chnl=0
|
||||
char id=95 x=125 y=66 width=13 height=4 xoffset=-4 yoffset=17 xadvance=6 page=0 chnl=0
|
||||
kernings count=-1
|
199
core/assets/spritesheets/uiskin.atlas
Normal file
199
core/assets/spritesheets/uiskin.atlas
Normal file
|
@ -0,0 +1,199 @@
|
|||
uiskin.png
|
||||
size: 256,128
|
||||
format: RGBA8888
|
||||
filter: Linear,Linear
|
||||
repeat: none
|
||||
check-off
|
||||
rotate: false
|
||||
xy: 11, 5
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
textfield
|
||||
rotate: false
|
||||
xy: 11, 5
|
||||
size: 14, 14
|
||||
split: 3, 3, 3, 3
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
check-on
|
||||
rotate: false
|
||||
xy: 125, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
cursor
|
||||
rotate: false
|
||||
xy: 23, 1
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default
|
||||
rotate: false
|
||||
xy: 1, 50
|
||||
size: 254, 77
|
||||
orig: 254, 77
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-pane
|
||||
rotate: false
|
||||
xy: 11, 1
|
||||
size: 5, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect-pad
|
||||
rotate: false
|
||||
xy: 11, 1
|
||||
size: 5, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-pane-noborder
|
||||
rotate: false
|
||||
xy: 170, 44
|
||||
size: 1, 1
|
||||
split: 0, 0, 0, 0
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect
|
||||
rotate: false
|
||||
xy: 38, 25
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-rect-down
|
||||
rotate: false
|
||||
xy: 170, 46
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round
|
||||
rotate: false
|
||||
xy: 112, 29
|
||||
size: 12, 20
|
||||
split: 5, 5, 5, 4
|
||||
pad: 4, 4, 1, 1
|
||||
orig: 12, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round-down
|
||||
rotate: false
|
||||
xy: 99, 29
|
||||
size: 12, 20
|
||||
split: 5, 5, 5, 4
|
||||
pad: 4, 4, 1, 1
|
||||
orig: 12, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-round-large
|
||||
rotate: false
|
||||
xy: 57, 29
|
||||
size: 20, 20
|
||||
split: 5, 5, 5, 4
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-scroll
|
||||
rotate: false
|
||||
xy: 78, 29
|
||||
size: 20, 20
|
||||
split: 2, 2, 2, 2
|
||||
orig: 20, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-select
|
||||
rotate: false
|
||||
xy: 29, 29
|
||||
size: 27, 20
|
||||
split: 4, 14, 4, 4
|
||||
orig: 27, 20
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-select-selection
|
||||
rotate: false
|
||||
xy: 26, 16
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-slider
|
||||
rotate: false
|
||||
xy: 29, 20
|
||||
size: 8, 8
|
||||
split: 2, 2, 2, 2
|
||||
orig: 8, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-slider-knob
|
||||
rotate: false
|
||||
xy: 1, 1
|
||||
size: 9, 18
|
||||
orig: 9, 18
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-splitpane
|
||||
rotate: false
|
||||
xy: 17, 1
|
||||
size: 5, 3
|
||||
split: 0, 5, 0, 0
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-splitpane-vertical
|
||||
rotate: false
|
||||
xy: 125, 29
|
||||
size: 3, 5
|
||||
split: 0, 0, 0, 5
|
||||
orig: 3, 5
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-window
|
||||
rotate: false
|
||||
xy: 1, 20
|
||||
size: 27, 29
|
||||
split: 4, 3, 20, 3
|
||||
orig: 27, 29
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
selection
|
||||
rotate: false
|
||||
xy: 174, 48
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-minus
|
||||
rotate: false
|
||||
xy: 140, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-plus
|
||||
rotate: false
|
||||
xy: 155, 35
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
white
|
||||
rotate: false
|
||||
xy: 129, 31
|
||||
size: 3, 3
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
19
core/assets/spritesheets/uiskin.json
Normal file
19
core/assets/spritesheets/uiskin.json
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
com.badlogic.gdx.graphics.Color: {
|
||||
green: { a: 1, b: 0, g: 1, r: 0 },
|
||||
white: { a: 1, b: 1, g: 1, r: 1 },
|
||||
red: { a: 1, b: 0, g: 0, r: 1 },
|
||||
black: { a: 1, b: 0, g: 0, r: 0 },
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
|
||||
default: { down: default-round-down, up: default-round, font: default-font, fontColor: white },
|
||||
toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.ProgressBar$ProgressBarStyle: {
|
||||
default-horizontal: { background: default-slider, knob: default-slider-knob },
|
||||
default-vertical: { background: default-slider, knob: default-round-large }
|
||||
},
|
||||
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
|
||||
default: { font: default-font, fontColor: white }
|
||||
},
|
||||
}
|
BIN
core/assets/spritesheets/uiskin.png
Normal file
BIN
core/assets/spritesheets/uiskin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
|
@ -1,15 +1,17 @@
|
|||
package com.game;
|
||||
|
||||
import com.badlogic.gdx.ApplicationAdapter;
|
||||
import com.badlogic.gdx.Game;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input;
|
||||
import com.badlogic.gdx.assets.AssetManager;
|
||||
import com.badlogic.gdx.graphics.OrthographicCamera;
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.game.Misc.Vars;
|
||||
import com.game.Managers.StateManager;
|
||||
import com.game.Screens.Loading;
|
||||
import com.game.Screens.Splash;
|
||||
|
||||
public class App extends ApplicationAdapter {
|
||||
public class App extends Game {
|
||||
|
||||
private float accum;
|
||||
|
||||
|
@ -22,10 +24,12 @@ public class App extends ApplicationAdapter {
|
|||
private OrthographicCamera hudCam;
|
||||
|
||||
// Managers
|
||||
private StateManager sm;
|
||||
private AssetManager assetManager;
|
||||
//private StateManager sm;
|
||||
|
||||
@Override
|
||||
public void create() {
|
||||
assetManager = new AssetManager();
|
||||
|
||||
// Create batches
|
||||
sb = new SpriteBatch();
|
||||
|
@ -38,38 +42,40 @@ public class App extends ApplicationAdapter {
|
|||
hudCam.setToOrtho(false, Vars.SCREEN_WIDTH, Vars.SCREEN_HEIGHT);
|
||||
|
||||
// Create statemanager (Should always happen last)
|
||||
sm = new StateManager(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resize (int width, int height) {
|
||||
//sm = new StateManager(this);
|
||||
this.setScreen(new Loading(this));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render () {
|
||||
super.render();
|
||||
accum += Gdx.graphics.getDeltaTime();
|
||||
|
||||
|
||||
/*accum += Gdx.graphics.getDeltaTime();
|
||||
while (accum >= Vars.STEP) {
|
||||
accum -= Vars.STEP;
|
||||
sm.handleInput();
|
||||
sm.update(Vars.STEP);
|
||||
sm.render();
|
||||
}
|
||||
}*/
|
||||
|
||||
if(Gdx.input.isKeyPressed(Input.Keys.ESCAPE)) { Gdx.app.exit(); }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose () {
|
||||
sm.dispose();
|
||||
sb.dispose();
|
||||
sr.dispose();
|
||||
super.dispose();
|
||||
|
||||
//sm.dispose();
|
||||
//sb.dispose();
|
||||
//sr.dispose();
|
||||
}
|
||||
|
||||
public SpriteBatch getSpriteBatch() { return sb; }
|
||||
public ShapeRenderer getSr() { return sr; }
|
||||
public StateManager getSm() { return sm; }
|
||||
//public StateManager getSm() { return sm; }
|
||||
public OrthographicCamera getCam() { return cam; }
|
||||
public OrthographicCamera getHudCam() { return hudCam; }
|
||||
public AssetManager getAssetManager() { return assetManager; }
|
||||
}
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
package com.game.Managers;
|
||||
|
||||
/**
|
||||
* Created by Ash on 10/02/2016.
|
||||
*/
|
||||
public class Assets {
|
||||
}
|
|
@ -11,6 +11,7 @@ public class Vars {
|
|||
public static final int SCREEN_WIDTH = 1280;
|
||||
public static final int SCREEN_HEIGHT = 720;
|
||||
public static final boolean RESIZABLE = false;
|
||||
public static final boolean VSYNC = true;
|
||||
public static final float FRAMERATE = 60;
|
||||
|
||||
// Physics related
|
||||
|
|
85
core/src/com/game/Screens/AbstractScreen.java
Normal file
85
core/src/com/game/Screens/AbstractScreen.java
Normal file
|
@ -0,0 +1,85 @@
|
|||
package com.game.Screens;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Screen;
|
||||
import com.badlogic.gdx.assets.AssetManager;
|
||||
import com.badlogic.gdx.graphics.GL20;
|
||||
import com.badlogic.gdx.graphics.OrthographicCamera;
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.scenes.scene2d.Stage;
|
||||
import com.game.App;
|
||||
|
||||
/**
|
||||
* Created by Ash on 11/02/2016.
|
||||
*/
|
||||
public abstract class AbstractScreen implements Screen {
|
||||
|
||||
// App reference
|
||||
protected App app;
|
||||
|
||||
// Batches
|
||||
protected SpriteBatch sb;
|
||||
protected ShapeRenderer sr;
|
||||
|
||||
// Cameras
|
||||
protected OrthographicCamera cam;
|
||||
protected OrthographicCamera hudCam;
|
||||
|
||||
// Managers
|
||||
protected AssetManager assets;
|
||||
|
||||
// Stage
|
||||
protected Stage stage;
|
||||
|
||||
public AbstractScreen(final App app)
|
||||
{
|
||||
this.app = app;
|
||||
sb = app.getSpriteBatch();
|
||||
sr = app.getSr();
|
||||
cam = app.getCam();
|
||||
hudCam = app.getHudCam();
|
||||
assets = app.getAssetManager();
|
||||
stage = new Stage();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
|
||||
}
|
||||
|
||||
public abstract void update(float dt);
|
||||
|
||||
@Override
|
||||
public void render(float dt) {
|
||||
update(dt);
|
||||
Gdx.gl.glClearColor(0, 0, 0, 1f);
|
||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resize(int width, int height) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pause() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resume() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hide() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
stage.dispose();
|
||||
}
|
||||
}
|
7
core/src/com/game/Screens/Leaderboard.java
Normal file
7
core/src/com/game/Screens/Leaderboard.java
Normal file
|
@ -0,0 +1,7 @@
|
|||
package com.game.Screens;
|
||||
|
||||
/**
|
||||
* Created by Ash on 11/02/2016.
|
||||
*/
|
||||
public class Leaderboard {
|
||||
}
|
7
core/src/com/game/Screens/LevelSelect.java
Normal file
7
core/src/com/game/Screens/LevelSelect.java
Normal file
|
@ -0,0 +1,7 @@
|
|||
package com.game.Screens;
|
||||
|
||||
/**
|
||||
* Created by Ash on 11/02/2016.
|
||||
*/
|
||||
public class LevelSelect {
|
||||
}
|
72
core/src/com/game/Screens/Loading.java
Normal file
72
core/src/com/game/Screens/Loading.java
Normal file
|
@ -0,0 +1,72 @@
|
|||
package com.game.Screens;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.Texture;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.math.Interpolation;
|
||||
import com.badlogic.gdx.math.Rectangle;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||
import com.game.App;
|
||||
|
||||
/**
|
||||
* Created by Ash on 11/02/2016.
|
||||
*/
|
||||
public class Loading extends AbstractScreen {
|
||||
|
||||
private Image logo;
|
||||
private float percent;
|
||||
|
||||
private Rectangle loadingRect;
|
||||
|
||||
public Loading(App app) {
|
||||
super(app);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
assets.load("textures/player.png", Texture.class);
|
||||
assets.finishLoading();
|
||||
|
||||
logo = new Image(assets.get("textures/player.png", Texture.class));
|
||||
logo.setPosition((stage.getWidth() / 2) - logo.getWidth() / 2, (stage.getHeight() / 1.5f) - logo.getHeight() / 2);
|
||||
// 853.3333
|
||||
loadingRect = new Rectangle(stage.getWidth() / 6f, (stage.getHeight() / 2f), 0, 25);
|
||||
|
||||
|
||||
assets.load("textures/badlogic.jpg", Texture.class);
|
||||
assets.load("textures/position0.png", Texture.class);
|
||||
assets.load("textures/position1.png", Texture.class);
|
||||
assets.load("textures/position2.png", Texture.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(float dt) {
|
||||
percent = Interpolation.linear.apply(percent, assets.getProgress(), 0.1f);
|
||||
|
||||
loadingRect.width = 0 + 853.3333f * percent;
|
||||
|
||||
if (assets.update()) {
|
||||
if (Gdx.input.isTouched()) {
|
||||
app.setScreen(new Menu(app));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(float dt) {
|
||||
super.render(dt);
|
||||
sr.begin(ShapeRenderer.ShapeType.Filled);
|
||||
sr.setColor(1, 0, 0, 1);
|
||||
sr.rect(loadingRect.x, loadingRect.y, loadingRect.width, loadingRect.height); // Red loading bar
|
||||
sr.end();
|
||||
|
||||
sb.begin();
|
||||
logo.draw(sb, 1f);
|
||||
sb.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
super.dispose();
|
||||
}
|
||||
}
|
38
core/src/com/game/Screens/Menu.java
Normal file
38
core/src/com/game/Screens/Menu.java
Normal file
|
@ -0,0 +1,38 @@
|
|||
package com.game.Screens;
|
||||
|
||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||
import com.game.App;
|
||||
|
||||
/**
|
||||
* Created by Ash on 11/02/2016.
|
||||
*/
|
||||
public class Menu extends AbstractScreen {
|
||||
|
||||
private TextureAtlas atlas;
|
||||
private Skin skin;
|
||||
|
||||
// Buttons
|
||||
private TextButton butPlay, butExit, butLeaderboard;
|
||||
|
||||
// Font
|
||||
|
||||
|
||||
|
||||
public Menu(App app) {
|
||||
super(app);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(float dt) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(float dt)
|
||||
{
|
||||
super.render(dt);
|
||||
}
|
||||
|
||||
}
|
7
core/src/com/game/Screens/Play.java
Normal file
7
core/src/com/game/Screens/Play.java
Normal file
|
@ -0,0 +1,7 @@
|
|||
package com.game.Screens;
|
||||
|
||||
/**
|
||||
* Created by Ash on 11/02/2016.
|
||||
*/
|
||||
public class Play {
|
||||
}
|
31
core/src/com/game/Screens/Splash.java
Normal file
31
core/src/com/game/Screens/Splash.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package com.game.Screens;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.GL20;
|
||||
import com.game.App;
|
||||
|
||||
/**
|
||||
* Created by Ash on 11/02/2016.
|
||||
*/
|
||||
public class Splash extends AbstractScreen {
|
||||
|
||||
public Splash(App app) {
|
||||
super(app);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(float dt) {
|
||||
|
||||
stage.act(dt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(float dt)
|
||||
{
|
||||
super.render(dt);
|
||||
|
||||
stage.draw();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -2,31 +2,96 @@ package com.game.States;
|
|||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.GL20;
|
||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
|
||||
import com.badlogic.gdx.math.Interpolation;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||
import com.game.Managers.StateManager;
|
||||
|
||||
import java.awt.event.InputEvent;
|
||||
import java.util.Random;
|
||||
|
||||
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.*;
|
||||
|
||||
/**
|
||||
* Created by Ash on 08/02/2016.
|
||||
*/
|
||||
public class Menu extends State {
|
||||
|
||||
Random rand = new Random();
|
||||
int threshhold = 200;
|
||||
long lastChanged = 0;
|
||||
|
||||
private Image tempImage;
|
||||
|
||||
private TextureAtlas atlas;
|
||||
|
||||
private Skin skin;
|
||||
private Table table;
|
||||
|
||||
private TextButton butPlay, butExit, butLeaderboard;
|
||||
public BitmapFont font64;
|
||||
public FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/badaboom.TTF"));
|
||||
public FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
|
||||
private Label heading;
|
||||
|
||||
|
||||
public Menu(StateManager sm) {
|
||||
super(sm);
|
||||
Gdx.input.setInputProcessor(stage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
|
||||
atlas = new TextureAtlas("spritesheets/uiskin.atlas");
|
||||
skin = new Skin(atlas);
|
||||
|
||||
parameter.size = 64;
|
||||
parameter.borderWidth = 2f;
|
||||
parameter.borderColor = Color.WHITE;
|
||||
parameter.color = Color.BLACK;
|
||||
font64 = generator.generateFont(parameter);
|
||||
|
||||
skin.add("default-font", font64);
|
||||
skin.load(Gdx.files.internal("spritesheets/uiskin.json"));
|
||||
|
||||
initButtons();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(float dt) {
|
||||
stage.act(dt);
|
||||
//genRandColour();
|
||||
|
||||
}
|
||||
|
||||
private void genRandColour()
|
||||
{
|
||||
if(System.currentTimeMillis() - lastChanged < threshhold) { return; }
|
||||
font64.setColor(new Color(
|
||||
rand.nextFloat() / 2f + 0.5f,
|
||||
rand.nextFloat() / 2f + 0.5f,
|
||||
rand.nextFloat() / 2f + 0.5f,
|
||||
1f
|
||||
));
|
||||
lastChanged = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||
Gdx.gl.glClearColor(.25f, .25f, .25f, 1f);
|
||||
|
||||
stage.draw();
|
||||
|
||||
sb.begin();
|
||||
//font12.draw(sb, "Main menu", 200, 200);
|
||||
sb.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -39,6 +104,35 @@ public class Menu extends State {
|
|||
|
||||
@Override
|
||||
public void dispose() {
|
||||
stage.dispose();
|
||||
}
|
||||
|
||||
private void initButtons()
|
||||
{
|
||||
butPlay = new TextButton("Play", skin, "default");
|
||||
butPlay.setPosition(500, 260);
|
||||
butPlay.setSize(128, 40);
|
||||
butPlay.addListener(new ClickListener() {
|
||||
@Override
|
||||
public void clicked (com.badlogic.gdx.scenes.scene2d.InputEvent event, float x, float y) {
|
||||
sm.setState(StateManager.States.PLAY);
|
||||
}
|
||||
});
|
||||
|
||||
butExit = new TextButton("Exit", skin, "default");
|
||||
butExit.setPosition(500, 110);
|
||||
butExit.setSize(128, 40);
|
||||
butExit.addListener(new ClickListener() {
|
||||
@Override
|
||||
public void clicked(com.badlogic.gdx.scenes.scene2d.InputEvent event, float x, float y) {
|
||||
Gdx.app.exit();
|
||||
}
|
||||
});
|
||||
|
||||
butPlay.addAction(parallel(alpha(0), moveTo(stage.getWidth() / 2, stage.getHeight() / 2, 5f, Interpolation.pow5), sequence(alpha(0f), fadeIn(1.5f, Interpolation.pow2))));
|
||||
butExit.addAction(sequence(alpha(0f), fadeIn(2f, Interpolation.pow2)));
|
||||
|
||||
stage.addActor(butPlay);
|
||||
stage.addActor(butExit);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ public class DesktopLauncher {
|
|||
config.width = Vars.SCREEN_WIDTH;
|
||||
config.height = Vars.SCREEN_HEIGHT;
|
||||
config.resizable = Vars.RESIZABLE;
|
||||
config.vSyncEnabled = Vars.VSYNC;
|
||||
config.addIcon("spritesheets/icon.jpg", Files.FileType.Internal);
|
||||
config.foregroundFPS = (int)Vars.FRAMERATE;
|
||||
config.backgroundFPS = (int)Vars.FRAMERATE;
|
||||
|
|
Reference in a new issue