Moved TweenEngine-demo-gdx to it's own project

master
nathan 2017-09-10 21:51:48 +02:00
commit de1c360d12
111 changed files with 4223 additions and 0 deletions

38
TweenEngine-demo-gdx.iml Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/webapp/WEB-INF/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$/../TweenEngine-gdx-demo/webapp" relative="/" />
<root url="file://$MODULE_DIR$/../TweenEngine-gdx-demo/data" relative="/data" />
</webroots>
<sourceRoots />
</configuration>
</facet>
<facet type="gwt" name="GWT">
<configuration>
<setting name="compilerMaxHeapSize" value="1024" />
<setting name="gwtScriptOutputStyle" value="DETAILED" />
<setting name="gwtSdkUrl" value="file://$MODULE_DIR$/../../resources/Dependencies/gwt" />
<setting name="webFacet" value="Web" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$/../TweenEngine-gdx-demo">
<sourceFolder url="file://$MODULE_DIR$/../TweenEngine-gdx-demo/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/../TweenEngine-gdx-demo/data" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/../TweenEngine-gdx-demo/webapp" type="java-resource" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="TweenEngine" />
<orderEntry type="library" name="lib-GDX (for tweenengine demo)" level="project" />
<orderEntry type="library" name="gwt-user" level="application" />
</component>
</module>

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
data-src/launcher/title.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 B

View File

@ -0,0 +1,20 @@
input="launcher"
output="..\data\launcher"
alias=true
alphaThreshold=0
debug=false
defaultFilterMag=Linear
defaultFilterMin=Linear
defaultFormat=RGBA8888
duplicatePadding=true
incremental=false
maxHeight=1024
maxWidth=1024
minHeight=16
minWidth=16
padding=2
pot=true
rotate=false
stripWhitespace=false
edgePadding=true

20
data-src/pack-splash.prj Normal file
View File

@ -0,0 +1,20 @@
input="splash"
output="..\data\splash"
alias=true
alphaThreshold=0
debug=false
defaultFilterMag=Linear
defaultFilterMin=Linear
defaultFormat=RGBA8888
duplicatePadding=true
incremental=false
maxHeight=1024
maxWidth=1024
minHeight=16
minWidth=16
padding=2
pot=true
rotate=false
stripWhitespace=false
edgePadding=true

20
data-src/pack-test.prj Normal file
View File

@ -0,0 +1,20 @@
input="test"
output="..\data\test"
alias=true
alphaThreshold=0
debug=false
defaultFilterMag=Linear
defaultFilterMin=Linear
defaultFormat=RGBA8888
duplicatePadding=true
incremental=false
maxHeight=1024
maxWidth=1024
minHeight=16
minWidth=16
padding=2
pot=true
rotate=false
stripWhitespace=false
edgePadding=true

BIN
data-src/splash/engine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
data-src/splash/gdx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
data-src/splash/gdxblur.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
data-src/splash/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
data-src/splash/powered.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
data-src/splash/tween.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 B

299
data-src/sprites.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 817 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 KiB

BIN
data-src/test/dot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

BIN
data-src/test/sprite1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
data-src/test/sprite2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
data-src/test/sprite3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
data-src/test/sprite4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
data-src/test/white_n,n.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 B

679
data-src/tiles.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 591 KiB

100
data/arial-16.fnt Normal file
View File

@ -0,0 +1,100 @@
info face="Arial" size=16 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
common lineHeight=19 base=15 scaleW=512 scaleH=512 pages=1 packed=0
page id=0 file="arial-16.png"
chars count=95
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=15 xadvance=4 page=0 chnl=0
char id=64 x=0 y=0 width=17 height=17 xoffset=1 yoffset=2 xadvance=16 page=0 chnl=0
char id=124 x=17 y=0 width=3 height=17 xoffset=1 yoffset=2 xadvance=3 page=0 chnl=0
char id=125 x=20 y=0 width=7 height=17 xoffset=0 yoffset=2 xadvance=5 page=0 chnl=0
char id=123 x=27 y=0 width=7 height=17 xoffset=0 yoffset=2 xadvance=5 page=0 chnl=0
char id=93 x=34 y=0 width=5 height=17 xoffset=0 yoffset=2 xadvance=4 page=0 chnl=0
char id=91 x=39 y=0 width=5 height=17 xoffset=1 yoffset=2 xadvance=4 page=0 chnl=0
char id=41 x=44 y=0 width=5 height=17 xoffset=1 yoffset=2 xadvance=5 page=0 chnl=0
char id=40 x=49 y=0 width=4 height=17 xoffset=1 yoffset=2 xadvance=5 page=0 chnl=0
char id=106 x=53 y=0 width=5 height=17 xoffset=-1 yoffset=2 xadvance=3 page=0 chnl=0
char id=36 x=58 y=0 width=9 height=16 xoffset=1 yoffset=1 xadvance=9 page=0 chnl=0
char id=81 x=67 y=0 width=12 height=15 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0
char id=38 x=79 y=0 width=11 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=35 x=90 y=0 width=11 height=14 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
char id=37 x=101 y=0 width=14 height=14 xoffset=1 yoffset=2 xadvance=14 page=0 chnl=0
char id=92 x=115 y=0 width=5 height=14 xoffset=0 yoffset=2 xadvance=4 page=0 chnl=0
char id=47 x=120 y=0 width=5 height=14 xoffset=0 yoffset=2 xadvance=4 page=0 chnl=0
char id=59 x=125 y=0 width=3 height=14 xoffset=1 yoffset=5 xadvance=4 page=0 chnl=0
char id=63 x=128 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=33 x=137 y=0 width=3 height=14 xoffset=2 yoffset=2 xadvance=5 page=0 chnl=0
char id=48 x=140 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=56 x=149 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=55 x=158 y=0 width=8 height=14 xoffset=2 yoffset=2 xadvance=9 page=0 chnl=0
char id=54 x=166 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=53 x=175 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=52 x=184 y=0 width=10 height=14 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
char id=50 x=194 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=49 x=203 y=0 width=6 height=14 xoffset=2 yoffset=2 xadvance=9 page=0 chnl=0
char id=121 x=209 y=0 width=9 height=14 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
char id=113 x=218 y=0 width=9 height=14 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0
char id=112 x=227 y=0 width=9 height=14 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0
char id=108 x=236 y=0 width=3 height=14 xoffset=1 yoffset=2 xadvance=3 page=0 chnl=0
char id=107 x=239 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0
char id=105 x=248 y=0 width=3 height=14 xoffset=1 yoffset=2 xadvance=4 page=0 chnl=0
char id=104 x=251 y=0 width=8 height=14 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0
char id=103 x=259 y=0 width=9 height=14 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0
char id=102 x=268 y=0 width=7 height=14 xoffset=0 yoffset=2 xadvance=4 page=0 chnl=0
char id=100 x=275 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=98 x=284 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=90 x=293 y=0 width=11 height=14 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
char id=89 x=304 y=0 width=11 height=14 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
char id=88 x=315 y=0 width=12 height=14 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
char id=87 x=327 y=0 width=16 height=14 xoffset=0 yoffset=2 xadvance=15 page=0 chnl=0
char id=86 x=343 y=0 width=12 height=14 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
char id=85 x=355 y=0 width=11 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=84 x=366 y=0 width=11 height=14 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
char id=83 x=377 y=0 width=11 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=82 x=388 y=0 width=11 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=80 x=399 y=0 width=10 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=79 x=409 y=0 width=11 height=14 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0
char id=78 x=420 y=0 width=11 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=76 x=431 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=9 page=0 chnl=0
char id=75 x=440 y=0 width=10 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=74 x=450 y=0 width=8 height=14 xoffset=1 yoffset=2 xadvance=8 page=0 chnl=0
char id=73 x=458 y=0 width=3 height=14 xoffset=1 yoffset=2 xadvance=3 page=0 chnl=0
char id=72 x=461 y=0 width=11 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=71 x=472 y=0 width=12 height=14 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0
char id=70 x=484 y=0 width=10 height=14 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0
char id=69 x=494 y=0 width=11 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=68 x=0 y=17 width=12 height=14 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0
char id=67 x=12 y=17 width=11 height=14 xoffset=1 yoffset=2 xadvance=12 page=0 chnl=0
char id=66 x=23 y=17 width=10 height=14 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=65 x=33 y=17 width=12 height=14 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
char id=57 x=45 y=17 width=9 height=13 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0
char id=51 x=54 y=17 width=9 height=13 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0
char id=116 x=63 y=17 width=6 height=13 xoffset=0 yoffset=3 xadvance=4 page=0 chnl=0
char id=77 x=69 y=17 width=13 height=13 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=127 x=82 y=17 width=10 height=12 xoffset=2 yoffset=4 xadvance=12 page=0 chnl=0
char id=58 x=92 y=17 width=3 height=11 xoffset=1 yoffset=5 xadvance=4 page=0 chnl=0
char id=122 x=95 y=17 width=9 height=11 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
char id=120 x=104 y=17 width=8 height=11 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
char id=119 x=112 y=17 width=12 height=11 xoffset=0 yoffset=5 xadvance=11 page=0 chnl=0
char id=118 x=124 y=17 width=10 height=11 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
char id=117 x=134 y=17 width=8 height=11 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=115 x=142 y=17 width=8 height=11 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=114 x=150 y=17 width=5 height=11 xoffset=1 yoffset=5 xadvance=5 page=0 chnl=0
char id=111 x=155 y=17 width=10 height=11 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
char id=110 x=165 y=17 width=8 height=11 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=109 x=173 y=17 width=13 height=11 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=101 x=186 y=17 width=9 height=11 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0
char id=99 x=195 y=17 width=7 height=11 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=97 x=202 y=17 width=9 height=11 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0
char id=43 x=211 y=17 width=9 height=9 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0
char id=94 x=220 y=17 width=8 height=8 xoffset=0 yoffset=2 xadvance=7 page=0 chnl=0
char id=62 x=228 y=17 width=9 height=8 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0
char id=60 x=237 y=17 width=9 height=8 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0
char id=42 x=246 y=17 width=6 height=7 xoffset=0 yoffset=2 xadvance=6 page=0 chnl=0
char id=61 x=252 y=17 width=9 height=7 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0
char id=44 x=261 y=17 width=3 height=6 xoffset=2 yoffset=13 xadvance=4 page=0 chnl=0
char id=39 x=264 y=17 width=3 height=6 xoffset=1 yoffset=2 xadvance=3 page=0 chnl=0
char id=34 x=267 y=17 width=6 height=6 xoffset=1 yoffset=2 xadvance=6 page=0 chnl=0
char id=126 x=273 y=17 width=10 height=4 xoffset=0 yoffset=7 xadvance=9 page=0 chnl=0
char id=96 x=283 y=17 width=3 height=4 xoffset=1 yoffset=2 xadvance=5 page=0 chnl=0
char id=95 x=286 y=17 width=11 height=3 xoffset=0 yoffset=16 xadvance=9 page=0 chnl=0
char id=45 x=297 y=17 width=6 height=3 xoffset=0 yoffset=10 xadvance=5 page=0 chnl=0
char id=46 x=303 y=17 width=3 height=3 xoffset=2 yoffset=13 xadvance=4 page=0 chnl=0

BIN
data/arial-16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

100
data/arial-18.fnt Normal file
View File

@ -0,0 +1,100 @@
info face="Arial" size=18 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
common lineHeight=22 base=17 scaleW=512 scaleH=512 pages=1 packed=0
page id=0 file="arial-18.png"
chars count=95
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=17 xadvance=5 page=0 chnl=0
char id=64 x=0 y=0 width=19 height=19 xoffset=1 yoffset=3 xadvance=18 page=0 chnl=0
char id=124 x=19 y=0 width=4 height=19 xoffset=2 yoffset=3 xadvance=6 page=0 chnl=0
char id=125 x=23 y=0 width=8 height=19 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=0
char id=123 x=31 y=0 width=8 height=19 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=0
char id=93 x=39 y=0 width=6 height=19 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0
char id=91 x=45 y=0 width=6 height=19 xoffset=1 yoffset=3 xadvance=5 page=0 chnl=0
char id=41 x=51 y=0 width=7 height=19 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=0
char id=40 x=58 y=0 width=6 height=19 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=0
char id=106 x=64 y=0 width=6 height=19 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
char id=36 x=70 y=0 width=10 height=18 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0
char id=121 x=80 y=0 width=11 height=16 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
char id=113 x=91 y=0 width=10 height=16 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0
char id=112 x=101 y=0 width=10 height=16 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0
char id=103 x=111 y=0 width=10 height=16 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0
char id=81 x=121 y=0 width=14 height=16 xoffset=1 yoffset=3 xadvance=14 page=0 chnl=0
char id=38 x=135 y=0 width=12 height=15 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0
char id=35 x=147 y=0 width=13 height=15 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0
char id=37 x=160 y=0 width=16 height=15 xoffset=1 yoffset=3 xadvance=16 page=0 chnl=0
char id=92 x=176 y=0 width=7 height=15 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0
char id=47 x=183 y=0 width=7 height=15 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0
char id=33 x=190 y=0 width=4 height=15 xoffset=2 yoffset=3 xadvance=6 page=0 chnl=0
char id=57 x=194 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=55 x=204 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=54 x=214 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=53 x=224 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=52 x=234 y=0 width=11 height=15 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0
char id=51 x=245 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=50 x=255 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=49 x=265 y=0 width=7 height=15 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0
char id=116 x=272 y=0 width=6 height=15 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0
char id=108 x=278 y=0 width=4 height=15 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0
char id=107 x=282 y=0 width=9 height=15 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0
char id=105 x=291 y=0 width=4 height=15 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0
char id=104 x=295 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=102 x=305 y=0 width=7 height=15 xoffset=0 yoffset=3 xadvance=5 page=0 chnl=0
char id=100 x=312 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=98 x=322 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=90 x=332 y=0 width=12 height=15 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0
char id=89 x=344 y=0 width=13 height=15 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0
char id=88 x=357 y=0 width=12 height=15 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0
char id=87 x=369 y=0 width=18 height=15 xoffset=0 yoffset=3 xadvance=17 page=0 chnl=0
char id=86 x=387 y=0 width=14 height=15 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=0
char id=85 x=401 y=0 width=13 height=15 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=84 x=414 y=0 width=12 height=15 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0
char id=83 x=426 y=0 width=11 height=15 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0
char id=82 x=437 y=0 width=13 height=15 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=80 x=450 y=0 width=12 height=15 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0
char id=79 x=462 y=0 width=14 height=15 xoffset=1 yoffset=3 xadvance=14 page=0 chnl=0
char id=78 x=476 y=0 width=13 height=15 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=76 x=489 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=75 x=499 y=0 width=12 height=15 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0
char id=74 x=0 y=19 width=9 height=15 xoffset=1 yoffset=3 xadvance=9 page=0 chnl=0
char id=73 x=9 y=19 width=4 height=15 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0
char id=72 x=13 y=19 width=13 height=15 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=71 x=26 y=19 width=14 height=15 xoffset=1 yoffset=3 xadvance=14 page=0 chnl=0
char id=70 x=40 y=19 width=11 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0
char id=69 x=51 y=19 width=12 height=15 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0
char id=68 x=63 y=19 width=13 height=15 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=67 x=76 y=19 width=12 height=15 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=66 x=88 y=19 width=12 height=15 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0
char id=65 x=100 y=19 width=15 height=15 xoffset=-1 yoffset=3 xadvance=11 page=0 chnl=0
char id=59 x=115 y=19 width=4 height=14 xoffset=2 yoffset=6 xadvance=5 page=0 chnl=0
char id=63 x=119 y=19 width=10 height=14 xoffset=1 yoffset=4 xadvance=10 page=0 chnl=0
char id=48 x=129 y=19 width=11 height=14 xoffset=0 yoffset=4 xadvance=10 page=0 chnl=0
char id=56 x=140 y=19 width=10 height=14 xoffset=1 yoffset=4 xadvance=10 page=0 chnl=0
char id=77 x=150 y=19 width=15 height=14 xoffset=1 yoffset=4 xadvance=15 page=0 chnl=0
char id=127 x=165 y=19 width=11 height=13 xoffset=2 yoffset=5 xadvance=14 page=0 chnl=0
char id=43 x=176 y=19 width=12 height=12 xoffset=1 yoffset=5 xadvance=11 page=0 chnl=0
char id=58 x=188 y=19 width=4 height=12 xoffset=2 yoffset=6 xadvance=5 page=0 chnl=0
char id=122 x=192 y=19 width=10 height=12 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0
char id=120 x=202 y=19 width=10 height=12 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0
char id=119 x=212 y=19 width=16 height=12 xoffset=-1 yoffset=6 xadvance=13 page=0 chnl=0
char id=118 x=228 y=19 width=12 height=12 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
char id=117 x=240 y=19 width=10 height=12 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0
char id=115 x=250 y=19 width=9 height=12 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0
char id=114 x=259 y=19 width=6 height=12 xoffset=1 yoffset=6 xadvance=6 page=0 chnl=0
char id=110 x=265 y=19 width=10 height=12 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0
char id=109 x=275 y=19 width=14 height=12 xoffset=1 yoffset=6 xadvance=14 page=0 chnl=0
char id=99 x=289 y=19 width=9 height=12 xoffset=1 yoffset=6 xadvance=9 page=0 chnl=0
char id=97 x=298 y=19 width=10 height=12 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0
char id=111 x=308 y=19 width=10 height=11 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0
char id=101 x=318 y=19 width=10 height=11 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0
char id=62 x=328 y=19 width=11 height=10 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0
char id=60 x=339 y=19 width=11 height=10 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0
char id=94 x=350 y=19 width=8 height=9 xoffset=0 yoffset=3 xadvance=7 page=0 chnl=0
char id=61 x=358 y=19 width=11 height=8 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0
char id=42 x=369 y=19 width=6 height=7 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0
char id=39 x=375 y=19 width=4 height=7 xoffset=0 yoffset=3 xadvance=3 page=0 chnl=0
char id=34 x=379 y=19 width=7 height=7 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=0
char id=44 x=386 y=19 width=4 height=6 xoffset=2 yoffset=14 xadvance=5 page=0 chnl=0
char id=126 x=390 y=19 width=12 height=5 xoffset=0 yoffset=9 xadvance=11 page=0 chnl=0
char id=95 x=402 y=19 width=12 height=4 xoffset=0 yoffset=18 xadvance=10 page=0 chnl=0
char id=45 x=414 y=19 width=7 height=4 xoffset=0 yoffset=10 xadvance=6 page=0 chnl=0
char id=46 x=421 y=19 width=4 height=4 xoffset=2 yoffset=14 xadvance=5 page=0 chnl=0
char id=96 x=425 y=19 width=4 height=4 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=0

BIN
data/arial-18.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

100
data/arial-20.fnt Normal file
View File

@ -0,0 +1,100 @@
info face="Arial" size=20 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
common lineHeight=24 base=19 scaleW=256 scaleH=128 pages=1 packed=0
page id=0 file="arial-20.png"
chars count=95
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=19 xadvance=6 page=0 chnl=0
char id=64 x=0 y=0 width=20 height=21 xoffset=1 yoffset=3 xadvance=20 page=0 chnl=0
char id=124 x=20 y=0 width=4 height=21 xoffset=2 yoffset=3 xadvance=6 page=0 chnl=0
char id=125 x=24 y=0 width=8 height=21 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0
char id=123 x=32 y=0 width=8 height=21 xoffset=0 yoffset=3 xadvance=7 page=0 chnl=0
char id=93 x=40 y=0 width=6 height=21 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=0
char id=91 x=46 y=0 width=6 height=21 xoffset=1 yoffset=3 xadvance=6 page=0 chnl=0
char id=41 x=52 y=0 width=7 height=21 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0
char id=40 x=59 y=0 width=6 height=21 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0
char id=106 x=65 y=0 width=6 height=21 xoffset=-1 yoffset=3 xadvance=4 page=0 chnl=0
char id=36 x=71 y=0 width=11 height=20 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0
char id=35 x=82 y=0 width=13 height=17 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0
char id=37 x=95 y=0 width=17 height=17 xoffset=1 yoffset=3 xadvance=18 page=0 chnl=0
char id=92 x=112 y=0 width=7 height=17 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=0
char id=47 x=119 y=0 width=7 height=17 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=0
char id=63 x=126 y=0 width=10 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0
char id=33 x=136 y=0 width=4 height=17 xoffset=2 yoffset=3 xadvance=6 page=0 chnl=0
char id=48 x=140 y=0 width=11 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0
char id=56 x=151 y=0 width=11 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0
char id=55 x=162 y=0 width=11 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0
char id=53 x=173 y=0 width=11 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0
char id=52 x=184 y=0 width=12 height=17 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0
char id=49 x=196 y=0 width=7 height=17 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0
char id=121 x=203 y=0 width=12 height=17 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=0
char id=113 x=215 y=0 width=11 height=17 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0
char id=112 x=226 y=0 width=11 height=17 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0
char id=108 x=237 y=0 width=4 height=17 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0
char id=107 x=241 y=0 width=10 height=17 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=105 x=251 y=0 width=4 height=17 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0
char id=104 x=0 y=21 width=10 height=17 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=103 x=10 y=21 width=11 height=17 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0
char id=102 x=21 y=21 width=8 height=17 xoffset=0 yoffset=3 xadvance=6 page=0 chnl=0
char id=100 x=29 y=21 width=11 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0
char id=98 x=40 y=21 width=11 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0
char id=90 x=51 y=21 width=13 height=17 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0
char id=89 x=64 y=21 width=15 height=17 xoffset=0 yoffset=3 xadvance=14 page=0 chnl=0
char id=88 x=79 y=21 width=14 height=17 xoffset=0 yoffset=3 xadvance=13 page=0 chnl=0
char id=87 x=93 y=21 width=20 height=17 xoffset=0 yoffset=3 xadvance=19 page=0 chnl=0
char id=86 x=113 y=21 width=16 height=17 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=0
char id=85 x=129 y=21 width=13 height=17 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=84 x=142 y=21 width=14 height=17 xoffset=0 yoffset=3 xadvance=12 page=0 chnl=0
char id=83 x=156 y=21 width=12 height=17 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=82 x=168 y=21 width=12 height=17 xoffset=2 yoffset=3 xadvance=14 page=0 chnl=0
char id=81 x=180 y=21 width=16 height=17 xoffset=1 yoffset=4 xadvance=16 page=0 chnl=0
char id=80 x=196 y=21 width=12 height=17 xoffset=2 yoffset=3 xadvance=13 page=0 chnl=0
char id=78 x=208 y=21 width=13 height=17 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=76 x=221 y=21 width=10 height=17 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0
char id=75 x=231 y=21 width=12 height=17 xoffset=2 yoffset=3 xadvance=13 page=0 chnl=0
char id=74 x=243 y=21 width=9 height=17 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0
char id=73 x=0 y=38 width=4 height=17 xoffset=2 yoffset=3 xadvance=6 page=0 chnl=0
char id=72 x=4 y=38 width=13 height=17 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
char id=71 x=17 y=38 width=16 height=17 xoffset=1 yoffset=3 xadvance=16 page=0 chnl=0
char id=70 x=33 y=38 width=11 height=17 xoffset=2 yoffset=3 xadvance=12 page=0 chnl=0
char id=69 x=44 y=38 width=12 height=17 xoffset=2 yoffset=3 xadvance=13 page=0 chnl=0
char id=68 x=56 y=38 width=13 height=17 xoffset=2 yoffset=3 xadvance=14 page=0 chnl=0
char id=67 x=69 y=38 width=13 height=17 xoffset=1 yoffset=3 xadvance=14 page=0 chnl=0
char id=66 x=82 y=38 width=12 height=17 xoffset=2 yoffset=3 xadvance=13 page=0 chnl=0
char id=65 x=94 y=38 width=16 height=17 xoffset=-1 yoffset=3 xadvance=13 page=0 chnl=0
char id=38 x=110 y=38 width=13 height=16 xoffset=1 yoffset=4 xadvance=13 page=0 chnl=0
char id=59 x=123 y=38 width=4 height=16 xoffset=2 yoffset=7 xadvance=6 page=0 chnl=0
char id=57 x=127 y=38 width=11 height=16 xoffset=1 yoffset=4 xadvance=11 page=0 chnl=0
char id=54 x=138 y=38 width=11 height=16 xoffset=1 yoffset=4 xadvance=11 page=0 chnl=0
char id=51 x=149 y=38 width=10 height=16 xoffset=1 yoffset=4 xadvance=11 page=0 chnl=0
char id=50 x=159 y=38 width=11 height=16 xoffset=1 yoffset=4 xadvance=11 page=0 chnl=0
char id=116 x=170 y=38 width=7 height=16 xoffset=0 yoffset=4 xadvance=6 page=0 chnl=0
char id=79 x=177 y=38 width=16 height=16 xoffset=1 yoffset=4 xadvance=16 page=0 chnl=0
char id=77 x=193 y=38 width=15 height=16 xoffset=2 yoffset=4 xadvance=17 page=0 chnl=0
char id=127 x=208 y=38 width=12 height=14 xoffset=2 yoffset=6 xadvance=15 page=0 chnl=0
char id=58 x=220 y=38 width=4 height=13 xoffset=2 yoffset=7 xadvance=6 page=0 chnl=0
char id=122 x=224 y=38 width=11 height=13 xoffset=0 yoffset=7 xadvance=9 page=0 chnl=0
char id=120 x=235 y=38 width=11 height=13 xoffset=0 yoffset=7 xadvance=9 page=0 chnl=0
char id=119 x=0 y=55 width=18 height=13 xoffset=-1 yoffset=7 xadvance=15 page=0 chnl=0
char id=118 x=18 y=55 width=12 height=13 xoffset=-1 yoffset=7 xadvance=9 page=0 chnl=0
char id=117 x=30 y=55 width=10 height=13 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0
char id=115 x=40 y=55 width=10 height=13 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0
char id=114 x=50 y=55 width=7 height=13 xoffset=1 yoffset=7 xadvance=7 page=0 chnl=0
char id=111 x=57 y=55 width=11 height=13 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0
char id=110 x=68 y=55 width=10 height=13 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0
char id=109 x=78 y=55 width=16 height=13 xoffset=1 yoffset=7 xadvance=16 page=0 chnl=0
char id=101 x=94 y=55 width=11 height=13 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0
char id=97 x=105 y=55 width=10 height=13 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0
char id=43 x=115 y=55 width=12 height=12 xoffset=1 yoffset=6 xadvance=12 page=0 chnl=0
char id=99 x=127 y=55 width=9 height=12 xoffset=1 yoffset=8 xadvance=10 page=0 chnl=0
char id=94 x=136 y=55 width=9 height=10 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0
char id=62 x=145 y=55 width=12 height=10 xoffset=1 yoffset=7 xadvance=12 page=0 chnl=0
char id=60 x=157 y=55 width=12 height=10 xoffset=1 yoffset=7 xadvance=12 page=0 chnl=0
char id=42 x=169 y=55 width=8 height=8 xoffset=0 yoffset=3 xadvance=8 page=0 chnl=0
char id=61 x=177 y=55 width=12 height=8 xoffset=1 yoffset=8 xadvance=12 page=0 chnl=0
char id=44 x=189 y=55 width=4 height=7 xoffset=2 yoffset=16 xadvance=6 page=0 chnl=0
char id=39 x=193 y=55 width=4 height=7 xoffset=1 yoffset=3 xadvance=4 page=0 chnl=0
char id=34 x=197 y=55 width=7 height=7 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0
char id=126 x=204 y=55 width=12 height=5 xoffset=1 yoffset=10 xadvance=12 page=0 chnl=0
char id=96 x=216 y=55 width=4 height=5 xoffset=1 yoffset=3 xadvance=7 page=0 chnl=0
char id=95 x=220 y=55 width=13 height=4 xoffset=0 yoffset=20 xadvance=11 page=0 chnl=0
char id=45 x=233 y=55 width=8 height=4 xoffset=0 yoffset=12 xadvance=7 page=0 chnl=0
char id=46 x=241 y=55 width=4 height=4 xoffset=2 yoffset=16 xadvance=6 page=0 chnl=0

BIN
data/arial-20.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

100
data/arial-24.fnt Normal file
View File

@ -0,0 +1,100 @@
info face="Arial" size=24 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
common lineHeight=29 base=23 scaleW=256 scaleH=128 pages=1 packed=0
page id=0 file="arial-24.png"
chars count=95
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=23 xadvance=7 page=0 chnl=0
char id=124 x=0 y=0 width=4 height=25 xoffset=2 yoffset=5 xadvance=6 page=0 chnl=0
char id=64 x=4 y=0 width=23 height=24 xoffset=1 yoffset=5 xadvance=24 page=0 chnl=0
char id=125 x=27 y=0 width=8 height=24 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=123 x=35 y=0 width=8 height=24 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=93 x=43 y=0 width=6 height=24 xoffset=2 yoffset=5 xadvance=7 page=0 chnl=0
char id=91 x=49 y=0 width=6 height=24 xoffset=1 yoffset=5 xadvance=7 page=0 chnl=0
char id=41 x=55 y=0 width=8 height=24 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=40 x=63 y=0 width=7 height=24 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=106 x=70 y=0 width=9 height=24 xoffset=-2 yoffset=5 xadvance=6 page=0 chnl=0
char id=36 x=79 y=0 width=12 height=22 xoffset=1 yoffset=4 xadvance=13 page=0 chnl=0
char id=121 x=91 y=0 width=13 height=20 xoffset=0 yoffset=9 xadvance=12 page=0 chnl=0
char id=113 x=104 y=0 width=13 height=20 xoffset=1 yoffset=9 xadvance=14 page=0 chnl=0
char id=112 x=117 y=0 width=13 height=20 xoffset=2 yoffset=9 xadvance=14 page=0 chnl=0
char id=103 x=130 y=0 width=13 height=20 xoffset=1 yoffset=9 xadvance=14 page=0 chnl=0
char id=81 x=143 y=0 width=19 height=20 xoffset=1 yoffset=5 xadvance=19 page=0 chnl=0
char id=38 x=162 y=0 width=15 height=19 xoffset=1 yoffset=5 xadvance=16 page=0 chnl=0
char id=35 x=177 y=0 width=15 height=19 xoffset=0 yoffset=5 xadvance=13 page=0 chnl=0
char id=37 x=192 y=0 width=21 height=19 xoffset=1 yoffset=5 xadvance=21 page=0 chnl=0
char id=92 x=213 y=0 width=8 height=19 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
char id=47 x=221 y=0 width=8 height=19 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
char id=59 x=229 y=0 width=4 height=19 xoffset=2 yoffset=9 xadvance=7 page=0 chnl=0
char id=63 x=233 y=0 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=33 x=246 y=0 width=4 height=19 xoffset=3 yoffset=5 xadvance=8 page=0 chnl=0
char id=48 x=0 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=57 x=13 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=56 x=26 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=55 x=39 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=54 x=52 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=53 x=65 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=52 x=78 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=50 x=91 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=13 page=0 chnl=0
char id=49 x=104 y=25 width=8 height=19 xoffset=3 yoffset=5 xadvance=13 page=0 chnl=0
char id=116 x=112 y=25 width=9 height=19 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
char id=108 x=121 y=25 width=4 height=19 xoffset=2 yoffset=5 xadvance=6 page=0 chnl=0
char id=107 x=125 y=25 width=11 height=19 xoffset=2 yoffset=5 xadvance=12 page=0 chnl=0
char id=105 x=136 y=25 width=4 height=19 xoffset=2 yoffset=5 xadvance=5 page=0 chnl=0
char id=104 x=140 y=25 width=12 height=19 xoffset=2 yoffset=5 xadvance=14 page=0 chnl=0
char id=102 x=152 y=25 width=9 height=19 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
char id=100 x=161 y=25 width=13 height=19 xoffset=1 yoffset=5 xadvance=14 page=0 chnl=0
char id=98 x=174 y=25 width=12 height=19 xoffset=2 yoffset=5 xadvance=14 page=0 chnl=0
char id=90 x=186 y=25 width=16 height=19 xoffset=0 yoffset=5 xadvance=15 page=0 chnl=0
char id=89 x=202 y=25 width=17 height=19 xoffset=0 yoffset=5 xadvance=16 page=0 chnl=0
char id=88 x=219 y=25 width=16 height=19 xoffset=0 yoffset=5 xadvance=15 page=0 chnl=0
char id=87 x=0 y=44 width=24 height=19 xoffset=0 yoffset=5 xadvance=23 page=0 chnl=0
char id=86 x=24 y=44 width=16 height=19 xoffset=0 yoffset=5 xadvance=15 page=0 chnl=0
char id=85 x=40 y=44 width=15 height=19 xoffset=2 yoffset=5 xadvance=17 page=0 chnl=0
char id=84 x=55 y=44 width=16 height=19 xoffset=0 yoffset=5 xadvance=14 page=0 chnl=0
char id=82 x=71 y=44 width=15 height=19 xoffset=2 yoffset=5 xadvance=17 page=0 chnl=0
char id=80 x=86 y=44 width=15 height=19 xoffset=2 yoffset=5 xadvance=16 page=0 chnl=0
char id=79 x=101 y=44 width=19 height=19 xoffset=1 yoffset=5 xadvance=19 page=0 chnl=0
char id=78 x=120 y=44 width=15 height=19 xoffset=2 yoffset=5 xadvance=17 page=0 chnl=0
char id=76 x=135 y=44 width=12 height=19 xoffset=2 yoffset=5 xadvance=13 page=0 chnl=0
char id=75 x=147 y=44 width=15 height=19 xoffset=2 yoffset=5 xadvance=16 page=0 chnl=0
char id=74 x=162 y=44 width=11 height=19 xoffset=1 yoffset=5 xadvance=12 page=0 chnl=0
char id=73 x=173 y=44 width=4 height=19 xoffset=2 yoffset=5 xadvance=6 page=0 chnl=0
char id=72 x=177 y=44 width=15 height=19 xoffset=2 yoffset=5 xadvance=17 page=0 chnl=0
char id=70 x=192 y=44 width=14 height=19 xoffset=2 yoffset=5 xadvance=15 page=0 chnl=0
char id=69 x=206 y=44 width=15 height=19 xoffset=2 yoffset=5 xadvance=16 page=0 chnl=0
char id=68 x=221 y=44 width=16 height=19 xoffset=2 yoffset=5 xadvance=17 page=0 chnl=0
char id=67 x=237 y=44 width=16 height=19 xoffset=1 yoffset=5 xadvance=17 page=0 chnl=0
char id=66 x=0 y=63 width=15 height=19 xoffset=2 yoffset=5 xadvance=16 page=0 chnl=0
char id=65 x=15 y=63 width=19 height=19 xoffset=-1 yoffset=5 xadvance=15 page=0 chnl=0
char id=51 x=34 y=63 width=13 height=18 xoffset=1 yoffset=6 xadvance=13 page=0 chnl=0
char id=83 x=47 y=63 width=16 height=18 xoffset=1 yoffset=6 xadvance=16 page=0 chnl=0
char id=77 x=63 y=63 width=17 height=18 xoffset=2 yoffset=6 xadvance=19 page=0 chnl=0
char id=71 x=80 y=63 width=18 height=18 xoffset=1 yoffset=6 xadvance=19 page=0 chnl=0
char id=127 x=98 y=63 width=14 height=17 xoffset=3 yoffset=7 xadvance=18 page=0 chnl=0
char id=58 x=112 y=63 width=4 height=15 xoffset=2 yoffset=9 xadvance=7 page=0 chnl=0
char id=122 x=116 y=63 width=12 height=15 xoffset=1 yoffset=9 xadvance=12 page=0 chnl=0
char id=120 x=128 y=63 width=13 height=15 xoffset=0 yoffset=9 xadvance=11 page=0 chnl=0
char id=119 x=141 y=63 width=20 height=15 xoffset=-1 yoffset=9 xadvance=17 page=0 chnl=0
char id=118 x=161 y=63 width=14 height=15 xoffset=-1 yoffset=9 xadvance=11 page=0 chnl=0
char id=117 x=175 y=63 width=12 height=15 xoffset=2 yoffset=9 xadvance=14 page=0 chnl=0
char id=115 x=187 y=63 width=11 height=15 xoffset=1 yoffset=9 xadvance=12 page=0 chnl=0
char id=114 x=198 y=63 width=7 height=15 xoffset=2 yoffset=9 xadvance=8 page=0 chnl=0
char id=111 x=205 y=63 width=13 height=15 xoffset=1 yoffset=9 xadvance=13 page=0 chnl=0
char id=110 x=218 y=63 width=12 height=15 xoffset=2 yoffset=9 xadvance=14 page=0 chnl=0
char id=109 x=230 y=63 width=18 height=15 xoffset=2 yoffset=9 xadvance=20 page=0 chnl=0
char id=101 x=0 y=82 width=13 height=15 xoffset=1 yoffset=9 xadvance=13 page=0 chnl=0
char id=99 x=13 y=82 width=11 height=15 xoffset=1 yoffset=9 xadvance=12 page=0 chnl=0
char id=97 x=24 y=82 width=12 height=15 xoffset=1 yoffset=9 xadvance=13 page=0 chnl=0
char id=43 x=36 y=82 width=14 height=14 xoffset=1 yoffset=8 xadvance=14 page=0 chnl=0
char id=62 x=50 y=82 width=13 height=12 xoffset=1 yoffset=9 xadvance=14 page=0 chnl=0
char id=60 x=63 y=82 width=13 height=12 xoffset=1 yoffset=9 xadvance=14 page=0 chnl=0
char id=94 x=76 y=82 width=11 height=11 xoffset=1 yoffset=5 xadvance=12 page=0 chnl=0
char id=42 x=87 y=82 width=9 height=9 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0
char id=61 x=96 y=82 width=13 height=9 xoffset=1 yoffset=10 xadvance=14 page=0 chnl=0
char id=44 x=109 y=82 width=4 height=8 xoffset=2 yoffset=20 xadvance=7 page=0 chnl=0
char id=39 x=113 y=82 width=4 height=8 xoffset=1 yoffset=5 xadvance=5 page=0 chnl=0
char id=34 x=117 y=82 width=8 height=8 xoffset=1 yoffset=5 xadvance=9 page=0 chnl=0
char id=126 x=125 y=82 width=14 height=5 xoffset=1 yoffset=13 xadvance=14 page=0 chnl=0
char id=96 x=139 y=82 width=5 height=5 xoffset=1 yoffset=5 xadvance=8 page=0 chnl=0
char id=95 x=144 y=82 width=16 height=4 xoffset=-1 yoffset=25 xadvance=13 page=0 chnl=0
char id=45 x=160 y=82 width=9 height=4 xoffset=0 yoffset=15 xadvance=8 page=0 chnl=0
char id=46 x=169 y=82 width=4 height=4 xoffset=2 yoffset=20 xadvance=7 page=0 chnl=0

BIN
data/arial-24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
data/launcher/launcher1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
data/launcher/launcher2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

122
data/launcher/pack Normal file
View File

@ -0,0 +1,122 @@
launcher1.png
format: RGBA8888
filter: Linear,Linear
repeat: none
tile-types
rotate: false
xy: 2, 2
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
tile-tween
rotate: false
xy: 254, 2
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
tile-timeline
rotate: false
xy: 2, 154
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
tile-repeat
rotate: false
xy: 254, 154
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
tile-path
rotate: false
xy: 2, 306
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
tile-intro
rotate: false
xy: 254, 306
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
tile-info
rotate: false
xy: 2, 458
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
tile-hourglass
rotate: false
xy: 254, 458
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
tile-functions
rotate: false
xy: 2, 610
size: 250, 150
orig: 250, 150
offset: 0, 0
index: -1
title-left
rotate: false
xy: 2, 762
size: 400, 70
orig: 400, 70
offset: 0, 0
index: -1
title-right
rotate: false
xy: 254, 610
size: 220, 70
orig: 220, 70
offset: 0, 0
index: -1
title
rotate: false
xy: 476, 610
size: 10, 70
orig: 10, 70
offset: 0, 0
index: -1
interactive
rotate: false
xy: 254, 682
size: 27, 40
orig: 27, 40
offset: 0, 0
index: -1
launcher2.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
background
rotate: false
xy: 2, 2
size: 1000, 750
orig: 1000, 750
offset: 0, 0
index: -1
white
rotate: false
xy: 1004, 2
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
tile
rotate: false
xy: 1004, 20
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1

66
data/splash/pack Normal file
View File

@ -0,0 +1,66 @@
splash1.png
format: RGBA8888
filter: Linear,Linear
repeat: none
gdxblur
rotate: false
xy: 2, 2
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
gdx
rotate: false
xy: 68, 2
size: 64, 64
orig: 64, 64
offset: 0, 0
index: -1
engine
rotate: false
xy: 134, 2
size: 133, 45
orig: 133, 45
offset: 0, 0
index: -1
logo
rotate: false
xy: 2, 68
size: 47, 42
orig: 47, 42
offset: 0, 0
index: -1
tween
rotate: false
xy: 134, 49
size: 130, 35
orig: 130, 35
offset: 0, 0
index: -1
universal
rotate: false
xy: 269, 2
size: 142, 33
orig: 142, 33
offset: 0, 0
index: -1
powered
rotate: false
xy: 134, 86
size: 113, 19
orig: 113, 19
offset: 0, 0
index: -1
splash2.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
white
rotate: false
xy: 2, 2
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1

BIN
data/splash/splash1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
data/splash/splash2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

80
data/test/pack Normal file
View File

@ -0,0 +1,80 @@
test1.png
format: RGBA8888
filter: Linear,Linear
repeat: none
functions2
rotate: false
xy: 2, 2
size: 110, 272
orig: 110, 272
offset: 0, 0
index: -1
functions1
rotate: false
xy: 2, 276
size: 100, 274
orig: 100, 274
offset: 0, 0
index: -1
functions3
rotate: false
xy: 114, 2
size: 131, 191
orig: 131, 191
offset: 0, 0
index: -1
sprite3
rotate: false
xy: 104, 276
size: 148, 152
orig: 148, 152
offset: 0, 0
index: -1
sprite2
rotate: false
xy: 2, 552
size: 144, 144
orig: 144, 144
offset: 0, 0
index: -1
sprite1
rotate: false
xy: 2, 698
size: 133, 133
orig: 133, 133
offset: 0, 0
index: -1
sprite4
rotate: false
xy: 2, 833
size: 125, 125
orig: 125, 125
offset: 0, 0
index: -1
dot
rotate: false
xy: 114, 195
size: 14, 14
orig: 14, 14
offset: 0, 0
index: -1
test2.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
background
rotate: false
xy: 2, 2
size: 1000, 750
orig: 1000, 750
offset: 0, 0
index: -1
white
rotate: false
xy: 1004, 2
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1

BIN
data/test/test1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
data/test/test2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 KiB

BIN
libs/gdx-1.9.6-sources.jar Normal file

Binary file not shown.

BIN
libs/gdx-1.9.6.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
libs/jlayer-1.0.1-gdx.jar Normal file

Binary file not shown.

Binary file not shown.

BIN
libs/jorbis-0.0.17.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
libs/lwjgl-glfw-sources.jar Normal file

Binary file not shown.

BIN
libs/lwjgl-glfw.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
libs/lwjgl-openal.jar Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
libs/lwjgl-opengl.jar Normal file

Binary file not shown.

BIN
libs/lwjgl-sources.jar Normal file

Binary file not shown.

BIN
libs/lwjgl.jar Normal file

Binary file not shown.

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.8.1//EN" "http://gwtproject.org/doctype/2.8.1/gwt-module.dtd">
<module>
<inherits name="com.badlogic.gdx.backends.gdx_backends_gwt"/>
<inherits name="TweenEngine"/>
<entry-point class="dorkbox.LibGdxHtmlDemo"/>
<!-- Have to also have the intellij web facet map this 'data' dir to our assets dir. convoluted but necessary -->
<set-configuration-property name="gdx.assetpath" value="data/"/>
<!-- by default goes into 'war', which is incorrect for intellij. We want to install to the current '.' directory -->
<set-configuration-property name="gdx.assetoutputpath" value="./"/>
<add-linker name="xsiframe"/>
<set-configuration-property name="devModeRedirectEnabled" value="true"/>
<!-- Allow soundmanager.js files to be added as scripts -->
<set-configuration-property name="xsiframe.failIfScriptTag" value="false"/>
<source path="dorkbox">
<exclude name="LibGdxDemo.java"/>
</source>
</module>

View File

@ -0,0 +1,31 @@
package dorkbox;/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;
import dorkbox.demo.App;
public class LibGdxDemo {
public static void main(String[] args) {
Lwjgl3ApplicationConfiguration cfg = new Lwjgl3ApplicationConfiguration();
cfg.setResizable(false);
cfg.useVsync(true);
cfg.setWindowedMode(800, 580);
cfg.setTitle("TweenEngine LibGDX Demo");
new Lwjgl3Application(new App(), cfg);
}
}

View File

@ -0,0 +1,23 @@
package dorkbox;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.backends.gwt.GwtApplication;
import com.badlogic.gdx.backends.gwt.GwtApplicationConfiguration;
import dorkbox.demo.App;
public
class LibGdxHtmlDemo extends GwtApplication {
@Override
public
GwtApplicationConfiguration getConfig() {
return new GwtApplicationConfiguration(800, 580);
}
@Override
public
ApplicationListener createApplicationListener() {
return new App();
}
}

View File

@ -0,0 +1,87 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.accessors;
import dorkbox.tweenengine.TweenAccessor;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.Sprite;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com
*/
public class SpriteAccessor implements TweenAccessor<Sprite> {
public static final int POS_XY = 1;
public static final int CPOS_XY = 2;
public static final int SCALE_XY = 3;
public static final int ROTATION = 4;
public static final int OPACITY = 5;
public static final int TINT = 6;
@Override
public int getValues(Sprite target, int tweenType, float[] returnValues) {
switch (tweenType) {
case POS_XY:
returnValues[0] = target.getX();
returnValues[1] = target.getY();
return 2;
case CPOS_XY:
returnValues[0] = target.getX() + target.getWidth()/2;
returnValues[1] = target.getY() + target.getHeight()/2;
return 2;
case SCALE_XY:
returnValues[0] = target.getScaleX();
returnValues[1] = target.getScaleY();
return 2;
case ROTATION: returnValues[0] = target.getRotation(); return 1;
case OPACITY: returnValues[0] = target.getColor().a; return 1;
case TINT:
returnValues[0] = target.getColor().r;
returnValues[1] = target.getColor().g;
returnValues[2] = target.getColor().b;
return 3;
default: assert false; return -1;
}
}
@Override
public void setValues(Sprite target, int tweenType, float[] newValues) {
switch (tweenType) {
case POS_XY: target.setPosition(newValues[0], newValues[1]); break;
case CPOS_XY: target.setPosition(newValues[0] - target.getWidth()/2, newValues[1] - target.getHeight()/2); break;
case SCALE_XY: target.setScale(newValues[0], newValues[1]); break;
case ROTATION: target.setRotation(newValues[0]); break;
case OPACITY:
Color c = target.getColor();
c.set(c.r, c.g, c.b, newValues[0]);
target.setColor(c);
break;
case TINT:
c = target.getColor();
c.set(newValues[0], newValues[1], newValues[2], c.a);
target.setColor(c);
break;
default: assert false;
}
}
}

113
src/dorkbox/demo/App.java Normal file
View File

@ -0,0 +1,113 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.demo;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import dorkbox.accessors.SpriteAccessor;
import dorkbox.demo.tests.Functions;
import dorkbox.demo.tests.Info;
import dorkbox.demo.tests.Intro;
import dorkbox.demo.tests.Repetitions;
import dorkbox.demo.tests.SimpleTimeline;
import dorkbox.demo.tests.SimpleTween;
import dorkbox.demo.tests.TimeManipulation;
import dorkbox.demo.tests.Types;
import dorkbox.demo.tests.Waypoints;
import dorkbox.tweenengine.TweenEngine;
import dorkbox.tweenengine.UpdateAction;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com/
*/
public class App implements ApplicationListener {
private SplashScreen splashScreen;
private Launcher launcherScreen;
private boolean isLoaded = false;
private final TweenEngine tweenEngine = TweenEngine.create()
.setWaypointsLimit(10)
.setCombinedAttributesLimit(3)
.registerAccessor(Sprite.class, new SpriteAccessor())
.build();
@Override
public void create() {
Assets inst = Assets.inst();
inst.load("splash/pack", TextureAtlas.class);
inst.load("launcher/pack", TextureAtlas.class);
inst.load("test/pack", TextureAtlas.class);
inst.load("arial-16.fnt", BitmapFont.class);
inst.load("arial-18.fnt", BitmapFont.class);
inst.load("arial-20.fnt", BitmapFont.class);
inst.load("arial-24.fnt", BitmapFont.class);
}
@Override
public void dispose() {
Assets.inst().dispose();
if (splashScreen != null) splashScreen.dispose();
if (launcherScreen != null) launcherScreen.dispose();
}
@Override
public void render() {
if (isLoaded) {
if (splashScreen != null) splashScreen.render();
if (launcherScreen != null) launcherScreen.render();
} else {
if (Assets.inst().getProgress() < 1) {
Assets.inst().update();
} else {
launch();
isLoaded = true;
}
}
}
@Override public void resize(int width, int height) {}
@Override public void pause() {}
@Override public void resume() {}
private void launch() {
// will be called once render is done, and timeline is complete
splashScreen = new SplashScreen(new UpdateAction<Void>() {
@Override
public
void onEvent(final Void updatedObject) {
Test[] tests = new Test[] {
new Intro(tweenEngine),
new Info(tweenEngine),
new SimpleTween(tweenEngine),
new SimpleTimeline(tweenEngine),
new Repetitions(tweenEngine),
new TimeManipulation(tweenEngine),
new Waypoints(tweenEngine),
new Functions(tweenEngine),
new Types(tweenEngine)
};
splashScreen.dispose();
splashScreen = null;
launcherScreen = new Launcher(tests, tweenEngine);
}
}, tweenEngine);
}
}

View File

@ -0,0 +1,37 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.demo;
import com.badlogic.gdx.assets.AssetManager;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com/
*/
public class Assets extends AssetManager {
private static Assets instance;
public static Assets inst() {
if (instance == null) instance = new Assets();
return instance;
}
private Assets() {}
@Override
public synchronized void dispose() {
super.dispose();
instance = null;
}
}

View File

@ -0,0 +1,330 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.demo;
import java.util.ArrayList;
import java.util.List;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.InputAdapter;
import com.badlogic.gdx.InputMultiplexer;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.math.Vector3;
import dorkbox.accessors.SpriteAccessor;
import dorkbox.tweenengine.BaseTween;
import dorkbox.tweenengine.TweenCallback;
import dorkbox.tweenengine.TweenEngine;
import dorkbox.tweenengine.TweenEquations;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com/
*/
public class Launcher {
private static final int TILES_PER_LINE = 3;
private static final float TILES_PADDING = 0.04f;
private final List<Tile> tiles = new ArrayList<Tile>();
private final OrthographicCamera camera = new OrthographicCamera();
private final SpriteBatch batch = new SpriteBatch();
private final BitmapFont font;
private final Sprite background;
private final Sprite title;
private final Sprite titleLeft;
private final Sprite titleRight;
private final Sprite veil;
private final float tileW, tileH;
private final TweenEngine tweenEngine;
private Tile selectedTile;
public Launcher(Test[] tests, final TweenEngine tweenEngine) {
this.tweenEngine = tweenEngine;
int w = Gdx.graphics.getWidth();
int h = Gdx.graphics.getHeight();
float wpw = 2;
float wph = wpw * h / w;
camera.viewportWidth = wpw;
camera.viewportHeight = wph;
camera.update();
font = Assets.inst().get("arial-18.fnt", BitmapFont.class);
font.getData().setScale(0.0025f);
font.setUseIntegerPositions(false);
TextureAtlas atlas = Assets.inst().get("launcher/pack", TextureAtlas.class);
background = atlas.createSprite("background");
title = atlas.createSprite("title");
titleLeft = atlas.createSprite("title-left");
titleRight = atlas.createSprite("title-right");
veil = atlas.createSprite("white");
background.setSize(w, w * background.getHeight() / background.getWidth());
background.setPosition(0, (h - background.getHeight())/2);
float titleHmts = wph/8;
float titleHpxs = titleHmts * h / wph;
titleLeft.setSize(titleHpxs* titleLeft.getWidth() / titleLeft.getHeight(), titleHpxs);
titleLeft.setPosition(0, h);
titleRight.setSize(titleHpxs * titleRight.getWidth() / titleRight.getHeight(), titleHpxs);
titleRight.setPosition(w-titleRight.getWidth(), h);
title.setSize(w, titleHpxs);
title.setPosition(0, h);
veil.setSize(w, h);
tweenEngine.to(veil, SpriteAccessor.OPACITY, 1f).target(0).delay(0.5f).addCallback(veilEndCallback).start();
Gdx.input.setInputProcessor(launcherInputProcessor);
tileW = (wpw-TILES_PADDING)/TILES_PER_LINE - TILES_PADDING;
tileH = tileW * 150 / 250;
float tileX = -wpw/2 + TILES_PADDING;
float tileY = wph/2 - tileH - TILES_PADDING - titleHmts;
for (int i=0; i<tests.length; i++) {
tiles.add(new Tile(tileX, tileY, tileW, tileH, tests[i], atlas, camera, font, tweenEngine));
tests[i].setCallback(testCallback);
tileX += tileW + TILES_PADDING;
if (i > 0 && i%TILES_PER_LINE == TILES_PER_LINE-1) {
tileX = -camera.viewportWidth/2 + TILES_PADDING;
tileY += -tileH - TILES_PADDING;
}
}
}
public void dispose() {
tweenEngine.cancelAll();
batch.dispose();
font.dispose();
}
public void render() {
GL20 gl = Gdx.gl20;
gl.glClearColor(1, 1, 1, 1);
gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
gl.glEnable(GL20.GL_BLEND);
gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
int w = Gdx.graphics.getWidth();
int h = Gdx.graphics.getHeight();
if (selectedTile == null) {
tweenEngine.update(Gdx.graphics.getDeltaTime());
batch.getProjectionMatrix().setToOrtho2D(0, 0, w, h);
batch.begin();
batch.disableBlending();
background.draw(batch);
batch.end();
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.enableBlending();
for (int i=0; i<tiles.size(); i++) {
tiles.get(i).draw(batch);
}
batch.end();
batch.getProjectionMatrix().setToOrtho2D(0, 0, w, h);
batch.begin();
batch.disableBlending();
title.draw(batch);
titleLeft.draw(batch);
titleRight.draw(batch);
batch.enableBlending();
if (veil.getColor().a > 0.1f) {
veil.draw(batch);
}
batch.end();
} else {
selectedTile.getTest().render();
}
}
private void showTitle(float delay) {
float dy = -title.getHeight();
tweenEngine.to(title, SpriteAccessor.POS_XY, 0.5F).targetRelative(0, dy).delay(delay).ease(TweenEquations.Quart_Out).start();
tweenEngine.to(titleLeft, SpriteAccessor.POS_XY, 0.5F).targetRelative(0, dy).delay(delay).ease(TweenEquations.Quart_Out).start();
tweenEngine.to(titleRight, SpriteAccessor.POS_XY, 0.5F).targetRelative(0, dy).delay(delay).ease(TweenEquations.Quart_Out).start();
}
private void hideTitle(float delay) {
float dy = title.getHeight();
tweenEngine.to(title, SpriteAccessor.POS_XY, 0.3F).targetRelative(0, dy).delay(delay).ease(TweenEquations.Cubic_In).start();
tweenEngine.to(titleLeft, SpriteAccessor.POS_XY, 0.3F).targetRelative(0, dy).delay(delay).ease(TweenEquations.Cubic_In).start();
tweenEngine.to(titleRight, SpriteAccessor.POS_XY, 0.3F).targetRelative(0, dy).delay(delay).ease(TweenEquations.Cubic_In).start();
}
private void closeSelectedTile() {
selectedTile.minimize(minimizeCallback);
selectedTile = null;
Gdx.input.setInputProcessor(null);
showTitle(0.2F);
}
private final Test.Callback testCallback = new Test.Callback() {
@Override
public void closeRequested(Test source) {
closeSelectedTile();
}
};
// -------------------------------------------------------------------------
// Callbacks
// -------------------------------------------------------------------------
private final TweenCallback veilEndCallback = new TweenCallback() {
@Override
public void onEvent(int type, BaseTween source) {
showTitle(0);
for (int i=0; i<tiles.size(); i++) {
int row = i / TILES_PER_LINE;
int col = i % TILES_PER_LINE;
float delay = row * 0.07F + col * 0.15F;
tiles.get(i).enter(delay);
}
}
};
private final TweenCallback maximizeCallback = new TweenCallback() {
@Override
public void onEvent(int type, BaseTween source) {
selectedTile = (Tile) source.getUserData();
selectedTile.getTest().initialize();
Gdx.input.setInputProcessor(testInputMultiplexer);
Gdx.input.setCatchBackKey(true);
testInputMultiplexer.clear();
testInputMultiplexer.addProcessor(testInputProcessor);
if (selectedTile.getTest().getInput() != null) {
testInputMultiplexer.addProcessor(selectedTile.getTest().getInput());
}
}
};
private final TweenCallback minimizeCallback = new TweenCallback() {
@Override
public void onEvent(int type, BaseTween source) {
Tile tile = (Tile) source.getUserData();
tile.getTest().dispose();
Gdx.input.setInputProcessor(launcherInputProcessor);
Gdx.input.setCatchBackKey(false);
}
};
// -------------------------------------------------------------------------
// Inputs
// -------------------------------------------------------------------------
private final InputProcessor launcherInputProcessor = new InputAdapter() {
private boolean isDragged;
private float firstY;
private float lastY;
@Override
public boolean touchDown(int x, int y, int pointer, int button) {
firstY = lastY = y;
isDragged = false;
return true;
}
@Override
public boolean touchDragged(int x, int y, int pointer) {
float threshold = 0.5f * Gdx.graphics.getPpcY();
if (Math.abs(y - firstY) > threshold && !isDragged) {
isDragged = true;
lastY = y;
}
if (isDragged) {
float dy = (y - lastY) * camera.viewportHeight / Gdx.graphics.getHeight();
camera.translate(0, dy, 0);
trimCamera();
camera.update();
lastY = y;
}
return true;
}
@Override
public boolean touchUp(int x, int y, int pointer, int button) {
if (!isDragged) {
Vector3 v = new Vector3(x, y, 0);
camera.unproject(v);
Tile tile = getOverTile(v.x, v.y);
if (tile != null) {
tiles.remove(tile);
tiles.add(tile);
tile.maximize(maximizeCallback);
Gdx.input.setInputProcessor(null);
hideTitle(0.4F);
}
}
return true;
}
@Override
public boolean scrolled(int amount) {
camera.position.y += amount > 0 ? -0.1f : 0.1f;
trimCamera();
camera.update();
return true;
}
private Tile getOverTile(float x, float y) {
for (int i=0; i<tiles.size(); i++)
if (tiles.get(i).isOver(x, y)) return tiles.get(i);
return null;
}
private void trimCamera() {
int linesCntMinusOne = Math.max(tiles.size()-1, 0) / TILES_PER_LINE;
float min = -linesCntMinusOne * (tileH + TILES_PADDING) + camera.viewportHeight/2;
float max = 0;
camera.position.y = Math.max(camera.position.y, min);
camera.position.y = Math.min(camera.position.y, max);
}
};
private final InputMultiplexer testInputMultiplexer = new InputMultiplexer();
private final InputProcessor testInputProcessor = new InputAdapter() {
@Override
public boolean keyDown(int keycode) {
if ((keycode == Keys.BACK || keycode == Keys.ESCAPE) && selectedTile != null) {
closeSelectedTile();
}
return false;
}
};
}

View File

@ -0,0 +1,263 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.demo;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputAdapter;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import dorkbox.accessors.SpriteAccessor;
import dorkbox.tweenengine.BaseTween;
import dorkbox.tweenengine.TweenCallback;
import dorkbox.tweenengine.TweenEngine;
import dorkbox.tweenengine.TweenEquations;
import dorkbox.tweenengine.UpdateAction;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com/
*/
public
class SplashScreen {
private static final int PX_PER_METER = 400;
private final OrthographicCamera camera = new OrthographicCamera();
private final SpriteBatch batch = new SpriteBatch();
private final UpdateAction<Void> callback;
private final TweenEngine tweenEngine;
private final TweenCallback tweenCallback;
private boolean finishedAnimation = false;
private final Sprite universal;
private final Sprite tween;
private final Sprite engine;
private final Sprite logo;
private final Sprite strip;
private final Sprite powered;
private final Sprite gdx;
private final Sprite veil;
private final TextureRegion gdxTex;
public
SplashScreen(UpdateAction<Void> callback, final TweenEngine tweenEngine) {
this.callback = callback;
this.tweenEngine = tweenEngine;
tweenCallback = new TweenCallback() {
@Override
public
void onEvent(final int type, final BaseTween<?> source) {
finishedAnimation = true;
}
};
TextureAtlas atlas = Assets.inst()
.get("splash/pack", TextureAtlas.class);
universal = atlas.createSprite("universal");
tween = atlas.createSprite("tween");
engine = atlas.createSprite("engine");
logo = atlas.createSprite("logo");
strip = atlas.createSprite("white");
powered = atlas.createSprite("powered");
gdx = atlas.createSprite("gdxblur");
veil = atlas.createSprite("white");
gdxTex = atlas.findRegion("gdx");
float wpw = 1.0f;
float wph = wpw * Gdx.graphics.getHeight() / Gdx.graphics.getWidth();
camera.viewportWidth = wpw;
camera.viewportHeight = wph;
camera.update();
final InputProcessor inputProcessor = new InputAdapter() {
@Override
public
boolean touchUp(int x, int y, int pointer, int button) {
tweenEngine.to(veil, SpriteAccessor.OPACITY, 0.7f)
.target(1)
.addCallback(tweenCallback)
.start();
return true;
}
};
Gdx.input.setInputProcessor(inputProcessor);
Sprite[] sprites = new Sprite[] {universal, tween, engine, logo, powered, gdx};
for (Sprite sp : sprites) {
sp.setSize(sp.getWidth() / PX_PER_METER, sp.getHeight() / PX_PER_METER);
sp.setOrigin(sp.getWidth() / 2, sp.getHeight() / 2);
}
universal.setPosition(-0.325F, 0.028F);
tween.setPosition(-0.320F, -0.066F);
engine.setPosition(0.020F, -0.087F);
logo.setPosition(0.238F, 0.022F);
strip.setSize(wpw, wph);
strip.setOrigin(wpw / 2, wph / 2);
strip.setPosition(-wpw / 2, -wph / 2);
powered.setPosition(-0.278F, -0.025F);
gdx.setPosition(0.068F, -0.077F);
veil.setSize(wpw, wph);
veil.setPosition(-wpw / 2, -wph / 2);
veil.setColor(1, 1, 1, 0);
tweenEngine.createSequential()
// init
.push(tweenEngine.set(tween, SpriteAccessor.POS_XY)
.targetRelative(-1, 0))
.push(tweenEngine.set(engine, SpriteAccessor.POS_XY)
.targetRelative(1, 0))
.push(tweenEngine.set(universal, SpriteAccessor.POS_XY)
.targetRelative(0, 0.5F))
.push(tweenEngine.set(logo, SpriteAccessor.SCALE_XY)
.target(7, 7))
.push(tweenEngine.set(logo, SpriteAccessor.OPACITY)
.target(0))
.push(tweenEngine.set(strip, SpriteAccessor.SCALE_XY)
.target(1, 0))
.push(tweenEngine.set(powered, SpriteAccessor.OPACITY)
.target(0))
.push(tweenEngine.set(gdx, SpriteAccessor.OPACITY)
.target(0))
.push(tweenEngine.to(strip, SpriteAccessor.SCALE_XY, 0.8F)
.target(1, 0.6F)
.ease(TweenEquations.Back_Out))
.push(tweenEngine.to(tween, SpriteAccessor.POS_XY, 0.5F)
.targetRelative(1, 0)
.ease(TweenEquations.Quart_Out))
.push(tweenEngine.to(engine, SpriteAccessor.POS_XY, 0.5F)
.targetRelative(-1, 0)
.ease(TweenEquations.Quart_Out))
.push(tweenEngine.to(universal, SpriteAccessor.POS_XY, 0.6F)
.targetRelative(0, -0.5F)
.ease(TweenEquations.Bounce_Out))
.pushPause(0.5F)
.beginParallel()
.push(tweenEngine.set(logo, SpriteAccessor.OPACITY)
.target(1))
.push(tweenEngine.to(logo, SpriteAccessor.SCALE_XY, 0.8F)
.target(1, 1)
.ease(TweenEquations.Back_Out))
.end()
.push(tweenEngine.to(strip, SpriteAccessor.SCALE_XY, 0.5F)
.target(1, 1)
.ease(TweenEquations.Back_In))
.pushPause(0.3F)
.beginParallel()
.push(tweenEngine.to(tween, SpriteAccessor.POS_XY, 0.5F)
.targetRelative(1, 0)
.ease(TweenEquations.Back_In))
.push(tweenEngine.to(engine, SpriteAccessor.POS_XY, 0.5F)
.targetRelative(1, 0)
.ease(TweenEquations.Back_In))
.push(tweenEngine.to(universal, SpriteAccessor.POS_XY, 0.5F)
.targetRelative(1, 0)
.ease(TweenEquations.Back_In))
.push(tweenEngine.to(logo, SpriteAccessor.POS_XY, 0.5F)
.targetRelative(1, 0)
.ease(TweenEquations.Back_In))
.end()
.pushPause(0.3F)
.push(tweenEngine.to(powered, SpriteAccessor.OPACITY, 0.3F)
.target(1))
.beginParallel()
.push(tweenEngine.to(gdx, SpriteAccessor.OPACITY, 1.5F)
.target(1)
.ease(TweenEquations.Cubic_In))
.push(tweenEngine.to(gdx, SpriteAccessor.ROTATION, 2.0F)
.target(360 * 15)
.ease(TweenEquations.Quad_Out))
.end()
.pushPause(0.3f)
.push(tweenEngine.to(gdx, SpriteAccessor.SCALE_XY, 0.6F)
.waypoint(1.6F, 0.4F)
.target(1.2F, 1.2F)
.ease(TweenEquations.Cubic_Out))
.pushPause(0.3f)
.beginParallel()
.push(tweenEngine.to(powered, SpriteAccessor.POS_XY, 0.5F)
.targetRelative(1, 0)
.ease(TweenEquations.Back_In))
.push(tweenEngine.to(gdx, SpriteAccessor.POS_XY, 0.5F)
.targetRelative(1, 0)
.ease(TweenEquations.Back_In))
.end()
.pushPause(0.3F)
.addCallback(tweenCallback)
.start();
}
public
void dispose() {
tweenEngine.cancelAll();
batch.dispose();
}
public
void render() {
tweenEngine.update(Gdx.graphics.getDeltaTime());
if (gdx.getRotation() > 360 * 15 - 20) {
gdx.setRegion(gdxTex);
}
GL20 gl = Gdx.gl20;
gl.glClearColor(0, 0, 0, 1);
gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
gl.glEnable(GL20.GL_BLEND);
gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
batch.setProjectionMatrix(camera.combined);
batch.begin();
strip.draw(batch);
universal.draw(batch);
tween.draw(batch);
engine.draw(batch);
logo.draw(batch);
powered.draw(batch);
gdx.draw(batch);
if (veil.getColor().a > 0.1f) {
veil.draw(batch);
}
batch.end();
if (finishedAnimation) {
callback.onEvent(null);
}
}
}

282
src/dorkbox/demo/Test.java Normal file
View File

@ -0,0 +1,282 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.demo;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.GlyphLayout;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.utils.Align;
import dorkbox.accessors.SpriteAccessor;
import dorkbox.tweenengine.BaseTween;
import dorkbox.tweenengine.TweenCallback;
import dorkbox.tweenengine.TweenEngine;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com/
*/
public abstract class Test {
private final TextureAtlas atlas;
private final Sprite background;
private final Sprite veil;
private final Sprite infoBack;
private final List<Sprite> dots = new ArrayList<Sprite>(50);
protected final TweenEngine tweenEngine;
private boolean[] useDots;
private Callback callback;
protected final OrthographicCamera camera = new OrthographicCamera();
protected final SpriteBatch batch = new SpriteBatch();
protected final Random rand = new Random();
protected final BitmapFont font;
protected final float wpw = 10;
protected final float wph = 10 * Gdx.graphics.getHeight() / Gdx.graphics.getWidth();
protected Sprite[] sprites;
GlyphLayout layout = new GlyphLayout();
public Test(final TweenEngine tweenEngine) {
this.tweenEngine = tweenEngine;
atlas = Assets.inst().get("test/pack", TextureAtlas.class);
background = atlas.createSprite("background");
veil = atlas.createSprite("white");
infoBack = atlas.createSprite("white");
int w = Gdx.graphics.getWidth();
if (w > 600) font = Assets.inst().get("arial-24.fnt", BitmapFont.class);
else font = Assets.inst().get("arial-16.fnt", BitmapFont.class);
}
// -------------------------------------------------------------------------
// Abstract API
// -------------------------------------------------------------------------
public abstract String getTitle();
public abstract String getInfo();
public abstract String getImageName();
public abstract InputProcessor getInput();
protected abstract void initializeOverride();
protected abstract void disposeOverride();
protected abstract void renderOverride();
// -------------------------------------------------------------------------
// Public API
// -------------------------------------------------------------------------
public
interface Callback {
void closeRequested(Test source);
}
public void setCallback(Callback callback) {
this.callback = callback;
}
public void initialize() {
if (isCustomDisplay()) {
initializeOverride();
return;
}
camera.viewportWidth = wpw;
camera.viewportHeight = wph;
camera.update();
background.setSize(wpw, wpw * background.getHeight() / background.getWidth());
background.setPosition(-wpw/2, -background.getHeight()/2);
veil.setSize(wpw, wph);
veil.setPosition(-wpw/2, -wph/2);
infoBack.setColor(0, 0, 0, 0.3f);
infoBack.setPosition(0, 0);
initializeOverride();
tweenEngine.set(veil, SpriteAccessor.OPACITY).target(1).start();
tweenEngine.to(veil, SpriteAccessor.OPACITY, 0.5F).target(0).start();
}
public void dispose() {
dots.clear();
sprites = null;
useDots = null;
disposeOverride();
}
public void render() {
if (isCustomDisplay()) {
renderOverride();
return;
}
// update
for (int i = 0; i < dots.size(); i++) {
if (dots.get(i)
.getScaleX() < 0.1f) {
dots.remove(i);
}
}
// render
GL20 gl = Gdx.gl20;
gl.glClearColor(1, 1, 1, 1);
gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
gl.glEnable(GL20.GL_BLEND);
gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
int w = Gdx.graphics.getWidth();
int h = Gdx.graphics.getHeight();
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.disableBlending();
background.draw(batch);
batch.enableBlending();
for (int i=0; i<dots.size(); i++) dots.get(i).draw(batch);
for (int i=0; i<sprites.length; i++) sprites[i].draw(batch);
batch.end();
renderOverride();
if (getInfo() != null) {
int padding = 15;
layout.setText(font, getInfo(), Color.WHITE, w - padding*2, Align.left, true);
infoBack.setSize(w, layout.height + padding*2);
font.setColor(Color.WHITE);
batch.getProjectionMatrix().setToOrtho2D(0, 0, w, h);
batch.begin();
infoBack.draw(batch);
font.draw(batch, getInfo(), padding, layout.height + padding, w - padding*2, 0, true);
batch.end();
}
if (veil.getColor().a > 0.1f) {
batch.setProjectionMatrix(camera.combined);
batch.begin();
veil.draw(batch);
batch.end();
}
}
// -------------------------------------------------------------------------
// Helpers
// -------------------------------------------------------------------------
protected boolean isCustomDisplay() {
return false;
}
protected void forceClose() {
if (callback != null) callback.closeRequested(this);
}
protected void createSprites(int cnt) {
sprites = new Sprite[cnt];
useDots = new boolean[cnt];
for (int i=0; i<cnt; i++) {
int idx = rand.nextInt(400)/100 + 1;
sprites[i] = atlas.createSprite("sprite" + idx);
sprites[i].setSize(1.0F, 1.0F * sprites[i].getHeight() / sprites[i].getWidth());
sprites[i].setOrigin(sprites[i].getWidth()/2, sprites[i].getHeight()/2);
useDots[i] = false;
}
}
protected void center(Sprite sp, float x, float y) {
sp.setPosition(x - sp.getWidth()/2, y - sp.getHeight()/2);
}
protected void enableDots(int spriteId) {
useDots[spriteId] = true;
tweenEngine.call(dotCallback)
.delay(0.02F)
.repeat(-1, 0.02F)
.setUserData(spriteId)
.start();
}
protected void disableDots(int spriteId) {
useDots[spriteId] = false;
}
private final Vector2 v2 = new Vector2();
private final Vector3 v3 = new Vector3();
protected Vector2 touch2world(int x, int y) {
v3.set(x, y, 0);
camera.unproject(v3);
return v2.set(v3.x, v3.y);
}
// -------------------------------------------------------------------------
// Helpers
// -------------------------------------------------------------------------
private final TweenCallback dotCallback = new TweenCallback() {
@Override
public void onEvent(int type, BaseTween source) {
int spriteId = (Integer) source.getUserData();
if (!useDots[spriteId]) source.cancel();
Sprite sp = sprites[spriteId];
Sprite dot = atlas.createSprite("dot");
dot.setSize(0.2F, 0.2F);
dot.setOrigin(0.1F, 0.1F);
dot.setPosition(sp.getX(), sp.getY());
dot.translate(sp.getWidth()/2, sp.getHeight()/2);
dot.translate(-dot.getWidth()/2, -dot.getHeight()/2);
dots.add(dot);
tweenEngine.to(dot, SpriteAccessor.SCALE_XY, 1.0F).target(0, 0).start();
}
};
// -------------------------------------------------------------------------
// Dummy
// -------------------------------------------------------------------------
public static final Test dummy = new Test(null) {
@Override public String getTitle() {return "Dummy test";}
@Override public String getInfo() {return null;}
@Override public String getImageName() {return null;}
@Override public InputProcessor getInput() {return null;}
@Override protected void initializeOverride() {}
@Override protected void disposeOverride() {}
@Override protected void renderOverride() {}
};
}

161
src/dorkbox/demo/Tile.java Normal file
View File

@ -0,0 +1,161 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.demo;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.utils.Align;
import dorkbox.accessors.SpriteAccessor;
import dorkbox.tweenengine.TweenCallback;
import dorkbox.tweenengine.TweenEngine;
import dorkbox.tweenengine.TweenEquations;
import dorkbox.tweenengine.primitives.MutableFloat;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com/
*/
public class Tile {
private final float x, y;
private final Test test;
private final Sprite sprite;
private final Sprite interactiveIcon;
private final Sprite veil;
private final OrthographicCamera camera;
private final BitmapFont font;
private final TweenEngine tweenEngine;
private final MutableFloat textOpacity = new MutableFloat(1);
public Tile(float x,
float y,
float w,
float h,
Test test,
TextureAtlas atlas,
OrthographicCamera camera,
BitmapFont font,
final TweenEngine tweenEngine) {
this.x = x;
this.y = y;
this.test = test;
this.camera = camera;
this.font = font;
this.tweenEngine = tweenEngine;
this.sprite = test.getImageName() != null ? atlas.createSprite(test.getImageName()) : atlas.createSprite("tile");
this.interactiveIcon = atlas.createSprite("interactive");
this.veil = atlas.createSprite("white");
sprite.setSize(w, h);
sprite.setOrigin(w/2, h/2);
sprite.setPosition(x + camera.viewportWidth, y);
interactiveIcon.setSize(w/10, w/10 * interactiveIcon.getHeight() / interactiveIcon.getWidth());
interactiveIcon.setPosition(x+w - interactiveIcon.getWidth() - w/50, y+h - interactiveIcon.getHeight() - w/50);
interactiveIcon.setColor(1, 1, 1, 0);
veil.setSize(w, h);
veil.setOrigin(w/2, h/2);
veil.setPosition(x, y);
veil.setColor(1, 1, 1, 0);
}
public void draw(SpriteBatch batch) {
sprite.draw(batch);
if (test.getInput() != null) interactiveIcon.draw(batch);
float wrapW = (sprite.getWidth() - sprite.getWidth()/10) * Gdx.graphics.getWidth() / camera.viewportWidth;
font.setColor(1, 1, 1, textOpacity.floatValue());
font.draw(batch, test.getTitle(),
sprite.getX() + sprite.getWidth()/20,
sprite.getY() + sprite.getHeight()*19/20,
wrapW, Align.left, true);
if (veil.getColor().a > 0.1f) veil.draw(batch);
}
public void enter(final float delay) {
tweenEngine.createSequential()
.push(tweenEngine.to(sprite, SpriteAccessor.POS_XY, 0.7F).target(x, y).ease(TweenEquations.Cubic_InOut))
.pushPause(0.1F)
.push(tweenEngine.to(interactiveIcon, SpriteAccessor.OPACITY, 0.4F).target(1))
.delay(delay)
.start();
}
public void maximize(TweenCallback callback) {
tweenEngine.cancelTarget(interactiveIcon);
tweenEngine.cancelTarget(textOpacity);
tweenEngine.cancelTarget(sprite);
float tx = camera.position.x - sprite.getWidth()/2;
float ty = camera.position.y - sprite.getHeight()/2;
float sx = camera.viewportWidth / sprite.getWidth();
float sy = camera.viewportHeight / sprite.getHeight();
tweenEngine.createSequential()
.push(tweenEngine.set(veil, SpriteAccessor.POS_XY).target(tx, ty))
.push(tweenEngine.set(veil, SpriteAccessor.SCALE_XY).target(sx, sy))
.beginParallel()
.push(tweenEngine.to(textOpacity, 0, 0.2F).target(0))
.push(tweenEngine.to(interactiveIcon, SpriteAccessor.OPACITY, 0.2F).target(0))
.end()
.push(tweenEngine.to(sprite, SpriteAccessor.SCALE_XY, 0.3F).target(0.9F, 0.9F).ease(TweenEquations.Quad_Out))
.beginParallel()
.push(tweenEngine.to(sprite, SpriteAccessor.SCALE_XY, 0.5F).target(sx, sy).ease(TweenEquations.Cubic_In))
.push(tweenEngine.to(sprite, SpriteAccessor.POS_XY, 0.5F).target(tx, ty).ease(TweenEquations.Quad_In))
.pushPause(0.3F)
.push(tweenEngine.to(veil, SpriteAccessor.OPACITY, 0.7F).target(1))
.end()
.setUserData(this)
.addCallback(callback)
.start();
}
public void minimize(TweenCallback callback) {
tweenEngine.cancelTarget(sprite);
tweenEngine.cancelTarget(textOpacity);
tweenEngine.createSequential()
.push(tweenEngine.set(veil, SpriteAccessor.OPACITY).target(0))
.beginParallel()
.push(tweenEngine.to(sprite, SpriteAccessor.SCALE_XY, 0.3F).target(1, 1).ease(TweenEquations.Quad_Out))
.push(tweenEngine.to(sprite, SpriteAccessor.POS_XY, 0.5F).target(x, y).ease(TweenEquations.Quad_Out))
.end()
.beginParallel()
.push(tweenEngine.to(textOpacity, 0, 0.3F).target(1))
.push(tweenEngine.to(interactiveIcon, SpriteAccessor.OPACITY, 0.3F).target(1))
.end()
.setUserData(this)
.addCallback(callback)
.start();
}
public boolean isOver(float x, float y) {
return sprite.getX() <= x && x <= sprite.getX() + sprite.getWidth()
&& sprite.getY() <= y && y <= sprite.getY() + sprite.getHeight();
}
public Test getTest() {
return test;
}
}

View File

@ -0,0 +1,207 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.demo.tests;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputAdapter;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import dorkbox.accessors.SpriteAccessor;
import dorkbox.demo.Assets;
import dorkbox.demo.Test;
import dorkbox.tweenengine.TweenEngine;
import dorkbox.tweenengine.TweenEquations;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com
*/
public class Functions extends Test {
private Sprite functions1;
private Sprite functions2;
private Sprite functions3;
private int state;
public
Functions(final TweenEngine tweenEngine) {
super(tweenEngine);
}
@Override
public String getTitle() {
return "Easing functions";
}
@Override
public String getInfo() {
return "The most common easing functions - used in JQuery and Flash - are available, plus "
+ "your own (touch to switch functions).";
}
@Override
public String getImageName() {
return "tile-functions";
}
@Override
public InputProcessor getInput() {
return inputProcessor;
}
@Override
protected void initializeOverride() {
TextureAtlas atlas = Assets.inst().get("test/pack", TextureAtlas.class);
functions1 = atlas.createSprite("functions1");
functions2 = atlas.createSprite("functions2");
functions3 = atlas.createSprite("functions3");
functions1.setSize(3.5F * functions1.getWidth() / functions1.getHeight(), 3.5F);
functions2.setSize(3.5F * functions2.getWidth() / functions2.getHeight(), 3.5F);
functions3.setSize(2.5F * functions3.getWidth() / functions3.getHeight(), 2.5F);
center(functions1, -3.5F, 0.5F);
center(functions2, -3.5F, 0.5F);
center(functions3, -3.5F, 1.0F);
functions1.setColor(1, 1, 1, 0);
functions2.setColor(1, 1, 1, 0);
functions3.setColor(1, 1, 1, 0);
createSprites(4);
enableDots(0);
enableDots(1);
enableDots(2);
enableDots(3);
center(sprites[0], -2, +2);
center(sprites[1], -2, +1);
center(sprites[2], -2, +0);
center(sprites[3], -2, -1);
startFunctions1(0.5F);
}
@Override
protected void disposeOverride() {
tweenEngine.cancelAll();
}
@Override
protected void renderOverride() {
tweenEngine.update(Gdx.graphics.getDeltaTime());
batch.setProjectionMatrix(camera.combined);
batch.begin();
if (functions1.getColor().a > 0.1F) functions1.draw(batch);
if (functions2.getColor().a > 0.1F) functions2.draw(batch);
if (functions3.getColor().a > 0.1F) functions3.draw(batch);
batch.end();
}
private void reset() {
tweenEngine.cancelAll();
center(sprites[0], -2, +2);
center(sprites[1], -2, +1);
center(sprites[2], -2, +0);
center(sprites[3], -2, -1);
}
private void startFunctions1(float delay) {
state = 0;
enableDots(3);
tweenEngine.createParallel()
.push(tweenEngine.to(functions1, SpriteAccessor.OPACITY, 0.4F).target(1))
.push(tweenEngine.to(functions2, SpriteAccessor.OPACITY, 0.4F).target(0))
.push(tweenEngine.to(functions3, SpriteAccessor.OPACITY, 0.4F).target(0))
.push(tweenEngine.to(sprites[3], SpriteAccessor.OPACITY, 0.4F).target(1))
.start();
tweenEngine.createSequential()
.beginParallel()
.push(tweenEngine.to(sprites[0], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Quad_InOut))
.push(tweenEngine.to(sprites[1], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Cubic_InOut))
.push(tweenEngine.to(sprites[2], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Quart_InOut))
.push(tweenEngine.to(sprites[3], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Quint_InOut))
.end()
.pushPause(0.5F)
.repeat(-1, 1.0f)
.delay(delay)
.start();
}
private void startFunctions2(float delay) {
state = 1;
tweenEngine.createParallel()
.push(tweenEngine.to(functions1, SpriteAccessor.OPACITY, 0.4F).target(0))
.push(tweenEngine.to(functions2, SpriteAccessor.OPACITY, 0.4F).target(1))
.push(tweenEngine.to(functions3, SpriteAccessor.OPACITY, 0.4F).target(0))
.push(tweenEngine.to(sprites[3], SpriteAccessor.OPACITY, 0.4F).target(1))
.start();
tweenEngine.createSequential()
.beginParallel()
.push(tweenEngine.to(sprites[0], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Circle_InOut))
.push(tweenEngine.to(sprites[1], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Sine_InOut))
.push(tweenEngine.to(sprites[2], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Expo_InOut))
.push(tweenEngine.to(sprites[3], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Linear))
.end()
.pushPause(0.5F)
.repeat(-1, 1.0F)
.delay(delay)
.start();
}
private void startFunctions3(float delay) {
state = 2;
disableDots(3);
tweenEngine.createParallel()
.push(tweenEngine.to(functions1, SpriteAccessor.OPACITY, 0.4F).target(0))
.push(tweenEngine.to(functions2, SpriteAccessor.OPACITY, 0.4F).target(0))
.push(tweenEngine.to(functions3, SpriteAccessor.OPACITY, 0.4F).target(1))
.push(tweenEngine.to(sprites[3], SpriteAccessor.OPACITY, 0.4F).target(0))
.start();
tweenEngine.createSequential()
.beginParallel()
.push(tweenEngine.to(sprites[0], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Back_Out))
.push(tweenEngine.to(sprites[1], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Elastic_Out))
.push(tweenEngine.to(sprites[2], SpriteAccessor.CPOS_XY, 1.0F).targetRelative(6, 0).ease(TweenEquations.Bounce_Out))
.end()
.pushPause(0.5F)
.repeat(-1, 1.0F)
.delay(delay)
.start();
}
private final InputProcessor inputProcessor = new InputAdapter() {
@Override
public boolean touchDown(int x, int y, int pointer, int button) {
switch (state) {
case 0: reset(); startFunctions2(1.0F); break;
case 1: reset(); startFunctions3(1.0F); break;
case 2: reset(); startFunctions1(1.0F); break;
}
return true;
}
};
}

View File

@ -0,0 +1,94 @@
/*
* Copyright 2012 Aurelien Ribon
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dorkbox.demo.tests;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.utils.Align;
import dorkbox.accessors.SpriteAccessor;
import dorkbox.demo.Test;
import dorkbox.tweenengine.TweenEngine;
import dorkbox.tweenengine.TweenEquations;
/**
* @author Aurelien Ribon | http://www.aurelienribon.com
*/
public class Info extends Test {
private final String msg;
public Info(final TweenEngine tweenEngine) {
super(tweenEngine);
msg = "The Universal Tween Engine enables the interpolation of every "
+ "attributes from any object in any Java project (being an opengl "
+ "or java2d game, an android application, a swing/swt interface "
+ "or even a console project).\n"
+ "\n"
+ "This project was considered dead, and thus was forked in order "
+ "to continue development, features and fixes by dorkbox.\n"
+ "\n"
+ ":: Project page\n"
+ "https://github.com/dorkbox/TweenEngine\n"
+ "\n"
+ ":: Original Project page (no longer updated)\n"
+ "http://code.google.com/p/java-universal-tween-engine/";
}
@Override
public String getTitle() {
return "Information";
}
@Override
public String getInfo() {
return null;
}
@Override
public String getImageName() {
return "tile-info";
}
@Override
public InputProcessor getInput() {
return null;
}
@Override
protected void initializeOverride() {
createSprites(1);
center(sprites[0], wpw/2-0.8F, -wph/2+0.8F);
tweenEngine.to(sprites[0], SpriteAccessor.ROTATION, 3.0F).target(360).ease(TweenEquations.Linear).repeat(-1, 0).start();
}
@Override
protected void disposeOverride() {
tweenEngine.cancelAll();
}
@Override
protected void renderOverride() {
tweenEngine.update(Gdx.graphics.getDeltaTime());
int w = Gdx.graphics.getWidth();
int h = Gdx.graphics.getHeight();
batch.getProjectionMatrix().setToOrtho2D(0, 0, w, h);
batch.begin();
font.draw(batch, msg, 20, h-20, w-40, Align.left, true);
batch.end();
}
}

Some files were not shown because too many files have changed in this diff Show More