├── .gitignore ├── README.md ├── assets ├── animation.meta ├── animation │ ├── attack1.anim │ ├── attack1.anim.meta │ ├── counter.anim │ └── counter.anim.meta ├── atlas.meta ├── atlas │ ├── fighter_atlas.plist │ ├── fighter_atlas.plist.meta │ ├── fighter_atlas.png │ ├── fighter_atlas.png.meta │ ├── fx_atlas.plist │ ├── fx_atlas.plist.meta │ ├── fx_atlas.png │ └── fx_atlas.png.meta ├── audio.meta ├── audio │ ├── attack.wav │ ├── attack.wav.meta │ ├── bgm.mp3 │ ├── bgm.mp3.meta │ ├── good.wav │ ├── good.wav.meta │ ├── hit.wav │ ├── hit.wav.meta │ ├── miss.wav │ ├── miss.wav.meta │ ├── perfect.wav │ └── perfect.wav.meta ├── data.meta ├── data │ ├── fighter.json │ ├── fighter.json.meta │ ├── fighter.xlsx │ ├── fighter.xlsx.meta │ ├── level.json │ ├── level.json.meta │ ├── level.xlsx │ └── level.xlsx.meta ├── font.meta ├── font │ ├── abadi_mt.fnt │ ├── abadi_mt.fnt.meta │ ├── abadi_mt.png │ ├── abadi_mt.png.meta │ ├── fz_hei.fnt │ ├── fz_hei.fnt.meta │ ├── fz_hei.png │ ├── fz_hei.png.meta │ ├── hiragino_std.fnt │ ├── hiragino_std.fnt.meta │ ├── hiragino_std.png │ ├── hiragino_std.png.meta │ ├── mikado_outline_shadow.fnt │ ├── mikado_outline_shadow.fnt.meta │ ├── mikado_outline_shadow.png │ └── mikado_outline_shadow.png.meta ├── scene.meta ├── scene │ ├── animation_test.fire │ ├── animation_test.fire.meta │ ├── player_test.fire │ └── player_test.fire.meta ├── script.meta ├── script │ ├── Counter.js │ └── Counter.js.meta ├── texture.meta └── texture │ ├── HP_Bar.png │ ├── HP_Bar.png.meta │ ├── background.meta │ ├── background │ ├── 004.jpg │ ├── 004.jpg.meta │ ├── 005.jpg │ └── 005.jpg.meta │ ├── progressBar.png │ ├── progressBar.png.meta │ ├── shadow.png │ ├── shadow.png.meta │ ├── txt_hit.png │ └── txt_hit.png.meta ├── project.json ├── scripts ├── Behaviors.meta ├── Behaviors │ ├── AssetMng.js │ ├── AssetMng.js.meta │ ├── AudioMng.js │ ├── AudioMng.js.meta │ ├── BattleMng.js │ ├── BattleMng.js.meta │ ├── FXManager.js │ ├── FXManager.js.meta │ ├── FighterDisplay.js │ ├── FighterDisplay.js.meta │ ├── FighterIcon.js │ ├── FighterIcon.js.meta │ ├── HPBar.js │ ├── HPBar.js.meta │ ├── TextFX.js │ ├── TextFX.js.meta │ ├── Timeline.js │ └── Timeline.js.meta ├── Experiments.meta ├── Experiments │ ├── FighterAsset.js │ ├── FighterAsset.js.meta │ ├── LayerMng.js │ ├── LayerMng.js.meta │ ├── UIMng.js │ └── UIMng.js.meta ├── Game.js ├── Game.js.meta ├── Modules.meta ├── Modules │ ├── Animation.js │ ├── Animation.js.meta │ ├── Globals.js │ └── Globals.js.meta ├── UI.meta └── UI │ ├── BtnLevel.js │ ├── BtnLevel.js.meta │ ├── Loading.js │ ├── Loading.js.meta │ ├── Menu.js │ └── Menu.js.meta └── settings ├── builder.panel.json └── project.json /.gitignore: -------------------------------------------------------------------------------- 1 | #///////////////////////////////////////////////////////////////////////////// 2 | # Fireball Projects 3 | #///////////////////////////////////////////////////////////////////////////// 4 | 5 | library/ 6 | temp/ 7 | local/ 8 | build/ 9 | 10 | #///////////////////////////////////////////////////////////////////////////// 11 | # Logs and databases 12 | #///////////////////////////////////////////////////////////////////////////// 13 | 14 | *.log 15 | *.sql 16 | *.sqlite 17 | 18 | #///////////////////////////////////////////////////////////////////////////// 19 | # files for debugger 20 | #///////////////////////////////////////////////////////////////////////////// 21 | 22 | *.sln 23 | *.csproj 24 | *.pidb 25 | *.unityproj 26 | *.suo 27 | 28 | #///////////////////////////////////////////////////////////////////////////// 29 | # OS generated files 30 | #///////////////////////////////////////////////////////////////////////////// 31 | 32 | .DS_Store 33 | ehthumbs.db 34 | Thumbs.db 35 | 36 | #///////////////////////////////////////////////////////////////////////////// 37 | # exvim files 38 | #///////////////////////////////////////////////////////////////////////////// 39 | 40 | *UnityVS.meta 41 | *.err 42 | *.err.meta 43 | *.exvim 44 | *.exvim.meta 45 | *.vimentry 46 | *.vimentry.meta 47 | *.vimproject 48 | *.vimproject.meta 49 | .vimfiles.*/ 50 | .exvim.*/ 51 | quick_gen_project_*_autogen.bat 52 | quick_gen_project_*_autogen.bat.meta 53 | quick_gen_project_*_autogen.sh 54 | quick_gen_project_*_autogen.sh.meta 55 | .exvim.app 56 | 57 | #///////////////////////////////////////////////////////////////////////////// 58 | # webstorm files 59 | #///////////////////////////////////////////////////////////////////////////// 60 | 61 | .idea/ 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Combat Animation Demo (Cocos Creator) 2 | 3 | Make a combat scene with Cocos Creator animation system. 4 | 5 | - Motion animation 6 | - Time curve 7 | - Sprite animation 8 | - Opacity and color 9 | - Animate any custom property 10 | -------------------------------------------------------------------------------- /assets/animation.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "d8eb661f-2db8-4b70-bf5f-5d66fc02ec88", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/animation/attack1.anim: -------------------------------------------------------------------------------- 1 | { 2 | "__type__": "cc.AnimationClip", 3 | "_name": "attack1", 4 | "_objFlags": 0, 5 | "_rawFiles": null, 6 | "_duration": 1.0333333333333334, 7 | "sample": 60, 8 | "speed": 0.8, 9 | "wrapMode": 2, 10 | "curveData": { 11 | "paths": { 12 | "hero": { 13 | "props": { 14 | "position": [ 15 | { 16 | "frame": 0.08333333333333333, 17 | "value": [ 18 | -144, 19 | -133 20 | ], 21 | "motionPath": [ 22 | [ 23 | 82, 24 | -7, 25 | -60.3, 26 | -7.9, 27 | 240.4, 28 | -0.9 29 | ] 30 | ], 31 | "curve": [ 32 | 0.6, 33 | -0.89, 34 | 0.44, 35 | 1 36 | ] 37 | }, 38 | { 39 | "frame": 0.3333333333333333, 40 | "value": [ 41 | 391, 42 | -133 43 | ], 44 | "motionPath": [], 45 | "curve": [ 46 | 0.84, 47 | -0.81, 48 | 0.44, 49 | 1 50 | ] 51 | }, 52 | { 53 | "frame": 0.5, 54 | "value": [ 55 | 400, 56 | -133 57 | ], 58 | "motionPath": [] 59 | }, 60 | { 61 | "frame": 0.8333333333333334, 62 | "value": [ 63 | 400, 64 | -133 65 | ], 66 | "curve": [ 67 | 0.84, 68 | -0.73, 69 | 0.52, 70 | 1.03 71 | ], 72 | "motionPath": [ 73 | [ 74 | 158, 75 | -110, 76 | 256, 77 | -110, 78 | -1, 79 | -110 80 | ] 81 | ] 82 | }, 83 | { 84 | "frame": 1.0333333333333334, 85 | "value": [ 86 | -143, 87 | -133 88 | ], 89 | "motionPath": [] 90 | } 91 | ] 92 | }, 93 | "comps": { 94 | "cc.Sprite": { 95 | "spriteFrame": [ 96 | { 97 | "frame": 0, 98 | "value": { 99 | "__uuid__": "8557c91f-493f-4bac-9036-d8f9836a3a9a" 100 | } 101 | }, 102 | { 103 | "frame": 0.21666666666666667, 104 | "value": { 105 | "__uuid__": "704826fa-391c-4411-becc-8aac59b5fae3" 106 | } 107 | }, 108 | { 109 | "frame": 0.8333333333333334, 110 | "value": { 111 | "__uuid__": "8557c91f-493f-4bac-9036-d8f9836a3a9a" 112 | } 113 | } 114 | ] 115 | } 116 | } 117 | }, 118 | "monster": { 119 | "props": { 120 | "position": [ 121 | { 122 | "frame": 0.25, 123 | "value": [ 124 | 243, 125 | -133 126 | ], 127 | "motionPath": [ 128 | [ 129 | 252.8, 130 | -127.8, 131 | 247.9, 132 | -127.8, 133 | 257.9, 134 | -127.8 135 | ] 136 | ] 137 | }, 138 | { 139 | "frame": 0.3, 140 | "value": [ 141 | 302.5, 142 | -133 143 | ], 144 | "motionPath": [] 145 | }, 146 | { 147 | "frame": 0.3333333333333333, 148 | "value": [ 149 | 289, 150 | -133 151 | ] 152 | }, 153 | { 154 | "frame": 0.36666666666666664, 155 | "value": [ 156 | 292, 157 | -133 158 | ] 159 | }, 160 | { 161 | "frame": 0.4166666666666667, 162 | "value": [ 163 | 279, 164 | -133 165 | ] 166 | }, 167 | { 168 | "frame": 0.9166666666666666, 169 | "value": [ 170 | 279, 171 | -133 172 | ] 173 | }, 174 | { 175 | "frame": 1, 176 | "value": [ 177 | 243, 178 | -133 179 | ] 180 | } 181 | ] 182 | } 183 | }, 184 | "monster/flash": { 185 | "props": { 186 | "opacity": [ 187 | { 188 | "frame": 0.25, 189 | "value": 0 190 | }, 191 | { 192 | "frame": 0.3, 193 | "value": 200 194 | }, 195 | { 196 | "frame": 0.35, 197 | "value": 100 198 | }, 199 | { 200 | "frame": 0.38333333333333336, 201 | "value": 180 202 | }, 203 | { 204 | "frame": 0.45, 205 | "value": 0 206 | } 207 | ] 208 | } 209 | }, 210 | "fog": { 211 | "props": { 212 | "opacity": [ 213 | { 214 | "frame": 0.16666666666666666, 215 | "value": 0 216 | }, 217 | { 218 | "frame": 0.23333333333333334, 219 | "value": 255 220 | }, 221 | { 222 | "frame": 0.4, 223 | "value": 255 224 | }, 225 | { 226 | "frame": 0.45, 227 | "value": 0 228 | } 229 | ] 230 | }, 231 | "comps": { 232 | "cc.Sprite": { 233 | "spriteFrame": [ 234 | { 235 | "frame": 0.16666666666666666, 236 | "value": { 237 | "__uuid__": "bdecb14b-c9ca-4302-bcc1-5d64c0c2c18e" 238 | } 239 | }, 240 | { 241 | "frame": 0.2, 242 | "value": { 243 | "__uuid__": "2d4e8a38-51ce-422e-925b-4afe04099b8c" 244 | } 245 | }, 246 | { 247 | "frame": 0.23333333333333334, 248 | "value": { 249 | "__uuid__": "28268f12-7e2b-413a-b4cc-4905dc195c4b" 250 | } 251 | }, 252 | { 253 | "frame": 0.26666666666666666, 254 | "value": { 255 | "__uuid__": "6dcefc8a-4b09-43b5-b574-86bffb7e6021" 256 | } 257 | }, 258 | { 259 | "frame": 0.3, 260 | "value": { 261 | "__uuid__": "8086f1cb-2172-4c90-a8ab-e3d0090e5bfb" 262 | } 263 | }, 264 | { 265 | "frame": 0.35, 266 | "value": { 267 | "__uuid__": "6232911c-1dd2-4531-909a-224656c1377c" 268 | } 269 | }, 270 | { 271 | "frame": 0.4, 272 | "value": { 273 | "__uuid__": "5203ed7c-b2e9-429e-a1fb-3a931c63644a" 274 | } 275 | } 276 | ] 277 | } 278 | } 279 | }, 280 | "slash": { 281 | "props": { 282 | "opacity": [ 283 | { 284 | "frame": 0, 285 | "value": 0 286 | }, 287 | { 288 | "frame": 0.25, 289 | "value": 0 290 | }, 291 | { 292 | "frame": 0.3, 293 | "value": 255 294 | }, 295 | { 296 | "frame": 0.38333333333333336, 297 | "value": 255 298 | }, 299 | { 300 | "frame": 0.43333333333333335, 301 | "value": 0 302 | } 303 | ] 304 | }, 305 | "comps": { 306 | "cc.Sprite": { 307 | "spriteFrame": [ 308 | { 309 | "frame": 0.25, 310 | "value": { 311 | "__uuid__": "2e51dae6-8e3a-46e7-8912-5691b9969d36" 312 | } 313 | }, 314 | { 315 | "frame": 0.2833333333333333, 316 | "value": { 317 | "__uuid__": "0dec728d-5a76-4202-92b0-c68f259aa1eb" 318 | } 319 | }, 320 | { 321 | "frame": 0.31666666666666665, 322 | "value": { 323 | "__uuid__": "7f6cbb6c-0b47-4d1b-b790-40192273fa60" 324 | } 325 | }, 326 | { 327 | "frame": 0.35, 328 | "value": { 329 | "__uuid__": "94aa5e0e-a677-42fb-8fd3-afd1e55e4438" 330 | } 331 | } 332 | ] 333 | } 334 | } 335 | }, 336 | "blood": { 337 | "props": { 338 | "position": [ 339 | { 340 | "frame": 0, 341 | "value": [ 342 | 237.3, 343 | -108.4 344 | ] 345 | }, 346 | { 347 | "frame": 0.3, 348 | "value": [ 349 | 237.3, 350 | -108.4 351 | ] 352 | }, 353 | { 354 | "frame": 0.38333333333333336, 355 | "value": [ 356 | 256.8, 357 | -105.6 358 | ] 359 | }, 360 | { 361 | "frame": 0.4, 362 | "value": [ 363 | 295.9, 364 | -72 365 | ] 366 | }, 367 | { 368 | "frame": 0.48333333333333334, 369 | "value": [ 370 | 323.4, 371 | -81.8 372 | ] 373 | } 374 | ], 375 | "opacity": [ 376 | { 377 | "frame": 0.3, 378 | "value": 0 379 | }, 380 | { 381 | "frame": 0.3333333333333333, 382 | "value": 255 383 | }, 384 | { 385 | "frame": 0.4, 386 | "value": 255 387 | }, 388 | { 389 | "frame": 0.48333333333333334, 390 | "value": 0 391 | } 392 | ] 393 | }, 394 | "comps": { 395 | "cc.Sprite": { 396 | "spriteFrame": [ 397 | { 398 | "frame": 0.3333333333333333, 399 | "value": { 400 | "__uuid__": "905b0434-ce95-4789-a485-71e04530827c" 401 | } 402 | }, 403 | { 404 | "frame": 0.35, 405 | "value": { 406 | "__uuid__": "68e79b49-e284-4b24-bb23-5acc29eecf74" 407 | } 408 | }, 409 | { 410 | "frame": 0.4, 411 | "value": { 412 | "__uuid__": "b0d22a03-88f0-4ff8-a19e-107fb827273d" 413 | } 414 | } 415 | ] 416 | } 417 | } 418 | } 419 | } 420 | }, 421 | "events": [] 422 | } -------------------------------------------------------------------------------- /assets/animation/attack1.anim.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "3b2f9179-e290-4907-96a7-70a40054514a", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/animation/counter.anim: -------------------------------------------------------------------------------- 1 | { 2 | "__type__": "cc.AnimationClip", 3 | "_name": "counter", 4 | "_objFlags": 0, 5 | "_rawFiles": null, 6 | "_duration": 2.1666666666666665, 7 | "sample": 30, 8 | "speed": 1, 9 | "wrapMode": 1, 10 | "curveData": { 11 | "comps": { 12 | "Counter": { 13 | "isCounting": [ 14 | { 15 | "frame": 0, 16 | "value": true 17 | }, 18 | { 19 | "frame": 2, 20 | "value": true 21 | }, 22 | { 23 | "frame": 2.033333333333333, 24 | "value": false 25 | } 26 | ], 27 | "num": [ 28 | { 29 | "frame": 0, 30 | "value": 0 31 | }, 32 | { 33 | "frame": 2, 34 | "value": 99 35 | } 36 | ] 37 | } 38 | }, 39 | "paths": { 40 | "num": { 41 | "props": { 42 | "scaleX": [ 43 | { 44 | "frame": 1.0666666666666667, 45 | "value": 1 46 | }, 47 | { 48 | "frame": 2, 49 | "value": 1, 50 | "curve": [ 51 | 0.21, 52 | 0.35, 53 | 0.58, 54 | 1.75 55 | ] 56 | }, 57 | { 58 | "frame": 2.1, 59 | "value": 2 60 | }, 61 | { 62 | "frame": 2.1666666666666665, 63 | "value": 1 64 | } 65 | ], 66 | "scaleY": [ 67 | { 68 | "frame": 1.0666666666666667, 69 | "value": 1 70 | }, 71 | { 72 | "frame": 2, 73 | "value": 1, 74 | "curve": [ 75 | 0.27, 76 | 0.4, 77 | 0.55, 78 | 1.7 79 | ] 80 | }, 81 | { 82 | "frame": 2.1, 83 | "value": 2 84 | }, 85 | { 86 | "frame": 2.1666666666666665, 87 | "value": 1 88 | } 89 | ], 90 | "color": [ 91 | { 92 | "frame": 0, 93 | "value": { 94 | "__type__": "cc.Color", 95 | "r": 255, 96 | "g": 255, 97 | "b": 255, 98 | "a": 255 99 | } 100 | }, 101 | { 102 | "frame": 1.0666666666666667, 103 | "value": { 104 | "__type__": "cc.Color", 105 | "r": 250.73333333333332, 106 | "g": 123.80000000000001, 107 | "b": 123.80000000000001, 108 | "a": 255 109 | } 110 | }, 111 | { 112 | "frame": 2, 113 | "value": { 114 | "__type__": "cc.Color", 115 | "r": 247, 116 | "g": 9, 117 | "b": 9, 118 | "a": 255 119 | } 120 | } 121 | ] 122 | } 123 | } 124 | } 125 | }, 126 | "events": [] 127 | } -------------------------------------------------------------------------------- /assets/animation/counter.anim.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "530ee1e3-321b-4c03-a3ca-e523c3f6c9b8", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/atlas.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "f0aa1fc0-ed52-460a-a2b3-efc239fc851f", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/atlas/fighter_atlas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/atlas/fighter_atlas.png -------------------------------------------------------------------------------- /assets/atlas/fighter_atlas.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "020bf1b4-08ff-4cd8-bd20-2fef2233dfdb", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "fighter_atlas": { 9 | "ver": "1.0.2", 10 | "uuid": "143c3b60-f22c-4699-a6b1-0db6f021d2f1", 11 | "rawTextureUuid": "020bf1b4-08ff-4cd8-bd20-2fef2233dfdb", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": -0.5, 16 | "offsetY": 0, 17 | "trimX": 2, 18 | "trimY": 2, 19 | "width": 2037, 20 | "height": 740, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/atlas/fx_atlas.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | frames 6 | 7 | block_01.png 8 | 9 | frame 10 | {{1580,2},{83,96}} 11 | offset 12 | {0,0} 13 | rotated 14 | 15 | sourceColorRect 16 | {{0,0},{83,96}} 17 | sourceSize 18 | {83,96} 19 | 20 | block_02.png 21 | 22 | frame 23 | {{1678,2},{83,96}} 24 | offset 25 | {0,0} 26 | rotated 27 | 28 | sourceColorRect 29 | {{0,0},{83,96}} 30 | sourceSize 31 | {83,96} 32 | 33 | blood_splash_1.png 34 | 35 | frame 36 | {{1697,87},{85,71}} 37 | offset 38 | {-3,-13} 39 | rotated 40 | 41 | sourceColorRect 42 | {{67,76},{85,71}} 43 | sourceSize 44 | {225,197} 45 | 46 | blood_splash_2.png 47 | 48 | frame 49 | {{1289,2},{149,103}} 50 | offset 51 | {35,-4} 52 | rotated 53 | 54 | sourceColorRect 55 | {{73,51},{149,103}} 56 | sourceSize 57 | {225,197} 58 | 59 | blood_splash_3.png 60 | 61 | frame 62 | {{1602,87},{101,93}} 63 | offset 64 | {61,14} 65 | rotated 66 | 67 | sourceColorRect 68 | {{123,38},{101,93}} 69 | sourceSize 70 | {225,197} 71 | 72 | coin_gather_1.png 73 | 74 | frame 75 | {{1776,2},{120,106}} 76 | offset 77 | {-8,0} 78 | rotated 79 | 80 | sourceColorRect 81 | {{14,29},{120,106}} 82 | sourceSize 83 | {164,164} 84 | 85 | coin_gather_2.png 86 | 87 | frame 88 | {{1010,2},{126,148}} 89 | offset 90 | {0,0} 91 | rotated 92 | 93 | sourceColorRect 94 | {{19,8},{126,148}} 95 | sourceSize 96 | {164,164} 97 | 98 | coin_gather_3.png 99 | 100 | frame 101 | {{435,2},{158,164}} 102 | offset 103 | {-3,0} 104 | rotated 105 | 106 | sourceColorRect 107 | {{0,0},{158,164}} 108 | sourceSize 109 | {164,164} 110 | 111 | hit_01.png 112 | 113 | frame 114 | {{1018,130},{180,24}} 115 | offset 116 | {-60,1} 117 | rotated 118 | 119 | sourceColorRect 120 | {{0,14},{180,24}} 121 | sourceSize 122 | {300,54} 123 | 124 | hit_02.png 125 | 126 | frame 127 | {{653,155},{220,24}} 128 | offset 129 | {-40,2} 130 | rotated 131 | 132 | sourceColorRect 133 | {{0,13},{220,24}} 134 | sourceSize 135 | {300,54} 136 | 137 | hit_03.png 138 | 139 | frame 140 | {{435,168},{216,22}} 141 | offset 142 | {-17,3} 143 | rotated 144 | 145 | sourceColorRect 146 | {{25,13},{216,22}} 147 | sourceSize 148 | {300,54} 149 | 150 | hit_04.png 151 | 152 | frame 153 | {{595,147},{168,6}} 154 | offset 155 | {31,0} 156 | rotated 157 | 158 | sourceColorRect 159 | {{97,24},{168,6}} 160 | sourceSize 161 | {300,54} 162 | 163 | hit_normal_01.png 164 | 165 | frame 166 | {{1463,87},{137,83}} 167 | offset 168 | {0,0} 169 | rotated 170 | 171 | sourceColorRect 172 | {{0,0},{137,83}} 173 | sourceSize 174 | {137,83} 175 | 176 | hit_normal_02.png 177 | 178 | frame 179 | {{1320,107},{141,83}} 180 | offset 181 | {0,0} 182 | rotated 183 | 184 | sourceColorRect 185 | {{0,0},{141,83}} 186 | sourceSize 187 | {141,83} 188 | 189 | hit_normal_03.png 190 | 191 | frame 192 | {{1440,2},{138,83}} 193 | offset 194 | {0,0} 195 | rotated 196 | 197 | sourceColorRect 198 | {{0,0},{138,83}} 199 | sourceSize 200 | {138,83} 201 | 202 | hit_normal_04.png 203 | 204 | frame 205 | {{1253,128},{57,65}} 206 | offset 207 | {0,0} 208 | rotated 209 | 210 | sourceColorRect 211 | {{0,0},{57,65}} 212 | sourceSize 213 | {57,65} 214 | 215 | perfect_01.png 216 | 217 | frame 218 | {{873,2},{139,135}} 219 | offset 220 | {0,0} 221 | rotated 222 | 223 | sourceColorRect 224 | {{0,0},{139,135}} 225 | sourceSize 226 | {139,135} 227 | 228 | perfect_02.png 229 | 230 | frame 231 | {{735,2},{140,136}} 232 | offset 233 | {0,0} 234 | rotated 235 | 236 | sourceColorRect 237 | {{1,1},{140,136}} 238 | sourceSize 239 | {142,138} 240 | 241 | perfect_03.png 242 | 243 | frame 244 | {{595,2},{143,138}} 245 | offset 246 | {0,0} 247 | rotated 248 | 249 | sourceColorRect 250 | {{0,1},{143,138}} 251 | sourceSize 252 | {143,140} 253 | 254 | perfect_04.png 255 | 256 | frame 257 | {{1160,2},{127,124}} 258 | offset 259 | {0,0} 260 | rotated 261 | 262 | sourceColorRect 263 | {{1,0},{127,124}} 264 | sourceSize 265 | {129,124} 266 | 267 | perfect_05.png 268 | 269 | frame 270 | {{2,2},{188,215}} 271 | offset 272 | {0,0} 273 | rotated 274 | 275 | sourceColorRect 276 | {{1,0},{188,215}} 277 | sourceSize 278 | {190,215} 279 | 280 | perfect_06.png 281 | 282 | frame 283 | {{219,2},{188,214}} 284 | offset 285 | {0,0} 286 | rotated 287 | 288 | sourceColorRect 289 | {{0,0},{188,214}} 290 | sourceSize 291 | {188,214} 292 | 293 | txt_d_good.png 294 | 295 | frame 296 | {{1152,156},{99,29}} 297 | offset 298 | {0,0} 299 | rotated 300 | 301 | sourceColorRect 302 | {{0,0},{99,29}} 303 | sourceSize 304 | {99,29} 305 | 306 | txt_d_hit.png 307 | 308 | frame 309 | {{1871,120},{51,29}} 310 | offset 311 | {0,0} 312 | rotated 313 | 314 | sourceColorRect 315 | {{0,0},{51,29}} 316 | sourceSize 317 | {51,29} 318 | 319 | txt_d_miss.png 320 | 321 | frame 322 | {{1770,110},{99,29}} 323 | offset 324 | {0,0} 325 | rotated 326 | 327 | sourceColorRect 328 | {{0,0},{99,29}} 329 | sourceSize 330 | {99,29} 331 | 332 | txt_d_perfect.png 333 | 334 | frame 335 | {{1018,156},{132,33}} 336 | offset 337 | {0,0} 338 | rotated 339 | 340 | sourceColorRect 341 | {{0,0},{132,33}} 342 | sourceSize 343 | {132,33} 344 | 345 | txt_good.png 346 | 347 | frame 348 | {{1898,2},{62,28}} 349 | offset 350 | {0,0} 351 | rotated 352 | 353 | sourceColorRect 354 | {{0,0},{62,28}} 355 | sourceSize 356 | {62,28} 357 | 358 | txt_hit.png 359 | 360 | frame 361 | {{1770,141},{48,27}} 362 | offset 363 | {0,0} 364 | rotated 365 | 366 | sourceColorRect 367 | {{0,0},{48,27}} 368 | sourceSize 369 | {48,27} 370 | 371 | txt_miss.png 372 | 373 | frame 374 | {{1898,66},{52,28}} 375 | offset 376 | {0,0} 377 | rotated 378 | 379 | sourceColorRect 380 | {{0,0},{52,28}} 381 | sourceSize 382 | {52,28} 383 | 384 | txt_perfect.png 385 | 386 | frame 387 | {{875,143},{141,34}} 388 | offset 389 | {0,0} 390 | rotated 391 | 392 | sourceColorRect 393 | {{0,0},{141,34}} 394 | sourceSize 395 | {141,34} 396 | 397 | 398 | metadata 399 | 400 | format 401 | 2 402 | realTextureFileName 403 | fx_atlas.png 404 | size 405 | {1928,192} 406 | smartupdate 407 | $TexturePacker:SmartUpdate:9c7cce0222e7f0cf9d7c98f232c393f9:01bb35466e5f0f5b7027fe93d3c2a788:f76cb0cf7274b40e7404b100db4c054c$ 408 | textureFileName 409 | fx_atlas.png 410 | 411 | 412 | 413 | -------------------------------------------------------------------------------- /assets/atlas/fx_atlas.plist.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.2.0", 3 | "uuid": "462b9fb5-8e3c-4fc0-a7ce-e9a4a7d429c7", 4 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 5 | "size": { 6 | "width": 1928, 7 | "height": 192 8 | }, 9 | "type": "Texture Packer", 10 | "rawTextureUrl": "db://assets/atlas/fx_atlas.png", 11 | "subMetas": { 12 | "block_01.png": { 13 | "ver": "1.0.2", 14 | "uuid": "b04d205e-a81d-496c-bbd5-039c6dea40f9", 15 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 16 | "trimType": "auto", 17 | "trimThreshold": 1, 18 | "rotated": true, 19 | "offsetX": 0, 20 | "offsetY": 0, 21 | "trimX": 1580, 22 | "trimY": 2, 23 | "width": 83, 24 | "height": 96, 25 | "borderTop": 0, 26 | "borderBottom": 0, 27 | "borderLeft": 0, 28 | "borderRight": 0, 29 | "spriteType": "normal", 30 | "subMetas": {} 31 | }, 32 | "block_02.png": { 33 | "ver": "1.0.2", 34 | "uuid": "45ef6bc4-8a77-4cec-932e-3122ba0d2258", 35 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 36 | "trimType": "auto", 37 | "trimThreshold": 1, 38 | "rotated": true, 39 | "offsetX": 0, 40 | "offsetY": 0, 41 | "trimX": 1678, 42 | "trimY": 2, 43 | "width": 83, 44 | "height": 96, 45 | "borderTop": 0, 46 | "borderBottom": 0, 47 | "borderLeft": 0, 48 | "borderRight": 0, 49 | "spriteType": "normal", 50 | "subMetas": {} 51 | }, 52 | "blood_splash_1.png": { 53 | "ver": "1.0.2", 54 | "uuid": "905b0434-ce95-4789-a485-71e04530827c", 55 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 56 | "trimType": "auto", 57 | "trimThreshold": 1, 58 | "rotated": true, 59 | "offsetX": -3, 60 | "offsetY": -13, 61 | "trimX": 1697, 62 | "trimY": 87, 63 | "width": 85, 64 | "height": 71, 65 | "borderTop": 0, 66 | "borderBottom": 0, 67 | "borderLeft": 0, 68 | "borderRight": 0, 69 | "spriteType": "normal", 70 | "subMetas": {} 71 | }, 72 | "blood_splash_2.png": { 73 | "ver": "1.0.2", 74 | "uuid": "68e79b49-e284-4b24-bb23-5acc29eecf74", 75 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 76 | "trimType": "auto", 77 | "trimThreshold": 1, 78 | "rotated": false, 79 | "offsetX": 35, 80 | "offsetY": -4, 81 | "trimX": 1289, 82 | "trimY": 2, 83 | "width": 149, 84 | "height": 103, 85 | "borderTop": 0, 86 | "borderBottom": 0, 87 | "borderLeft": 0, 88 | "borderRight": 0, 89 | "spriteType": "normal", 90 | "subMetas": {} 91 | }, 92 | "blood_splash_3.png": { 93 | "ver": "1.0.2", 94 | "uuid": "b0d22a03-88f0-4ff8-a19e-107fb827273d", 95 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 96 | "trimType": "auto", 97 | "trimThreshold": 1, 98 | "rotated": true, 99 | "offsetX": 61, 100 | "offsetY": 14, 101 | "trimX": 1602, 102 | "trimY": 87, 103 | "width": 101, 104 | "height": 93, 105 | "borderTop": 0, 106 | "borderBottom": 0, 107 | "borderLeft": 0, 108 | "borderRight": 0, 109 | "spriteType": "normal", 110 | "subMetas": {} 111 | }, 112 | "coin_gather_1.png": { 113 | "ver": "1.0.2", 114 | "uuid": "f423b713-7c15-4593-a4a4-b25fe29e0df3", 115 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 116 | "trimType": "auto", 117 | "trimThreshold": 1, 118 | "rotated": false, 119 | "offsetX": -8, 120 | "offsetY": 0, 121 | "trimX": 1776, 122 | "trimY": 2, 123 | "width": 120, 124 | "height": 106, 125 | "borderTop": 0, 126 | "borderBottom": 0, 127 | "borderLeft": 0, 128 | "borderRight": 0, 129 | "spriteType": "normal", 130 | "subMetas": {} 131 | }, 132 | "coin_gather_2.png": { 133 | "ver": "1.0.2", 134 | "uuid": "49a7e917-9106-4c3e-979f-dcfee382dbbb", 135 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 136 | "trimType": "auto", 137 | "trimThreshold": 1, 138 | "rotated": true, 139 | "offsetX": 0, 140 | "offsetY": 0, 141 | "trimX": 1010, 142 | "trimY": 2, 143 | "width": 126, 144 | "height": 148, 145 | "borderTop": 0, 146 | "borderBottom": 0, 147 | "borderLeft": 0, 148 | "borderRight": 0, 149 | "spriteType": "normal", 150 | "subMetas": {} 151 | }, 152 | "coin_gather_3.png": { 153 | "ver": "1.0.2", 154 | "uuid": "45b937e0-2217-4095-b505-0f460a1a865d", 155 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 156 | "trimType": "auto", 157 | "trimThreshold": 1, 158 | "rotated": false, 159 | "offsetX": -3, 160 | "offsetY": 0, 161 | "trimX": 435, 162 | "trimY": 2, 163 | "width": 158, 164 | "height": 164, 165 | "borderTop": 0, 166 | "borderBottom": 0, 167 | "borderLeft": 0, 168 | "borderRight": 0, 169 | "spriteType": "normal", 170 | "subMetas": {} 171 | }, 172 | "hit_01.png": { 173 | "ver": "1.0.2", 174 | "uuid": "2e51dae6-8e3a-46e7-8912-5691b9969d36", 175 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 176 | "trimType": "auto", 177 | "trimThreshold": 1, 178 | "rotated": false, 179 | "offsetX": -60, 180 | "offsetY": 1, 181 | "trimX": 1018, 182 | "trimY": 130, 183 | "width": 180, 184 | "height": 24, 185 | "borderTop": 0, 186 | "borderBottom": 0, 187 | "borderLeft": 0, 188 | "borderRight": 0, 189 | "spriteType": "normal", 190 | "subMetas": {} 191 | }, 192 | "hit_02.png": { 193 | "ver": "1.0.2", 194 | "uuid": "0dec728d-5a76-4202-92b0-c68f259aa1eb", 195 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 196 | "trimType": "auto", 197 | "trimThreshold": 1, 198 | "rotated": false, 199 | "offsetX": -40, 200 | "offsetY": 2, 201 | "trimX": 653, 202 | "trimY": 155, 203 | "width": 220, 204 | "height": 24, 205 | "borderTop": 0, 206 | "borderBottom": 0, 207 | "borderLeft": 0, 208 | "borderRight": 0, 209 | "spriteType": "normal", 210 | "subMetas": {} 211 | }, 212 | "hit_03.png": { 213 | "ver": "1.0.2", 214 | "uuid": "7f6cbb6c-0b47-4d1b-b790-40192273fa60", 215 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 216 | "trimType": "auto", 217 | "trimThreshold": 1, 218 | "rotated": false, 219 | "offsetX": -17, 220 | "offsetY": 3, 221 | "trimX": 435, 222 | "trimY": 168, 223 | "width": 216, 224 | "height": 22, 225 | "borderTop": 0, 226 | "borderBottom": 0, 227 | "borderLeft": 0, 228 | "borderRight": 0, 229 | "spriteType": "normal", 230 | "subMetas": {} 231 | }, 232 | "hit_04.png": { 233 | "ver": "1.0.2", 234 | "uuid": "94aa5e0e-a677-42fb-8fd3-afd1e55e4438", 235 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 236 | "trimType": "auto", 237 | "trimThreshold": 1, 238 | "rotated": false, 239 | "offsetX": 31, 240 | "offsetY": 0, 241 | "trimX": 595, 242 | "trimY": 147, 243 | "width": 168, 244 | "height": 6, 245 | "borderTop": 0, 246 | "borderBottom": 0, 247 | "borderLeft": 0, 248 | "borderRight": 0, 249 | "spriteType": "normal", 250 | "subMetas": {} 251 | }, 252 | "hit_normal_01.png": { 253 | "ver": "1.0.2", 254 | "uuid": "2033e8fe-a82d-4a07-bf56-2dd6181e4e57", 255 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 256 | "trimType": "auto", 257 | "trimThreshold": 1, 258 | "rotated": false, 259 | "offsetX": 0, 260 | "offsetY": 0, 261 | "trimX": 1463, 262 | "trimY": 87, 263 | "width": 137, 264 | "height": 83, 265 | "borderTop": 0, 266 | "borderBottom": 0, 267 | "borderLeft": 0, 268 | "borderRight": 0, 269 | "spriteType": "normal", 270 | "subMetas": {} 271 | }, 272 | "hit_normal_02.png": { 273 | "ver": "1.0.2", 274 | "uuid": "c7087012-999a-45a4-b47d-f8aa0926b873", 275 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 276 | "trimType": "auto", 277 | "trimThreshold": 1, 278 | "rotated": false, 279 | "offsetX": 0, 280 | "offsetY": 0, 281 | "trimX": 1320, 282 | "trimY": 107, 283 | "width": 141, 284 | "height": 83, 285 | "borderTop": 0, 286 | "borderBottom": 0, 287 | "borderLeft": 0, 288 | "borderRight": 0, 289 | "spriteType": "normal", 290 | "subMetas": {} 291 | }, 292 | "hit_normal_03.png": { 293 | "ver": "1.0.2", 294 | "uuid": "9af01938-9e64-4410-87ac-07a721ec91b3", 295 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 296 | "trimType": "auto", 297 | "trimThreshold": 1, 298 | "rotated": false, 299 | "offsetX": 0, 300 | "offsetY": 0, 301 | "trimX": 1440, 302 | "trimY": 2, 303 | "width": 138, 304 | "height": 83, 305 | "borderTop": 0, 306 | "borderBottom": 0, 307 | "borderLeft": 0, 308 | "borderRight": 0, 309 | "spriteType": "normal", 310 | "subMetas": {} 311 | }, 312 | "hit_normal_04.png": { 313 | "ver": "1.0.2", 314 | "uuid": "dbca41fc-06e9-445b-a465-7e7bf78d449d", 315 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 316 | "trimType": "auto", 317 | "trimThreshold": 1, 318 | "rotated": true, 319 | "offsetX": 0, 320 | "offsetY": 0, 321 | "trimX": 1253, 322 | "trimY": 128, 323 | "width": 57, 324 | "height": 65, 325 | "borderTop": 0, 326 | "borderBottom": 0, 327 | "borderLeft": 0, 328 | "borderRight": 0, 329 | "spriteType": "normal", 330 | "subMetas": {} 331 | }, 332 | "perfect_01.png": { 333 | "ver": "1.0.2", 334 | "uuid": "c963314d-864d-42bc-8064-786cfb495f9f", 335 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 336 | "trimType": "auto", 337 | "trimThreshold": 1, 338 | "rotated": true, 339 | "offsetX": 0, 340 | "offsetY": 0, 341 | "trimX": 873, 342 | "trimY": 2, 343 | "width": 139, 344 | "height": 135, 345 | "borderTop": 0, 346 | "borderBottom": 0, 347 | "borderLeft": 0, 348 | "borderRight": 0, 349 | "spriteType": "normal", 350 | "subMetas": {} 351 | }, 352 | "perfect_02.png": { 353 | "ver": "1.0.2", 354 | "uuid": "80c0a992-3b1e-4666-8a02-0d73e8d5c619", 355 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 356 | "trimType": "auto", 357 | "trimThreshold": 1, 358 | "rotated": true, 359 | "offsetX": 0, 360 | "offsetY": 0, 361 | "trimX": 735, 362 | "trimY": 2, 363 | "width": 140, 364 | "height": 136, 365 | "borderTop": 0, 366 | "borderBottom": 0, 367 | "borderLeft": 0, 368 | "borderRight": 0, 369 | "spriteType": "normal", 370 | "subMetas": {} 371 | }, 372 | "perfect_03.png": { 373 | "ver": "1.0.2", 374 | "uuid": "ba3dbb56-f469-416d-a6d7-6a041a29a8ff", 375 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 376 | "trimType": "auto", 377 | "trimThreshold": 1, 378 | "rotated": true, 379 | "offsetX": 0, 380 | "offsetY": 0, 381 | "trimX": 595, 382 | "trimY": 2, 383 | "width": 143, 384 | "height": 138, 385 | "borderTop": 0, 386 | "borderBottom": 0, 387 | "borderLeft": 0, 388 | "borderRight": 0, 389 | "spriteType": "normal", 390 | "subMetas": {} 391 | }, 392 | "perfect_04.png": { 393 | "ver": "1.0.2", 394 | "uuid": "74f566cb-c303-4990-b1c5-935f788dd36a", 395 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 396 | "trimType": "auto", 397 | "trimThreshold": 1, 398 | "rotated": false, 399 | "offsetX": 0, 400 | "offsetY": 0, 401 | "trimX": 1160, 402 | "trimY": 2, 403 | "width": 127, 404 | "height": 124, 405 | "borderTop": 0, 406 | "borderBottom": 0, 407 | "borderLeft": 0, 408 | "borderRight": 0, 409 | "spriteType": "normal", 410 | "subMetas": {} 411 | }, 412 | "perfect_05.png": { 413 | "ver": "1.0.2", 414 | "uuid": "98f5f5b2-258b-4900-b76c-daaf8dd5da2b", 415 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 416 | "trimType": "auto", 417 | "trimThreshold": 1, 418 | "rotated": true, 419 | "offsetX": 0, 420 | "offsetY": 0, 421 | "trimX": 2, 422 | "trimY": 2, 423 | "width": 188, 424 | "height": 215, 425 | "borderTop": 0, 426 | "borderBottom": 0, 427 | "borderLeft": 0, 428 | "borderRight": 0, 429 | "spriteType": "normal", 430 | "subMetas": {} 431 | }, 432 | "perfect_06.png": { 433 | "ver": "1.0.2", 434 | "uuid": "28240da4-dfcc-4617-9c8b-76bacd903569", 435 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 436 | "trimType": "auto", 437 | "trimThreshold": 1, 438 | "rotated": true, 439 | "offsetX": 0, 440 | "offsetY": 0, 441 | "trimX": 219, 442 | "trimY": 2, 443 | "width": 188, 444 | "height": 214, 445 | "borderTop": 0, 446 | "borderBottom": 0, 447 | "borderLeft": 0, 448 | "borderRight": 0, 449 | "spriteType": "normal", 450 | "subMetas": {} 451 | }, 452 | "txt_d_good.png": { 453 | "ver": "1.0.2", 454 | "uuid": "fa0212e6-392a-4de4-8f63-a1cff828177c", 455 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 456 | "trimType": "auto", 457 | "trimThreshold": 1, 458 | "rotated": false, 459 | "offsetX": 0, 460 | "offsetY": 0, 461 | "trimX": 1152, 462 | "trimY": 156, 463 | "width": 99, 464 | "height": 29, 465 | "borderTop": 0, 466 | "borderBottom": 0, 467 | "borderLeft": 0, 468 | "borderRight": 0, 469 | "spriteType": "normal", 470 | "subMetas": {} 471 | }, 472 | "txt_d_hit.png": { 473 | "ver": "1.0.2", 474 | "uuid": "998501d5-ddf2-41ee-8138-e7626911e4ea", 475 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 476 | "trimType": "auto", 477 | "trimThreshold": 1, 478 | "rotated": false, 479 | "offsetX": 0, 480 | "offsetY": 0, 481 | "trimX": 1871, 482 | "trimY": 120, 483 | "width": 51, 484 | "height": 29, 485 | "borderTop": 0, 486 | "borderBottom": 0, 487 | "borderLeft": 0, 488 | "borderRight": 0, 489 | "spriteType": "normal", 490 | "subMetas": {} 491 | }, 492 | "txt_d_miss.png": { 493 | "ver": "1.0.2", 494 | "uuid": "a9532d61-236a-454f-8c67-02744b74db7a", 495 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 496 | "trimType": "auto", 497 | "trimThreshold": 1, 498 | "rotated": false, 499 | "offsetX": 0, 500 | "offsetY": 0, 501 | "trimX": 1770, 502 | "trimY": 110, 503 | "width": 99, 504 | "height": 29, 505 | "borderTop": 0, 506 | "borderBottom": 0, 507 | "borderLeft": 0, 508 | "borderRight": 0, 509 | "spriteType": "normal", 510 | "subMetas": {} 511 | }, 512 | "txt_d_perfect.png": { 513 | "ver": "1.0.2", 514 | "uuid": "2c1d04cc-a6f8-44e3-8a6c-d812ddb06867", 515 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 516 | "trimType": "auto", 517 | "trimThreshold": 1, 518 | "rotated": false, 519 | "offsetX": 0, 520 | "offsetY": 0, 521 | "trimX": 1018, 522 | "trimY": 156, 523 | "width": 132, 524 | "height": 33, 525 | "borderTop": 0, 526 | "borderBottom": 0, 527 | "borderLeft": 0, 528 | "borderRight": 0, 529 | "spriteType": "normal", 530 | "subMetas": {} 531 | }, 532 | "txt_good.png": { 533 | "ver": "1.0.2", 534 | "uuid": "df17dfe3-3c9e-4400-93b4-e9f30de53084", 535 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 536 | "trimType": "auto", 537 | "trimThreshold": 1, 538 | "rotated": true, 539 | "offsetX": 0, 540 | "offsetY": 0, 541 | "trimX": 1898, 542 | "trimY": 2, 543 | "width": 62, 544 | "height": 28, 545 | "borderTop": 0, 546 | "borderBottom": 0, 547 | "borderLeft": 0, 548 | "borderRight": 0, 549 | "spriteType": "normal", 550 | "subMetas": {} 551 | }, 552 | "txt_hit.png": { 553 | "ver": "1.0.2", 554 | "uuid": "e9a7ba2f-c66f-4a82-ae96-ed44ab06ae8f", 555 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 556 | "trimType": "auto", 557 | "trimThreshold": 1, 558 | "rotated": true, 559 | "offsetX": 0, 560 | "offsetY": 0, 561 | "trimX": 1770, 562 | "trimY": 141, 563 | "width": 48, 564 | "height": 27, 565 | "borderTop": 0, 566 | "borderBottom": 0, 567 | "borderLeft": 0, 568 | "borderRight": 0, 569 | "spriteType": "normal", 570 | "subMetas": {} 571 | }, 572 | "txt_miss.png": { 573 | "ver": "1.0.2", 574 | "uuid": "4741ba63-e2b9-43dd-8482-d9b4ff302a48", 575 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 576 | "trimType": "auto", 577 | "trimThreshold": 1, 578 | "rotated": true, 579 | "offsetX": 0, 580 | "offsetY": 0, 581 | "trimX": 1898, 582 | "trimY": 66, 583 | "width": 52, 584 | "height": 28, 585 | "borderTop": 0, 586 | "borderBottom": 0, 587 | "borderLeft": 0, 588 | "borderRight": 0, 589 | "spriteType": "normal", 590 | "subMetas": {} 591 | }, 592 | "txt_perfect.png": { 593 | "ver": "1.0.2", 594 | "uuid": "37d2cdaf-3244-40ab-978f-7db1e7c603a1", 595 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 596 | "trimType": "auto", 597 | "trimThreshold": 1, 598 | "rotated": false, 599 | "offsetX": 0, 600 | "offsetY": 0, 601 | "trimX": 875, 602 | "trimY": 143, 603 | "width": 141, 604 | "height": 34, 605 | "borderTop": 0, 606 | "borderBottom": 0, 607 | "borderLeft": 0, 608 | "borderRight": 0, 609 | "spriteType": "normal", 610 | "subMetas": {} 611 | } 612 | } 613 | } -------------------------------------------------------------------------------- /assets/atlas/fx_atlas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/atlas/fx_atlas.png -------------------------------------------------------------------------------- /assets/atlas/fx_atlas.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "fx_atlas": { 9 | "ver": "1.0.2", 10 | "uuid": "c0342ca0-3ac8-47f6-8bdd-b201f57e39aa", 11 | "rawTextureUuid": "119dfcf6-ee73-423f-b8c5-af495da58c94", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0.5, 16 | "offsetY": 0, 17 | "trimX": 3, 18 | "trimY": 2, 19 | "width": 1923, 20 | "height": 188, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/audio.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "6ac14178-784e-4cae-931c-5d394f7a1a44", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/audio/attack.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/audio/attack.wav -------------------------------------------------------------------------------- /assets/audio/attack.wav.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "61aaf46e-c7b6-4477-bb47-1ef8ce02c9f1", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/audio/bgm.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/audio/bgm.mp3 -------------------------------------------------------------------------------- /assets/audio/bgm.mp3.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "f52ea01e-1214-452b-9f75-137ec9d3116a", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/audio/good.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/audio/good.wav -------------------------------------------------------------------------------- /assets/audio/good.wav.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "ee2ffd5b-1600-44d1-9084-46a19c2ad2a9", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/audio/hit.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/audio/hit.wav -------------------------------------------------------------------------------- /assets/audio/hit.wav.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "7b849a90-7c9e-446c-970b-c049560a754e", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/audio/miss.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/audio/miss.wav -------------------------------------------------------------------------------- /assets/audio/miss.wav.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "d0a390c8-2436-45a3-acd1-737196a9625e", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/audio/perfect.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/audio/perfect.wav -------------------------------------------------------------------------------- /assets/audio/perfect.wav.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "84645279-ced9-43a7-b16e-4aebf63ccb83", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/data.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "cd22fd63-33fa-4a5b-8c62-4e918fb8a1dc", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/data/fighter.json: -------------------------------------------------------------------------------- 1 | [{"assetID":"004","id":"x001","name":"伊泽","atk":"30","hp":"100","agi":"15"},{"assetID":"026","id":"x002","name":"艾克","atk":"15","hp":"150","agi":"13"},{"assetID":"030","id":"x003","name":"塞万提斯","atk":"20","hp":"220","agi":"12"},{"assetID":"038","id":"x004","name":"虎克","atk":"35","hp":"190","agi":"13"},{"assetID":"040","id":"x005","name":"维格","atk":"35","hp":"160","agi":"10"},{"assetID":"043","id":"x006","name":"比利","atk":"40","hp":"90","agi":"12"},{"assetID":"058","id":"x007","name":"大天使","atk":"35","hp":"130","agi":"14"},{"assetID":"062","id":"x008","name":"贝露","atk":"25","hp":"150","agi":"16"},{"assetID":"070","id":"x009","name":"山崎","atk":"50","hp":"120","agi":"11"},{"assetID":"082","id":"x010","name":"劫","atk":"45","hp":"80","agi":"17"},{"assetID":"095","id":"x011","name":"卡桑德拉","atk":"28","hp":"200","agi":"16"},{"assetID":"099","id":"x012","name":"武藏","atk":"20","hp":"150","agi":"19"},{"assetID":"103","id":"x013","name":"尤里安","atk":"30","hp":"180","agi":"15"},{"assetID":"107","id":"x014","name":"毒藤女","atk":"18","hp":"220","agi":"16"},{"assetID":"122","id":"x015","name":"欧克","atk":"35","hp":"240","agi":"14"},{"assetID":"125","id":"x016","name":"电刃武士","atk":"30","hp":"180","agi":"17"},{"assetID":"131","id":"x017","name":"猩红女刀","atk":"25","hp":"230","agi":"13"},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""},{"assetID":"","id":"","name":"","atk":"","hp":"","agi":""}] -------------------------------------------------------------------------------- /assets/data/fighter.json.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "3e5a27fb-8a4b-44d1-82ce-f0fceefdbf88", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/data/fighter.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/data/fighter.xlsx -------------------------------------------------------------------------------- /assets/data/fighter.xlsx.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "1b7ba841-513d-4f4b-abfb-023fb98bb7b3", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/data/level.json: -------------------------------------------------------------------------------- 1 | [{"hpMod":"1","levelID":"l001","name":"Level1","enemy1":"x002","enemy2":"x003","enemy3":"x010","atkMod":"1"},{"hpMod":"1","levelID":"l002","name":"Level2","enemy1":"x004","enemy2":"x007","enemy3":"x008","atkMod":"1"},{"hpMod":"1.1","levelID":"l003","name":"Level3","enemy1":"x011","enemy2":"x005","enemy3":"x006","atkMod":"1"},{"hpMod":"1.1","levelID":"l004","name":"Level4","enemy1":"x015","enemy2":"x014","enemy3":"x013","atkMod":"1.1"}] -------------------------------------------------------------------------------- /assets/data/level.json.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "d8ecf753-69f3-43cf-ab6b-437a72e2e513", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/data/level.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/data/level.xlsx -------------------------------------------------------------------------------- /assets/data/level.xlsx.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "7e3d094c-6b98-4727-93d6-4dc64508e84d", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/font.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "750de3b0-cf91-4825-be45-5ab3eeb2f6b6", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/font/abadi_mt.fnt: -------------------------------------------------------------------------------- 1 | info face="Abadi MT Condensed Extra Bold" size=40 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 2 | common lineHeight=47 base=35 scaleW=512 scaleH=256 pages=1 packed=0 3 | page id=0 file="abadi_mt.png" 4 | chars count=95 5 | char id=32 x=367 y=160 width=0 height=0 xoffset=0 yoffset=36 xadvance=10 page=0 chnl=0 letter="space" 6 | char id=33 x=324 y=87 width=14 height=35 xoffset=2 yoffset=1 xadvance=12 page=0 chnl=0 letter="!" 7 | char id=34 x=212 y=160 width=22 height=18 xoffset=2 yoffset=1 xadvance=19 page=0 chnl=0 letter=""" 8 | char id=35 x=332 y=2 width=31 height=36 xoffset=2 yoffset=1 xadvance=27 page=0 chnl=0 letter="#" 9 | char id=36 x=263 y=2 width=23 height=39 xoffset=2 yoffset=-0 xadvance=19 page=0 chnl=0 letter="$" 10 | char id=37 x=223 y=2 width=38 height=39 xoffset=1 yoffset=-1 xadvance=33 page=0 chnl=0 letter="%" 11 | char id=38 x=395 y=2 width=27 height=36 xoffset=1 yoffset=-0 xadvance=22 page=0 chnl=0 letter="&" 12 | char id=39 x=236 y=160 width=13 height=18 xoffset=2 yoffset=1 xadvance=10 page=0 chnl=0 letter="'" 13 | char id=40 x=100 y=2 width=17 height=43 xoffset=5 yoffset=2 xadvance=17 page=0 chnl=0 letter="(" 14 | char id=41 x=81 y=2 width=17 height=43 xoffset=2 yoffset=2 xadvance=17 page=0 chnl=0 letter=")" 15 | char id=42 x=189 y=160 width=21 height=20 xoffset=3 yoffset=1 xadvance=19 page=0 chnl=0 letter="*" 16 | char id=43 x=234 y=124 width=29 height=29 xoffset=2 yoffset=5 xadvance=27 page=0 chnl=0 letter="+" 17 | char id=44 x=141 y=160 width=15 height=22 xoffset=3 yoffset=24 xadvance=12 page=0 chnl=0 letter="," 18 | char id=45 x=282 y=160 width=18 height=14 xoffset=2 yoffset=16 xadvance=15 page=0 chnl=0 letter="-" 19 | char id=46 x=302 y=160 width=14 height=14 xoffset=3 yoffset=22 xadvance=12 page=0 chnl=0 letter="." 20 | char id=47 x=288 y=2 width=20 height=38 xoffset=1 yoffset=1 xadvance=15 page=0 chnl=0 letter="/" 21 | char id=48 x=388 y=87 width=26 height=34 xoffset=1 yoffset=2 xadvance=20 page=0 chnl=0 letter="0" 22 | char id=49 x=131 y=124 width=18 height=34 xoffset=4 yoffset=2 xadvance=20 page=0 chnl=0 letter="1" 23 | char id=50 x=29 y=124 width=24 height=34 xoffset=2 yoffset=2 xadvance=20 page=0 chnl=0 letter="2" 24 | char id=51 x=81 y=124 width=23 height=34 xoffset=3 yoffset=2 xadvance=20 page=0 chnl=0 letter="3" 25 | char id=52 x=444 y=87 width=26 height=34 xoffset=1 yoffset=2 xadvance=20 page=0 chnl=0 letter="4" 26 | char id=53 x=106 y=124 width=23 height=34 xoffset=3 yoffset=2 xadvance=20 page=0 chnl=0 letter="5" 27 | char id=54 x=472 y=87 width=25 height=34 xoffset=2 yoffset=2 xadvance=20 page=0 chnl=0 letter="6" 28 | char id=55 x=55 y=124 width=24 height=34 xoffset=2 yoffset=2 xadvance=20 page=0 chnl=0 letter="7" 29 | char id=56 x=416 y=87 width=26 height=34 xoffset=1 yoffset=2 xadvance=20 page=0 chnl=0 letter="8" 30 | char id=57 x=2 y=124 width=25 height=34 xoffset=1 yoffset=2 xadvance=20 page=0 chnl=0 letter="9" 31 | char id=58 x=493 y=124 width=14 height=27 xoffset=3 yoffset=9 xadvance=12 page=0 chnl=0 letter=":" 32 | char id=59 x=51 y=49 width=15 height=36 xoffset=3 yoffset=10 xadvance=12 page=0 chnl=0 letter=";" 33 | char id=60 x=203 y=124 width=29 height=29 xoffset=2 yoffset=5 xadvance=27 page=0 chnl=0 letter="<" 34 | char id=61 x=158 y=160 width=29 height=21 xoffset=2 yoffset=9 xadvance=27 page=0 chnl=0 letter="=" 35 | char id=62 x=172 y=124 width=29 height=29 xoffset=2 yoffset=5 xadvance=27 page=0 chnl=0 letter=">" 36 | char id=63 x=2 y=49 width=23 height=36 xoffset=1 yoffset=-0 xadvance=18 page=0 chnl=0 letter="?" 37 | char id=64 x=153 y=2 width=38 height=42 xoffset=1 yoffset=1 xadvance=33 page=0 chnl=0 letter="@" 38 | char id=65 x=135 y=49 width=28 height=35 xoffset=0 yoffset=1 xadvance=21 page=0 chnl=0 letter="A" 39 | char id=66 x=308 y=49 width=26 height=35 xoffset=2 yoffset=1 xadvance=21 page=0 chnl=0 letter="B" 40 | char id=67 x=27 y=49 width=22 height=36 xoffset=1 yoffset=-0 xadvance=17 page=0 chnl=0 letter="C" 41 | char id=68 x=280 y=49 width=26 height=35 xoffset=2 yoffset=1 xadvance=21 page=0 chnl=0 letter="D" 42 | char id=69 x=159 y=87 width=23 height=35 xoffset=2 yoffset=1 xadvance=19 page=0 chnl=0 letter="E" 43 | char id=70 x=184 y=87 width=23 height=35 xoffset=2 yoffset=1 xadvance=18 page=0 chnl=0 letter="F" 44 | char id=71 x=424 y=2 width=25 height=36 xoffset=1 yoffset=-0 xadvance=20 page=0 chnl=0 letter="G" 45 | char id=72 x=417 y=49 width=25 height=35 xoffset=2 yoffset=1 xadvance=22 page=0 chnl=0 letter="H" 46 | char id=73 x=356 y=87 width=14 height=35 xoffset=2 yoffset=1 xadvance=10 page=0 chnl=0 letter="I" 47 | char id=74 x=305 y=87 width=17 height=35 xoffset=1 yoffset=1 xadvance=13 page=0 chnl=0 letter="J" 48 | char id=75 x=252 y=49 width=26 height=35 xoffset=2 yoffset=1 xadvance=19 page=0 chnl=0 letter="K" 49 | char id=76 x=234 y=87 width=23 height=35 xoffset=2 yoffset=1 xadvance=17 page=0 chnl=0 letter="L" 50 | char id=77 x=104 y=49 width=29 height=35 xoffset=2 yoffset=1 xadvance=25 page=0 chnl=0 letter="M" 51 | char id=78 x=471 y=49 width=25 height=35 xoffset=2 yoffset=1 xadvance=22 page=0 chnl=0 letter="N" 52 | char id=79 x=365 y=2 width=28 height=36 xoffset=1 yoffset=-0 xadvance=22 page=0 chnl=0 letter="O" 53 | char id=80 x=2 y=87 width=25 height=35 xoffset=2 yoffset=1 xadvance=20 page=0 chnl=0 letter="P" 54 | char id=81 x=193 y=2 width=28 height=41 xoffset=1 yoffset=1 xadvance=22 page=0 chnl=0 letter="Q" 55 | char id=82 x=363 y=49 width=25 height=35 xoffset=2 yoffset=1 xadvance=20 page=0 chnl=0 letter="R" 56 | char id=83 x=477 y=2 width=23 height=36 xoffset=1 yoffset=-0 xadvance=18 page=0 chnl=0 letter="S" 57 | char id=84 x=390 y=49 width=25 height=35 xoffset=1 yoffset=1 xadvance=19 page=0 chnl=0 letter="T" 58 | char id=85 x=336 y=49 width=25 height=35 xoffset=2 yoffset=1 xadvance=21 page=0 chnl=0 letter="U" 59 | char id=86 x=165 y=49 width=27 height=35 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 letter="V" 60 | char id=87 x=68 y=49 width=34 height=35 xoffset=0 yoffset=1 xadvance=27 page=0 chnl=0 letter="W" 61 | char id=88 x=194 y=49 width=27 height=35 xoffset=1 yoffset=1 xadvance=21 page=0 chnl=0 letter="X" 62 | char id=89 x=223 y=49 width=27 height=35 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 letter="Y" 63 | char id=90 x=444 y=49 width=25 height=35 xoffset=1 yoffset=1 xadvance=20 page=0 chnl=0 letter="Z" 64 | char id=91 x=119 y=2 width=15 height=43 xoffset=6 yoffset=2 xadvance=15 page=0 chnl=0 letter="[" 65 | char id=92 x=310 y=2 width=20 height=38 xoffset=1 yoffset=1 xadvance=15 page=0 chnl=0 letter="\" 66 | char id=93 x=136 y=2 width=15 height=43 xoffset=2 yoffset=2 xadvance=15 page=0 chnl=0 letter="]" 67 | char id=94 x=113 y=160 width=26 height=23 xoffset=2 yoffset=1 xadvance=23 page=0 chnl=0 letter="^" 68 | char id=95 x=335 y=160 width=30 height=9 xoffset=-0 yoffset=32 xadvance=22 page=0 chnl=0 letter="_" 69 | char id=96 x=318 y=160 width=15 height=13 xoffset=2 yoffset=2 xadvance=13 page=0 chnl=0 letter="`" 70 | char id=97 x=352 y=124 width=24 height=27 xoffset=1 yoffset=9 xadvance=18 page=0 chnl=0 letter="a" 71 | char id=98 x=133 y=87 width=24 height=35 xoffset=2 yoffset=1 xadvance=20 page=0 chnl=0 letter="b" 72 | char id=99 x=451 y=124 width=20 height=27 xoffset=1 yoffset=9 xadvance=15 page=0 chnl=0 letter="c" 73 | char id=100 x=107 y=87 width=24 height=35 xoffset=1 yoffset=1 xadvance=20 page=0 chnl=0 letter="d" 74 | char id=101 x=326 y=124 width=24 height=27 xoffset=1 yoffset=9 xadvance=19 page=0 chnl=0 letter="e" 75 | char id=102 x=284 y=87 width=19 height=35 xoffset=0 yoffset=1 xadvance=12 page=0 chnl=0 letter="f" 76 | char id=103 x=451 y=2 width=24 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0 letter="g" 77 | char id=104 x=259 y=87 width=23 height=35 xoffset=2 yoffset=1 xadvance=19 page=0 chnl=0 letter="h" 78 | char id=105 x=372 y=87 width=14 height=35 xoffset=2 yoffset=1 xadvance=10 page=0 chnl=0 letter="i" 79 | char id=106 x=48 y=2 width=17 height=44 xoffset=-1 yoffset=1 xadvance=10 page=0 chnl=0 letter="j" 80 | char id=107 x=209 y=87 width=23 height=35 xoffset=2 yoffset=1 xadvance=18 page=0 chnl=0 letter="k" 81 | char id=108 x=340 y=87 width=14 height=35 xoffset=2 yoffset=1 xadvance=10 page=0 chnl=0 letter="l" 82 | char id=109 x=265 y=124 width=32 height=27 xoffset=2 yoffset=9 xadvance=28 page=0 chnl=0 letter="m" 83 | char id=110 x=403 y=124 width=23 height=27 xoffset=2 yoffset=9 xadvance=19 page=0 chnl=0 letter="n" 84 | char id=111 x=299 y=124 width=25 height=27 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0 letter="o" 85 | char id=112 x=55 y=87 width=24 height=35 xoffset=2 yoffset=10 xadvance=20 page=0 chnl=0 letter="p" 86 | char id=113 x=81 y=87 width=24 height=35 xoffset=1 yoffset=10 xadvance=20 page=0 chnl=0 letter="q" 87 | char id=114 x=473 y=124 width=18 height=27 xoffset=2 yoffset=9 xadvance=13 page=0 chnl=0 letter="r" 88 | char id=115 x=428 y=124 width=21 height=27 xoffset=1 yoffset=9 xadvance=16 page=0 chnl=0 letter="s" 89 | char id=116 x=151 y=124 width=19 height=32 xoffset=0 yoffset=4 xadvance=13 page=0 chnl=0 letter="t" 90 | char id=117 x=378 y=124 width=23 height=27 xoffset=2 yoffset=9 xadvance=19 page=0 chnl=0 letter="u" 91 | char id=118 x=63 y=160 width=24 height=26 xoffset=-0 yoffset=10 xadvance=16 page=0 chnl=0 letter="v" 92 | char id=119 x=2 y=160 width=33 height=26 xoffset=-0 yoffset=10 xadvance=25 page=0 chnl=0 letter="w" 93 | char id=120 x=37 y=160 width=24 height=26 xoffset=0 yoffset=10 xadvance=17 page=0 chnl=0 letter="x" 94 | char id=121 x=29 y=87 width=24 height=35 xoffset=0 yoffset=10 xadvance=17 page=0 chnl=0 letter="y" 95 | char id=122 x=89 y=160 width=22 height=26 xoffset=1 yoffset=10 xadvance=17 page=0 chnl=0 letter="z" 96 | char id=123 x=2 y=2 width=21 height=45 xoffset=1 yoffset=1 xadvance=15 page=0 chnl=0 letter="{" 97 | char id=124 x=67 y=2 width=12 height=44 xoffset=10 yoffset=1 xadvance=23 page=0 chnl=0 letter="|" 98 | char id=125 x=25 y=2 width=21 height=45 xoffset=1 yoffset=1 xadvance=15 page=0 chnl=0 letter="}" 99 | char id=126 x=251 y=160 width=29 height=15 xoffset=2 yoffset=12 xadvance=26 page=0 chnl=0 letter="~" 100 | kernings count=194 101 | kerning first=36 second=62 amount=3 102 | kerning first=36 second=63 amount=2 103 | kerning first=65 second=71 amount=-1 104 | kerning first=65 second=79 amount=-1 105 | kerning first=65 second=81 amount=-1 106 | kerning first=65 second=84 amount=-3 107 | kerning first=65 second=85 amount=-1 108 | kerning first=65 second=86 amount=-1 109 | kerning first=65 second=89 amount=-2 110 | kerning first=65 second=112 amount=1 111 | kerning first=68 second=44 amount=-3 112 | kerning first=68 second=46 amount=-3 113 | kerning first=68 second=65 amount=-1 114 | kerning first=68 second=86 amount=-1 115 | kerning first=68 second=87 amount=-1 116 | kerning first=68 second=89 amount=-2 117 | kerning first=70 second=44 amount=-6 118 | kerning first=70 second=46 amount=-6 119 | kerning first=70 second=65 amount=-2 120 | kerning first=74 second=44 amount=-2 121 | kerning first=74 second=46 amount=-2 122 | kerning first=74 second=58 amount=-1 123 | kerning first=74 second=59 amount=-1 124 | kerning first=74 second=65 amount=-1 125 | kerning first=74 second=101 amount=-1 126 | kerning first=74 second=111 amount=-1 127 | kerning first=75 second=97 amount=1 128 | kerning first=75 second=117 amount=1 129 | kerning first=75 second=118 amount=1 130 | kerning first=75 second=119 amount=1 131 | kerning first=75 second=121 amount=1 132 | kerning first=76 second=84 amount=-2 133 | kerning first=76 second=86 amount=-1 134 | kerning first=76 second=89 amount=-2 135 | kerning first=79 second=44 amount=-2 136 | kerning first=79 second=46 amount=-2 137 | kerning first=79 second=65 amount=-2 138 | kerning first=79 second=84 amount=-1 139 | kerning first=79 second=86 amount=-1 140 | kerning first=79 second=87 amount=-1 141 | kerning first=79 second=88 amount=-2 142 | kerning first=79 second=89 amount=-2 143 | kerning first=80 second=44 amount=-8 144 | kerning first=80 second=46 amount=-8 145 | kerning first=80 second=65 amount=-3 146 | kerning first=80 second=97 amount=-1 147 | kerning first=80 second=101 amount=-1 148 | kerning first=80 second=111 amount=-1 149 | kerning first=81 second=44 amount=-2 150 | kerning first=81 second=46 amount=-2 151 | kerning first=81 second=65 amount=-1 152 | kerning first=81 second=84 amount=-1 153 | kerning first=81 second=86 amount=-1 154 | kerning first=81 second=89 amount=-2 155 | kerning first=82 second=84 amount=-1 156 | kerning first=82 second=89 amount=-1 157 | kerning first=82 second=97 amount=1 158 | kerning first=82 second=101 amount=-1 159 | kerning first=82 second=111 amount=-1 160 | kerning first=82 second=117 amount=-1 161 | kerning first=82 second=118 amount=1 162 | kerning first=82 second=119 amount=1 163 | kerning first=82 second=121 amount=1 164 | kerning first=83 second=44 amount=-1 165 | kerning first=83 second=46 amount=-1 166 | kerning first=84 second=44 amount=-4 167 | kerning first=84 second=45 amount=-3 168 | kerning first=84 second=46 amount=-4 169 | kerning first=84 second=58 amount=-2 170 | kerning first=84 second=59 amount=-2 171 | kerning first=84 second=65 amount=-3 172 | kerning first=84 second=67 amount=-1 173 | kerning first=84 second=71 amount=-2 174 | kerning first=84 second=79 amount=-1 175 | kerning first=84 second=81 amount=-1 176 | kerning first=84 second=97 amount=-2 177 | kerning first=84 second=99 amount=-2 178 | kerning first=84 second=101 amount=-2 179 | kerning first=84 second=109 amount=-2 180 | kerning first=84 second=111 amount=-2 181 | kerning first=84 second=114 amount=-2 182 | kerning first=84 second=115 amount=-1 183 | kerning first=84 second=117 amount=-2 184 | kerning first=84 second=119 amount=-1 185 | kerning first=84 second=121 amount=-1 186 | kerning first=84 second=122 amount=-1 187 | kerning first=85 second=44 amount=-1 188 | kerning first=85 second=46 amount=-1 189 | kerning first=85 second=65 amount=-1 190 | kerning first=86 second=44 amount=-5 191 | kerning first=86 second=45 amount=-2 192 | kerning first=86 second=46 amount=-5 193 | kerning first=86 second=58 amount=-2 194 | kerning first=86 second=59 amount=-2 195 | kerning first=86 second=65 amount=-2 196 | kerning first=86 second=67 amount=-1 197 | kerning first=86 second=71 amount=-2 198 | kerning first=86 second=79 amount=-1 199 | kerning first=86 second=81 amount=-1 200 | kerning first=86 second=97 amount=-1 201 | kerning first=86 second=101 amount=-2 202 | kerning first=86 second=111 amount=-2 203 | kerning first=86 second=114 amount=-1 204 | kerning first=86 second=117 amount=-1 205 | kerning first=86 second=121 amount=-1 206 | kerning first=87 second=44 amount=-3 207 | kerning first=87 second=45 amount=-2 208 | kerning first=87 second=46 amount=-3 209 | kerning first=87 second=58 amount=-2 210 | kerning first=87 second=59 amount=-2 211 | kerning first=87 second=71 amount=-1 212 | kerning first=87 second=79 amount=-1 213 | kerning first=87 second=97 amount=-1 214 | kerning first=87 second=100 amount=-1 215 | kerning first=87 second=101 amount=-1 216 | kerning first=87 second=111 amount=-1 217 | kerning first=88 second=67 amount=-1 218 | kerning first=88 second=71 amount=-1 219 | kerning first=88 second=79 amount=-1 220 | kerning first=89 second=44 amount=-5 221 | kerning first=89 second=45 amount=-4 222 | kerning first=89 second=46 amount=-5 223 | kerning first=89 second=58 amount=-3 224 | kerning first=89 second=59 amount=-3 225 | kerning first=89 second=65 amount=-3 226 | kerning first=89 second=67 amount=-1 227 | kerning first=89 second=71 amount=-2 228 | kerning first=89 second=79 amount=-2 229 | kerning first=89 second=83 amount=-1 230 | kerning first=89 second=97 amount=-3 231 | kerning first=89 second=100 amount=-2 232 | kerning first=89 second=101 amount=-3 233 | kerning first=89 second=111 amount=-3 234 | kerning first=89 second=112 amount=-1 235 | kerning first=89 second=113 amount=-2 236 | kerning first=89 second=117 amount=-2 237 | kerning first=89 second=118 amount=-1 238 | kerning first=98 second=44 amount=-1 239 | kerning first=98 second=46 amount=-1 240 | kerning first=100 second=118 amount=1 241 | kerning first=100 second=119 amount=1 242 | kerning first=100 second=121 amount=1 243 | kerning first=101 second=103 amount=1 244 | kerning first=102 second=32 amount=3 245 | kerning first=102 second=33 amount=2 246 | kerning first=102 second=44 amount=-1 247 | kerning first=102 second=46 amount=-1 248 | kerning first=102 second=63 amount=2 249 | kerning first=102 second=97 amount=1 250 | kerning first=102 second=102 amount=1 251 | kerning first=103 second=97 amount=1 252 | kerning first=103 second=101 amount=-1 253 | kerning first=103 second=111 amount=-1 254 | kerning first=105 second=118 amount=1 255 | kerning first=107 second=121 amount=1 256 | kerning first=111 second=44 amount=-1 257 | kerning first=111 second=46 amount=-1 258 | kerning first=111 second=120 amount=-1 259 | kerning first=112 second=44 amount=-1 260 | kerning first=112 second=46 amount=-1 261 | kerning first=114 second=44 amount=-3 262 | kerning first=114 second=46 amount=-3 263 | kerning first=114 second=58 amount=1 264 | kerning first=114 second=59 amount=1 265 | kerning first=114 second=97 amount=1 266 | kerning first=114 second=103 amount=1 267 | kerning first=114 second=106 amount=1 268 | kerning first=114 second=107 amount=1 269 | kerning first=114 second=108 amount=1 270 | kerning first=114 second=109 amount=1 271 | kerning first=114 second=110 amount=1 272 | kerning first=114 second=111 amount=1 273 | kerning first=114 second=112 amount=1 274 | kerning first=114 second=114 amount=1 275 | kerning first=114 second=115 amount=1 276 | kerning first=114 second=116 amount=2 277 | kerning first=114 second=117 amount=1 278 | kerning first=114 second=118 amount=2 279 | kerning first=114 second=121 amount=1 280 | kerning first=115 second=119 amount=-1 281 | kerning first=118 second=44 amount=-2 282 | kerning first=118 second=46 amount=-2 283 | kerning first=118 second=97 amount=1 284 | kerning first=118 second=100 amount=1 285 | kerning first=118 second=113 amount=1 286 | kerning first=119 second=44 amount=-2 287 | kerning first=119 second=46 amount=-2 288 | kerning first=119 second=97 amount=1 289 | kerning first=119 second=100 amount=1 290 | kerning first=119 second=104 amount=1 291 | kerning first=119 second=113 amount=1 292 | kerning first=121 second=44 amount=-3 293 | kerning first=121 second=46 amount=-3 294 | kerning first=121 second=111 amount=-1 295 | -------------------------------------------------------------------------------- /assets/font/abadi_mt.fnt.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "d16a0b13-a8c4-4063-a965-1df6c0fcb6c9", 4 | "texturePath": "", 5 | "subMetas": {} 6 | } -------------------------------------------------------------------------------- /assets/font/abadi_mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/font/abadi_mt.png -------------------------------------------------------------------------------- /assets/font/abadi_mt.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "d0e3e9b3-e3fe-4c3b-9dbb-87762dd368e8", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "abadi_mt": { 9 | "ver": "1.0.2", 10 | "uuid": "f91c2e8f-bc67-4e47-b45c-c8bc1866b5e1", 11 | "rawTextureUuid": "d0e3e9b3-e3fe-4c3b-9dbb-87762dd368e8", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": -2.5, 16 | "offsetY": 33.5, 17 | "trimX": 2, 18 | "trimY": 3, 19 | "width": 503, 20 | "height": 183, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/font/fz_hei.fnt: -------------------------------------------------------------------------------- 1 | info face="FZZhengHeiS-B-GB" size=40 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 2 | common lineHeight=49 base=35 scaleW=256 scaleH=256 pages=1 packed=0 3 | page id=0 file="fz_hei.png" 4 | chars count=14 5 | char id=32 x=140 y=93 width=0 height=0 xoffset=0 yoffset=36 xadvance=13 page=0 chnl=0 letter="space" 6 | char id=19968 x=94 y=93 width=44 height=12 xoffset=2 yoffset=10 xadvance=40 page=0 chnl=0 letter="一" 7 | char id=20250 x=138 y=2 width=44 height=43 xoffset=2 yoffset=-4 xadvance=40 page=0 chnl=0 letter="会" 8 | char id=20987 x=183 y=48 width=44 height=42 xoffset=2 yoffset=-3 xadvance=40 page=0 chnl=0 letter="击" 9 | char id=22833 x=93 y=2 width=43 height=44 xoffset=2 yoffset=-4 xadvance=40 page=0 chnl=0 letter="失" 10 | char id=23436 x=48 y=2 width=43 height=44 xoffset=3 yoffset=-4 xadvance=40 page=0 chnl=0 letter="完" 11 | char id=24481 x=93 y=48 width=43 height=43 xoffset=2 yoffset=-3 xadvance=40 page=0 chnl=0 letter="御" 12 | char id=24515 x=2 y=93 width=44 height=42 xoffset=2 yoffset=-3 xadvance=40 page=0 chnl=0 letter="心" 13 | char id=25915 x=2 y=2 width=44 height=44 xoffset=2 yoffset=-4 xadvance=40 page=0 chnl=0 letter="攻" 14 | char id=32654 x=138 y=48 width=43 height=43 xoffset=2 yoffset=-3 xadvance=40 page=0 chnl=0 letter="美" 15 | char id=36133 x=2 y=48 width=44 height=43 xoffset=2 yoffset=-3 xadvance=40 page=0 chnl=0 letter="败" 16 | char id=37325 x=48 y=93 width=44 height=42 xoffset=2 yoffset=-3 xadvance=40 page=0 chnl=0 letter="重" 17 | char id=38169 x=184 y=2 width=44 height=43 xoffset=2 yoffset=-3 xadvance=40 page=0 chnl=0 letter="错" 18 | char id=38450 x=48 y=48 width=43 height=43 xoffset=3 yoffset=-3 xadvance=40 page=0 chnl=0 letter="防" 19 | -------------------------------------------------------------------------------- /assets/font/fz_hei.fnt.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "4a574b6d-7ae4-4ab8-8787-1dbc01ed20f5", 4 | "texturePath": "", 5 | "subMetas": {} 6 | } -------------------------------------------------------------------------------- /assets/font/fz_hei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/font/fz_hei.png -------------------------------------------------------------------------------- /assets/font/fz_hei.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "b8118047-2a4a-40fc-b915-cb2b37eead98", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "fz_hei": { 9 | "ver": "1.0.2", 10 | "uuid": "05a38407-02dc-4889-87b8-2148ba35ee29", 11 | "rawTextureUuid": "b8118047-2a4a-40fc-b915-cb2b37eead98", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": -14, 16 | "offsetY": 59.5, 17 | "trimX": 2, 18 | "trimY": 3, 19 | "width": 224, 20 | "height": 131, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/font/hiragino_std.fnt: -------------------------------------------------------------------------------- 1 | info face="Hiragino Maru Gothic Pro" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 2 | common lineHeight=40 base=44 scaleW=512 scaleH=256 pages=1 packed=0 3 | page id=0 file="hiragino_std.png" 4 | chars count=95 5 | char id=32 x=356 y=149 width=0 height=0 xoffset=0 yoffset=36 xadvance=11 page=0 chnl=0 letter="space" 6 | char id=33 x=2 y=114 width=12 height=33 xoffset=3 yoffset=3 xadvance=10 page=0 chnl=0 letter="!" 7 | char id=34 x=207 y=149 width=16 height=17 xoffset=2 yoffset=3 xadvance=12 page=0 chnl=0 letter=""" 8 | char id=35 x=384 y=44 width=26 height=33 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="#" 9 | char id=36 x=33 y=2 width=25 height=38 xoffset=1 yoffset=1 xadvance=20 page=0 chnl=0 letter="$" 10 | char id=37 x=319 y=2 width=33 height=33 xoffset=1 yoffset=4 xadvance=28 page=0 chnl=0 letter="%" 11 | char id=38 x=452 y=2 width=29 height=33 xoffset=1 yoffset=4 xadvance=25 page=0 chnl=0 letter="&" 12 | char id=39 x=225 y=149 width=11 height=17 xoffset=3 yoffset=3 xadvance=9 page=0 chnl=0 letter="'" 13 | char id=40 x=106 y=2 width=15 height=38 xoffset=2 yoffset=4 xadvance=12 page=0 chnl=0 letter="(" 14 | char id=41 x=123 y=2 width=15 height=38 xoffset=2 yoffset=4 xadvance=12 page=0 chnl=0 letter=")" 15 | char id=42 x=158 y=149 width=19 height=20 xoffset=1 yoffset=4 xadvance=13 page=0 chnl=0 letter="*" 16 | char id=43 x=271 y=114 width=26 height=26 xoffset=1 yoffset=11 xadvance=21 page=0 chnl=0 letter="+" 17 | char id=44 x=238 y=149 width=12 height=16 xoffset=2 yoffset=25 xadvance=10 page=0 chnl=0 letter="," 18 | char id=45 x=309 y=149 width=19 height=10 xoffset=2 yoffset=18 xadvance=14 page=0 chnl=0 letter="-" 19 | char id=46 x=295 y=149 width=12 height=12 xoffset=3 yoffset=24 xadvance=10 page=0 chnl=0 letter="." 20 | char id=47 x=60 y=2 width=21 height=38 xoffset=1 yoffset=4 xadvance=15 page=0 chnl=0 letter="/" 21 | char id=48 x=328 y=44 width=26 height=33 xoffset=1 yoffset=4 xadvance=21 page=0 chnl=0 letter="0" 22 | char id=49 x=490 y=79 width=16 height=33 xoffset=4 yoffset=3 xadvance=21 page=0 chnl=0 letter="1" 23 | char id=50 x=83 y=79 width=25 height=33 xoffset=2 yoffset=3 xadvance=21 page=0 chnl=0 letter="2" 24 | char id=51 x=56 y=79 width=25 height=33 xoffset=1 yoffset=4 xadvance=21 page=0 chnl=0 letter="3" 25 | char id=52 x=299 y=44 width=27 height=33 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="4" 26 | char id=53 x=242 y=79 width=24 height=33 xoffset=2 yoffset=4 xadvance=21 page=0 chnl=0 letter="5" 27 | char id=54 x=2 y=79 width=25 height=33 xoffset=2 yoffset=4 xadvance=21 page=0 chnl=0 letter="6" 28 | char id=55 x=110 y=79 width=25 height=33 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="7" 29 | char id=56 x=412 y=44 width=26 height=33 xoffset=1 yoffset=4 xadvance=21 page=0 chnl=0 letter="8" 30 | char id=57 x=29 y=79 width=25 height=33 xoffset=1 yoffset=4 xadvance=21 page=0 chnl=0 letter="9" 31 | char id=58 x=94 y=149 width=12 height=26 xoffset=3 yoffset=10 xadvance=10 page=0 chnl=0 letter=":" 32 | char id=59 x=190 y=114 width=12 height=30 xoffset=2 yoffset=11 xadvance=10 page=0 chnl=0 letter=";" 33 | char id=60 x=400 y=114 width=22 height=26 xoffset=1 yoffset=10 xadvance=17 page=0 chnl=0 letter="<" 34 | char id=61 x=179 y=149 width=26 height=17 xoffset=2 yoffset=15 xadvance=21 page=0 chnl=0 letter="=" 35 | char id=62 x=424 y=114 width=22 height=26 xoffset=1 yoffset=10 xadvance=17 page=0 chnl=0 letter=">" 36 | char id=63 x=346 y=79 width=24 height=33 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 letter="?" 37 | char id=64 x=244 y=2 width=33 height=34 xoffset=2 yoffset=3 xadvance=29 page=0 chnl=0 letter="@" 38 | char id=65 x=420 y=2 width=30 height=33 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 letter="A" 39 | char id=66 x=114 y=114 width=26 height=32 xoffset=3 yoffset=4 xadvance=23 page=0 chnl=0 letter="B" 40 | char id=67 x=63 y=44 width=28 height=33 xoffset=2 yoffset=4 xadvance=24 page=0 chnl=0 letter="C" 41 | char id=68 x=55 y=114 width=28 height=32 xoffset=3 yoffset=4 xadvance=25 page=0 chnl=0 letter="D" 42 | char id=69 x=142 y=114 width=24 height=32 xoffset=3 yoffset=4 xadvance=21 page=0 chnl=0 letter="E" 43 | char id=70 x=137 y=79 width=25 height=33 xoffset=3 yoffset=3 xadvance=21 page=0 chnl=0 letter="F" 44 | char id=71 x=33 y=44 width=28 height=33 xoffset=2 yoffset=4 xadvance=24 page=0 chnl=0 letter="G" 45 | char id=72 x=212 y=44 width=27 height=33 xoffset=3 yoffset=3 xadvance=25 page=0 chnl=0 letter="H" 46 | char id=73 x=30 y=114 width=11 height=33 xoffset=3 yoffset=3 xadvance=9 page=0 chnl=0 letter="I" 47 | char id=74 x=445 y=79 width=21 height=33 xoffset=0 yoffset=4 xadvance=17 page=0 chnl=0 letter="J" 48 | char id=75 x=440 y=44 width=26 height=33 xoffset=3 yoffset=3 xadvance=22 page=0 chnl=0 letter="K" 49 | char id=76 x=372 y=79 width=24 height=33 xoffset=3 yoffset=3 xadvance=20 page=0 chnl=0 letter="L" 50 | char id=77 x=354 y=2 width=32 height=33 xoffset=3 yoffset=3 xadvance=31 page=0 chnl=0 letter="M" 51 | char id=78 x=241 y=44 width=27 height=33 xoffset=3 yoffset=3 xadvance=25 page=0 chnl=0 letter="N" 52 | char id=79 x=388 y=2 width=30 height=33 xoffset=2 yoffset=4 xadvance=26 page=0 chnl=0 letter="O" 53 | char id=80 x=468 y=44 width=26 height=33 xoffset=3 yoffset=3 xadvance=22 page=0 chnl=0 letter="P" 54 | char id=81 x=212 y=2 width=30 height=35 xoffset=2 yoffset=3 xadvance=26 page=0 chnl=0 letter="Q" 55 | char id=82 x=270 y=44 width=27 height=33 xoffset=3 yoffset=3 xadvance=23 page=0 chnl=0 letter="R" 56 | char id=83 x=356 y=44 width=26 height=33 xoffset=1 yoffset=4 xadvance=21 page=0 chnl=0 letter="S" 57 | char id=84 x=153 y=44 width=28 height=33 xoffset=1 yoffset=3 xadvance=22 page=0 chnl=0 letter="T" 58 | char id=85 x=183 y=44 width=27 height=33 xoffset=3 yoffset=4 xadvance=25 page=0 chnl=0 letter="U" 59 | char id=86 x=2 y=44 width=29 height=33 xoffset=1 yoffset=3 xadvance=23 page=0 chnl=0 letter="V" 60 | char id=87 x=279 y=2 width=38 height=33 xoffset=1 yoffset=3 xadvance=33 page=0 chnl=0 letter="W" 61 | char id=88 x=93 y=44 width=28 height=33 xoffset=1 yoffset=3 xadvance=23 page=0 chnl=0 letter="X" 62 | char id=89 x=123 y=44 width=28 height=33 xoffset=1 yoffset=3 xadvance=23 page=0 chnl=0 letter="Y" 63 | char id=90 x=85 y=114 width=27 height=32 xoffset=1 yoffset=4 xadvance=22 page=0 chnl=0 letter="Z" 64 | char id=91 x=178 y=2 width=15 height=37 xoffset=3 yoffset=4 xadvance=12 page=0 chnl=0 letter="[" 65 | char id=92 x=83 y=2 width=21 height=38 xoffset=1 yoffset=4 xadvance=15 page=0 chnl=0 letter="\" 66 | char id=93 x=195 y=2 width=15 height=37 xoffset=2 yoffset=4 xadvance=12 page=0 chnl=0 letter="]" 67 | char id=94 x=132 y=149 width=24 height=20 xoffset=1 yoffset=4 xadvance=18 page=0 chnl=0 letter="^" 68 | char id=95 x=330 y=149 width=24 height=9 xoffset=0 yoffset=32 xadvance=16 page=0 chnl=0 letter="_" 69 | char id=96 x=252 y=149 width=14 height=13 xoffset=3 yoffset=4 xadvance=16 page=0 chnl=0 letter="`" 70 | char id=97 x=472 y=114 width=22 height=26 xoffset=1 yoffset=11 xadvance=18 page=0 chnl=0 letter="a" 71 | char id=98 x=164 y=79 width=24 height=33 xoffset=2 yoffset=4 xadvance=20 page=0 chnl=0 letter="b" 72 | char id=99 x=350 y=114 width=23 height=26 xoffset=1 yoffset=11 xadvance=18 page=0 chnl=0 letter="c" 73 | char id=100 x=190 y=79 width=24 height=33 xoffset=1 yoffset=4 xadvance=20 page=0 chnl=0 letter="d" 74 | char id=101 x=325 y=114 width=23 height=26 xoffset=1 yoffset=11 xadvance=18 page=0 chnl=0 letter="e" 75 | char id=102 x=468 y=79 width=20 height=33 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0 letter="f" 76 | char id=103 x=320 y=79 width=24 height=33 xoffset=1 yoffset=10 xadvance=20 page=0 chnl=0 letter="g" 77 | char id=104 x=398 y=79 width=22 height=33 xoffset=2 yoffset=3 xadvance=19 page=0 chnl=0 letter="h" 78 | char id=105 x=16 y=114 width=12 height=33 xoffset=2 yoffset=3 xadvance=7 page=0 chnl=0 letter="i" 79 | char id=106 x=2 y=2 width=17 height=40 xoffset=-2 yoffset=3 xadvance=9 page=0 chnl=0 letter="j" 80 | char id=107 x=422 y=79 width=21 height=33 xoffset=2 yoffset=3 xadvance=17 page=0 chnl=0 letter="k" 81 | char id=108 x=43 y=114 width=10 height=33 xoffset=2 yoffset=3 xadvance=7 page=0 chnl=0 letter="l" 82 | char id=109 x=238 y=114 width=31 height=26 xoffset=2 yoffset=10 xadvance=28 page=0 chnl=0 letter="m" 83 | char id=110 x=50 y=149 width=22 height=26 xoffset=2 yoffset=10 xadvance=19 page=0 chnl=0 letter="n" 84 | char id=111 x=299 y=114 width=24 height=26 xoffset=1 yoffset=11 xadvance=19 page=0 chnl=0 letter="o" 85 | char id=112 x=268 y=79 width=24 height=33 xoffset=2 yoffset=10 xadvance=20 page=0 chnl=0 letter="p" 86 | char id=113 x=294 y=79 width=24 height=33 xoffset=1 yoffset=10 xadvance=20 page=0 chnl=0 letter="q" 87 | char id=114 x=74 y=149 width=18 height=26 xoffset=3 yoffset=10 xadvance=14 page=0 chnl=0 letter="r" 88 | char id=115 x=448 y=114 width=22 height=26 xoffset=1 yoffset=11 xadvance=17 page=0 chnl=0 letter="s" 89 | char id=116 x=168 y=114 width=20 height=31 xoffset=1 yoffset=6 xadvance=13 page=0 chnl=0 letter="t" 90 | char id=117 x=26 y=149 width=22 height=26 xoffset=2 yoffset=11 xadvance=19 page=0 chnl=0 letter="u" 91 | char id=118 x=375 y=114 width=23 height=26 xoffset=1 yoffset=10 xadvance=18 page=0 chnl=0 letter="v" 92 | char id=119 x=204 y=114 width=32 height=26 xoffset=1 yoffset=10 xadvance=26 page=0 chnl=0 letter="w" 93 | char id=120 x=2 y=149 width=22 height=26 xoffset=1 yoffset=10 xadvance=17 page=0 chnl=0 letter="x" 94 | char id=121 x=216 y=79 width=24 height=33 xoffset=0 yoffset=10 xadvance=18 page=0 chnl=0 letter="y" 95 | char id=122 x=108 y=149 width=22 height=25 xoffset=1 yoffset=11 xadvance=17 page=0 chnl=0 letter="z" 96 | char id=123 x=140 y=2 width=17 height=37 xoffset=2 yoffset=4 xadvance=13 page=0 chnl=0 letter="{" 97 | char id=124 x=21 y=2 width=10 height=39 xoffset=5 yoffset=4 xadvance=12 page=0 chnl=0 letter="|" 98 | char id=125 x=159 y=2 width=17 height=37 xoffset=2 yoffset=4 xadvance=13 page=0 chnl=0 letter="}" 99 | char id=126 x=268 y=149 width=25 height=12 xoffset=1 yoffset=18 xadvance=21 page=0 chnl=0 letter="~" 100 | -------------------------------------------------------------------------------- /assets/font/hiragino_std.fnt.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "87b062f4-bfdd-4cf8-abc6-438779430cb5", 4 | "texturePath": "", 5 | "subMetas": {} 6 | } -------------------------------------------------------------------------------- /assets/font/hiragino_std.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/font/hiragino_std.png -------------------------------------------------------------------------------- /assets/font/hiragino_std.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "d72c5e38-3f7a-431e-a2ad-6cfbe767b698", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "hiragino_std": { 9 | "ver": "1.0.2", 10 | "uuid": "e73bc31d-21d9-4551-93c0-f6a1860c2ef2", 11 | "rawTextureUuid": "d72c5e38-3f7a-431e-a2ad-6cfbe767b698", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": -2, 16 | "offsetY": 40, 17 | "trimX": 3, 18 | "trimY": 2, 19 | "width": 502, 20 | "height": 172, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/font/mikado_outline_shadow.fnt: -------------------------------------------------------------------------------- 1 | info face="Mikado" size=36 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=2,2 2 | common lineHeight=49 base=36 scaleW=512 scaleH=256 pages=1 packed=0 3 | page id=0 file="mikado_outline_shadow.png" 4 | chars count=95 5 | char id=32 x=294 y=208 width=0 height=0 xoffset=0 yoffset=40 xadvance=7 page=0 chnl=0 letter="space" 6 | char id=33 x=460 y=132 width=18 height=37 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 letter="!" 7 | char id=34 x=131 y=208 width=23 height=22 xoffset=0 yoffset=3 xadvance=15 page=0 chnl=0 letter=""" 8 | char id=35 x=68 y=132 width=31 height=37 xoffset=-0 yoffset=3 xadvance=22 page=0 chnl=0 letter="#" 9 | char id=36 x=122 y=2 width=30 height=44 xoffset=0 yoffset=-1 xadvance=21 page=0 chnl=0 letter="$" 10 | char id=37 x=128 y=51 width=39 height=38 xoffset=-0 yoffset=3 xadvance=30 page=0 chnl=0 letter="%" 11 | char id=38 x=242 y=51 width=33 height=38 xoffset=1 yoffset=3 xadvance=25 page=0 chnl=0 letter="&" 12 | char id=39 x=156 y=208 width=15 height=22 xoffset=0 yoffset=3 xadvance=7 page=0 chnl=0 letter="'" 13 | char id=40 x=251 y=2 width=23 height=42 xoffset=0 yoffset=3 xadvance=14 page=0 chnl=0 letter="(" 14 | char id=41 x=276 y=2 width=23 height=42 xoffset=-1 yoffset=3 xadvance=14 page=0 chnl=0 letter=")" 15 | char id=42 x=50 y=208 width=23 height=24 xoffset=0 yoffset=1 xadvance=15 page=0 chnl=0 letter="*" 16 | char id=43 x=232 y=171 width=28 height=30 xoffset=-0 yoffset=9 xadvance=19 page=0 chnl=0 letter="+" 17 | char id=44 x=30 y=208 width=18 height=26 xoffset=0 yoffset=21 xadvance=10 page=0 chnl=0 letter="," 18 | char id=45 x=246 y=208 width=22 height=16 xoffset=1 yoffset=16 xadvance=14 page=0 chnl=0 letter="-" 19 | char id=46 x=196 y=208 width=18 height=19 xoffset=0 yoffset=22 xadvance=10 page=0 chnl=0 letter="." 20 | char id=47 x=223 y=2 width=26 height=42 xoffset=-0 yoffset=1 xadvance=17 page=0 chnl=0 letter="/" 21 | char id=48 x=134 y=92 width=30 height=38 xoffset=0 yoffset=3 xadvance=22 page=0 chnl=0 letter="0" 22 | char id=49 x=435 y=132 width=23 height=37 xoffset=-1 yoffset=3 xadvance=15 page=0 chnl=0 letter="1" 23 | char id=50 x=349 y=132 width=27 height=37 xoffset=-0 yoffset=3 xadvance=19 page=0 chnl=0 letter="2" 24 | char id=51 x=351 y=92 width=28 height=38 xoffset=-0 yoffset=2 xadvance=19 page=0 chnl=0 letter="3" 25 | char id=52 x=35 y=132 width=31 height=37 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 letter="4" 26 | char id=53 x=321 y=92 width=28 height=38 xoffset=-0 yoffset=2 xadvance=19 page=0 chnl=0 letter="5" 27 | char id=54 x=259 y=92 width=29 height=38 xoffset=0 yoffset=2 xadvance=20 page=0 chnl=0 letter="6" 28 | char id=55 x=378 y=132 width=27 height=37 xoffset=-0 yoffset=3 xadvance=17 page=0 chnl=0 letter="7" 29 | char id=56 x=228 y=92 width=29 height=38 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 letter="8" 30 | char id=57 x=290 y=92 width=29 height=38 xoffset=-0 yoffset=2 xadvance=20 page=0 chnl=0 letter="9" 31 | char id=58 x=456 y=171 width=18 height=30 xoffset=0 yoffset=11 xadvance=10 page=0 chnl=0 letter=":" 32 | char id=59 x=480 y=132 width=18 height=37 xoffset=1 yoffset=10 xadvance=11 page=0 chnl=0 letter=";" 33 | char id=60 x=2 y=208 width=26 height=27 xoffset=-0 yoffset=10 xadvance=17 page=0 chnl=0 letter="<" 34 | char id=61 x=103 y=208 width=26 height=22 xoffset=1 yoffset=13 xadvance=19 page=0 chnl=0 letter="=" 35 | char id=62 x=476 y=171 width=26 height=28 xoffset=0 yoffset=11 xadvance=18 page=0 chnl=0 letter=">" 36 | char id=63 x=381 y=92 width=25 height=38 xoffset=-0 yoffset=2 xadvance=17 page=0 chnl=0 letter="?" 37 | char id=64 x=17 y=2 width=44 height=46 xoffset=0 yoffset=3 xadvance=36 page=0 chnl=0 letter="@" 38 | char id=65 x=427 y=92 width=35 height=37 xoffset=-0 yoffset=3 xadvance=26 page=0 chnl=0 letter="A" 39 | char id=66 x=101 y=132 width=30 height=37 xoffset=1 yoffset=3 xadvance=23 page=0 chnl=0 letter="B" 40 | char id=67 x=2 y=92 width=32 height=38 xoffset=0 yoffset=3 xadvance=23 page=0 chnl=0 letter="C" 41 | char id=68 x=464 y=92 width=32 height=37 xoffset=1 yoffset=3 xadvance=25 page=0 chnl=0 letter="D" 42 | char id=69 x=260 y=132 width=28 height=37 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="E" 43 | char id=70 x=290 y=132 width=28 height=37 xoffset=1 yoffset=3 xadvance=21 page=0 chnl=0 letter="F" 44 | char id=71 x=312 y=51 width=33 height=38 xoffset=0 yoffset=3 xadvance=25 page=0 chnl=0 letter="G" 45 | char id=72 x=277 y=51 width=33 height=38 xoffset=1 yoffset=3 xadvance=27 page=0 chnl=0 letter="H" 46 | char id=73 x=408 y=92 width=17 height=38 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 letter="I" 47 | char id=74 x=407 y=132 width=26 height=37 xoffset=-1 yoffset=3 xadvance=17 page=0 chnl=0 letter="J" 48 | char id=75 x=36 y=92 width=32 height=38 xoffset=1 yoffset=3 xadvance=24 page=0 chnl=0 letter="K" 49 | char id=76 x=320 y=132 width=27 height=37 xoffset=1 yoffset=3 xadvance=19 page=0 chnl=0 letter="L" 50 | char id=77 x=85 y=51 width=41 height=38 xoffset=-0 yoffset=3 xadvance=32 page=0 chnl=0 letter="M" 51 | char id=78 x=417 y=51 width=33 height=38 xoffset=1 yoffset=3 xadvance=27 page=0 chnl=0 letter="N" 52 | char id=79 x=169 y=51 width=35 height=38 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 letter="O" 53 | char id=80 x=165 y=132 width=30 height=37 xoffset=1 yoffset=3 xadvance=23 page=0 chnl=0 letter="P" 54 | char id=81 x=85 y=2 width=35 height=45 xoffset=0 yoffset=3 xadvance=27 page=0 chnl=0 letter="Q" 55 | char id=82 x=2 y=132 width=31 height=37 xoffset=1 yoffset=4 xadvance=24 page=0 chnl=0 letter="R" 56 | char id=83 x=197 y=132 width=30 height=37 xoffset=-0 yoffset=3 xadvance=21 page=0 chnl=0 letter="S" 57 | char id=84 x=133 y=132 width=30 height=37 xoffset=-1 yoffset=3 xadvance=21 page=0 chnl=0 letter="T" 58 | char id=85 x=452 y=51 width=32 height=38 xoffset=1 yoffset=3 xadvance=26 page=0 chnl=0 letter="U" 59 | char id=86 x=206 y=51 width=34 height=38 xoffset=-1 yoffset=2 xadvance=24 page=0 chnl=0 letter="V" 60 | char id=87 x=40 y=51 width=43 height=38 xoffset=-0 yoffset=3 xadvance=34 page=0 chnl=0 letter="W" 61 | char id=88 x=382 y=51 width=33 height=38 xoffset=-1 yoffset=3 xadvance=23 page=0 chnl=0 letter="X" 62 | char id=89 x=347 y=51 width=33 height=38 xoffset=-1 yoffset=3 xadvance=23 page=0 chnl=0 letter="Y" 63 | char id=90 x=229 y=132 width=29 height=37 xoffset=0 yoffset=3 xadvance=21 page=0 chnl=0 letter="Z" 64 | char id=91 x=200 y=2 width=21 height=43 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0 letter="[" 65 | char id=92 x=387 y=2 width=25 height=40 xoffset=-0 yoffset=1 xadvance=16 page=0 chnl=0 letter="\" 66 | char id=93 x=301 y=2 width=21 height=42 xoffset=-0 yoffset=3 xadvance=13 page=0 chnl=0 letter="]" 67 | char id=94 x=75 y=208 width=26 height=23 xoffset=-0 yoffset=2 xadvance=17 page=0 chnl=0 letter="^" 68 | char id=95 x=270 y=208 width=22 height=15 xoffset=1 yoffset=30 xadvance=15 page=0 chnl=0 letter="_" 69 | char id=96 x=173 y=208 width=21 height=19 xoffset=1 yoffset=2 xadvance=14 page=0 chnl=0 letter="`" 70 | char id=97 x=321 y=171 width=26 height=30 xoffset=-0 yoffset=10 xadvance=18 page=0 chnl=0 letter="a" 71 | char id=98 x=324 y=2 width=30 height=40 xoffset=-0 yoffset=1 xadvance=21 page=0 chnl=0 letter="b" 72 | char id=99 x=349 y=171 width=26 height=30 xoffset=-0 yoffset=11 xadvance=17 page=0 chnl=0 letter="c" 73 | char id=100 x=414 y=2 width=30 height=39 xoffset=0 yoffset=2 xadvance=22 page=0 chnl=0 letter="d" 74 | char id=101 x=292 y=171 width=27 height=30 xoffset=-0 yoffset=10 xadvance=18 page=0 chnl=0 letter="e" 75 | char id=102 x=476 y=2 width=26 height=39 xoffset=-1 yoffset=2 xadvance=15 page=0 chnl=0 letter="f" 76 | char id=103 x=102 y=92 width=30 height=38 xoffset=0 yoffset=10 xadvance=22 page=0 chnl=0 letter="g" 77 | char id=104 x=446 y=2 width=28 height=39 xoffset=1 yoffset=1 xadvance=21 page=0 chnl=0 letter="h" 78 | char id=105 x=2 y=51 width=17 height=39 xoffset=1 yoffset=1 xadvance=10 page=0 chnl=0 letter="i" 79 | char id=106 x=63 y=2 width=20 height=46 xoffset=-2 yoffset=2 xadvance=10 page=0 chnl=0 letter="j" 80 | char id=107 x=356 y=2 width=29 height=40 xoffset=0 yoffset=1 xadvance=20 page=0 chnl=0 letter="k" 81 | char id=108 x=21 y=51 width=17 height=39 xoffset=1 yoffset=1 xadvance=9 page=0 chnl=0 letter="l" 82 | char id=109 x=68 y=171 width=38 height=30 xoffset=1 yoffset=10 xadvance=31 page=0 chnl=0 letter="m" 83 | char id=110 x=202 y=171 width=28 height=30 xoffset=1 yoffset=10 xadvance=21 page=0 chnl=0 letter="n" 84 | char id=111 x=171 y=171 width=29 height=30 xoffset=-0 yoffset=10 xadvance=20 page=0 chnl=0 letter="o" 85 | char id=112 x=70 y=92 width=30 height=38 xoffset=1 yoffset=10 xadvance=22 page=0 chnl=0 letter="p" 86 | char id=113 x=197 y=92 width=29 height=38 xoffset=0 yoffset=11 xadvance=21 page=0 chnl=0 letter="q" 87 | char id=114 x=431 y=171 width=23 height=30 xoffset=1 yoffset=10 xadvance=14 page=0 chnl=0 letter="r" 88 | char id=115 x=377 y=171 width=25 height=30 xoffset=-0 yoffset=11 xadvance=16 page=0 chnl=0 letter="s" 89 | char id=116 x=2 y=171 width=24 height=35 xoffset=-0 yoffset=6 xadvance=15 page=0 chnl=0 letter="t" 90 | char id=117 x=262 y=171 width=28 height=30 xoffset=1 yoffset=11 xadvance=21 page=0 chnl=0 letter="u" 91 | char id=118 x=108 y=171 width=30 height=30 xoffset=-0 yoffset=11 xadvance=20 page=0 chnl=0 letter="v" 92 | char id=119 x=28 y=171 width=38 height=30 xoffset=-0 yoffset=11 xadvance=29 page=0 chnl=0 letter="w" 93 | char id=120 x=140 y=171 width=29 height=30 xoffset=-1 yoffset=11 xadvance=19 page=0 chnl=0 letter="x" 94 | char id=121 x=166 y=92 width=29 height=38 xoffset=-1 yoffset=10 xadvance=19 page=0 chnl=0 letter="y" 95 | char id=122 x=404 y=171 width=25 height=30 xoffset=-0 yoffset=10 xadvance=16 page=0 chnl=0 letter="z" 96 | char id=123 x=154 y=2 width=21 height=43 xoffset=-1 yoffset=3 xadvance=12 page=0 chnl=0 letter="{" 97 | char id=124 x=2 y=2 width=13 height=47 xoffset=1 yoffset=1 xadvance=7 page=0 chnl=0 letter="|" 98 | char id=125 x=177 y=2 width=21 height=43 xoffset=-0 yoffset=3 xadvance=12 page=0 chnl=0 letter="}" 99 | char id=126 x=216 y=208 width=28 height=18 xoffset=0 yoffset=14 xadvance=20 page=0 chnl=0 letter="~" 100 | -------------------------------------------------------------------------------- /assets/font/mikado_outline_shadow.fnt.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "69ef5fa7-ad7c-450e-82fa-92cb26f1d068", 4 | "texturePath": "", 5 | "subMetas": {} 6 | } -------------------------------------------------------------------------------- /assets/font/mikado_outline_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/font/mikado_outline_shadow.png -------------------------------------------------------------------------------- /assets/font/mikado_outline_shadow.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "9dd56121-6d75-44fa-b5f2-e6c5fa69bf31", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "mikado_outline_shadow": { 9 | "ver": "1.0.2", 10 | "uuid": "b2f2a21c-c5c7-48ca-b448-90a78582b297", 11 | "rawTextureUuid": "9dd56121-6d75-44fa-b5f2-e6c5fa69bf31", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": -4.5, 16 | "offsetY": 9, 17 | "trimX": 3, 18 | "trimY": 3, 19 | "width": 497, 20 | "height": 232, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/scene.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "29236154-0ecc-48f5-93a5-e630660c7b2a", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/scene/animation_test.fire: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.SceneAsset", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_rawFiles": null, 7 | "scene": { 8 | "__id__": 1 9 | } 10 | }, 11 | { 12 | "__type__": "cc.Scene", 13 | "_name": "", 14 | "_objFlags": 0, 15 | "_opacity": 255, 16 | "_color": { 17 | "__type__": "cc.Color", 18 | "r": 255, 19 | "g": 255, 20 | "b": 255, 21 | "a": 255 22 | }, 23 | "_cascadeOpacityEnabled": true, 24 | "_parent": null, 25 | "_anchorPoint": { 26 | "__type__": "cc.Vec2", 27 | "x": 0, 28 | "y": 0 29 | }, 30 | "_contentSize": { 31 | "__type__": "cc.Size", 32 | "width": 0, 33 | "height": 0 34 | }, 35 | "_children": [ 36 | { 37 | "__id__": 2 38 | } 39 | ], 40 | "_localZOrder": 0, 41 | "_globalZOrder": 0, 42 | "_ignoreAnchorPointForPosition": false, 43 | "_tag": -1, 44 | "_opacityModifyRGB": false, 45 | "_id": "406d00ab-1f03-49b6-98f5-e9dcda2232d4" 46 | }, 47 | { 48 | "__type__": "cc.Node", 49 | "_name": "Canvas", 50 | "_objFlags": 0, 51 | "_opacity": 255, 52 | "_color": { 53 | "__type__": "cc.Color", 54 | "r": 255, 55 | "g": 255, 56 | "b": 255, 57 | "a": 255 58 | }, 59 | "_cascadeOpacityEnabled": true, 60 | "_parent": { 61 | "__id__": 1 62 | }, 63 | "_anchorPoint": { 64 | "__type__": "cc.Vec2", 65 | "x": 0.5, 66 | "y": 0.5 67 | }, 68 | "_contentSize": { 69 | "__type__": "cc.Size", 70 | "width": 960, 71 | "height": 640 72 | }, 73 | "_children": [ 74 | { 75 | "__id__": 3 76 | }, 77 | { 78 | "__id__": 5 79 | }, 80 | { 81 | "__id__": 21 82 | } 83 | ], 84 | "_rotationX": 0, 85 | "_rotationY": 0, 86 | "_scaleX": 1, 87 | "_scaleY": 1, 88 | "_position": { 89 | "__type__": "cc.Vec2", 90 | "x": 480, 91 | "y": 320 92 | }, 93 | "_skewX": 0, 94 | "_skewY": 0, 95 | "_localZOrder": 0, 96 | "_globalZOrder": 0, 97 | "_ignoreAnchorPointForPosition": false, 98 | "_tag": -1, 99 | "_opacityModifyRGB": false, 100 | "_id": "dbe21VzQ61ARrNAqWrogAMe", 101 | "_active": true, 102 | "_components": [ 103 | { 104 | "__id__": 27 105 | } 106 | ], 107 | "_prefab": null 108 | }, 109 | { 110 | "__type__": "cc.Node", 111 | "_name": "background", 112 | "_objFlags": 0, 113 | "_opacity": 255, 114 | "_color": { 115 | "__type__": "cc.Color", 116 | "r": 255, 117 | "g": 255, 118 | "b": 255, 119 | "a": 255 120 | }, 121 | "_cascadeOpacityEnabled": true, 122 | "_parent": { 123 | "__id__": 2 124 | }, 125 | "_anchorPoint": { 126 | "__type__": "cc.Vec2", 127 | "x": 0.5, 128 | "y": 0.5 129 | }, 130 | "_contentSize": { 131 | "__type__": "cc.Size", 132 | "width": 960, 133 | "height": 640 134 | }, 135 | "_children": [], 136 | "_rotationX": 0, 137 | "_rotationY": 0, 138 | "_scaleX": 1, 139 | "_scaleY": 1, 140 | "_position": { 141 | "__type__": "cc.Vec2", 142 | "x": 3, 143 | "y": 0 144 | }, 145 | "_skewX": 0, 146 | "_skewY": 0, 147 | "_localZOrder": 0, 148 | "_globalZOrder": 0, 149 | "_ignoreAnchorPointForPosition": false, 150 | "_tag": -1, 151 | "_opacityModifyRGB": false, 152 | "_id": "8383aLUculNsbEpdRWJRzVn", 153 | "_active": true, 154 | "_components": [ 155 | { 156 | "__id__": 4 157 | } 158 | ], 159 | "_prefab": null 160 | }, 161 | { 162 | "__type__": "cc.Sprite", 163 | "_name": "", 164 | "_objFlags": 0, 165 | "node": { 166 | "__id__": 3 167 | }, 168 | "_enabled": true, 169 | "_spriteFrame": { 170 | "__uuid__": "5339aa3e-ef5b-468d-9d45-11ee01f75718" 171 | }, 172 | "_type": 0, 173 | "_useOriginalSize": false, 174 | "_sizeMode": 0, 175 | "_isTrimmedMode": true, 176 | "_atlas": null 177 | }, 178 | { 179 | "__type__": "cc.Node", 180 | "_name": "animRoot", 181 | "_objFlags": 0, 182 | "_opacity": 255, 183 | "_color": { 184 | "__type__": "cc.Color", 185 | "r": 255, 186 | "g": 255, 187 | "b": 255, 188 | "a": 255 189 | }, 190 | "_cascadeOpacityEnabled": true, 191 | "_parent": { 192 | "__id__": 2 193 | }, 194 | "_anchorPoint": { 195 | "__type__": "cc.Vec2", 196 | "x": 0.5, 197 | "y": 0.5 198 | }, 199 | "_contentSize": { 200 | "__type__": "cc.Size", 201 | "width": 0, 202 | "height": 0 203 | }, 204 | "_children": [ 205 | { 206 | "__id__": 6 207 | }, 208 | { 209 | "__id__": 10 210 | }, 211 | { 212 | "__id__": 14 213 | }, 214 | { 215 | "__id__": 16 216 | }, 217 | { 218 | "__id__": 18 219 | } 220 | ], 221 | "_rotationX": 0, 222 | "_rotationY": 0, 223 | "_scaleX": 1, 224 | "_scaleY": 1, 225 | "_position": { 226 | "__type__": "cc.Vec2", 227 | "x": 0, 228 | "y": 0 229 | }, 230 | "_skewX": 0, 231 | "_skewY": 0, 232 | "_localZOrder": 0, 233 | "_globalZOrder": 0, 234 | "_ignoreAnchorPointForPosition": false, 235 | "_tag": -1, 236 | "_opacityModifyRGB": false, 237 | "_id": "da7ea3cxM9KPLK+ojB15lFC", 238 | "_active": true, 239 | "_components": [ 240 | { 241 | "__id__": 20 242 | } 243 | ], 244 | "_prefab": null 245 | }, 246 | { 247 | "__type__": "cc.Node", 248 | "_name": "monster", 249 | "_objFlags": 0, 250 | "_opacity": 255, 251 | "_color": { 252 | "__type__": "cc.Color", 253 | "r": 255, 254 | "g": 255, 255 | "b": 255, 256 | "a": 255 257 | }, 258 | "_cascadeOpacityEnabled": true, 259 | "_parent": { 260 | "__id__": 5 261 | }, 262 | "_anchorPoint": { 263 | "__type__": "cc.Vec2", 264 | "x": 0.5, 265 | "y": 0.5 266 | }, 267 | "_contentSize": { 268 | "__type__": "cc.Size", 269 | "width": 100, 270 | "height": 154 271 | }, 272 | "_children": [ 273 | { 274 | "__id__": 7 275 | } 276 | ], 277 | "_rotationX": 0, 278 | "_rotationY": 0, 279 | "_scaleX": 1, 280 | "_scaleY": 1, 281 | "_position": { 282 | "__type__": "cc.Vec2", 283 | "x": 243, 284 | "y": -133 285 | }, 286 | "_skewX": 0, 287 | "_skewY": 0, 288 | "_localZOrder": 0, 289 | "_globalZOrder": 0, 290 | "_ignoreAnchorPointForPosition": false, 291 | "_tag": -1, 292 | "_opacityModifyRGB": false, 293 | "_id": "b3c12+ya6RAfKcNJUm/sSKu", 294 | "_active": true, 295 | "_components": [ 296 | { 297 | "__id__": 9 298 | } 299 | ], 300 | "_prefab": null 301 | }, 302 | { 303 | "__type__": "cc.Node", 304 | "_name": "flash", 305 | "_objFlags": 0, 306 | "_opacity": 0, 307 | "_color": { 308 | "__type__": "cc.Color", 309 | "r": 255, 310 | "g": 255, 311 | "b": 255, 312 | "a": 255 313 | }, 314 | "_cascadeOpacityEnabled": true, 315 | "_parent": { 316 | "__id__": 6 317 | }, 318 | "_anchorPoint": { 319 | "__type__": "cc.Vec2", 320 | "x": 0.5, 321 | "y": 0.5 322 | }, 323 | "_contentSize": { 324 | "__type__": "cc.Size", 325 | "width": 100, 326 | "height": 154 327 | }, 328 | "_children": [], 329 | "_rotationX": 0, 330 | "_rotationY": 0, 331 | "_scaleX": 1, 332 | "_scaleY": 1, 333 | "_position": { 334 | "__type__": "cc.Vec2", 335 | "x": 0, 336 | "y": 0 337 | }, 338 | "_skewX": 0, 339 | "_skewY": 0, 340 | "_localZOrder": 0, 341 | "_globalZOrder": 0, 342 | "_ignoreAnchorPointForPosition": false, 343 | "_tag": -1, 344 | "_opacityModifyRGB": false, 345 | "_id": "c25ebsy1mFCHrq2URr6lCF9", 346 | "_active": true, 347 | "_components": [ 348 | { 349 | "__id__": 8 350 | } 351 | ], 352 | "_prefab": null 353 | }, 354 | { 355 | "__type__": "cc.Sprite", 356 | "_name": "", 357 | "_objFlags": 0, 358 | "node": { 359 | "__id__": 7 360 | }, 361 | "_enabled": true, 362 | "_spriteFrame": { 363 | "__uuid__": "37d48a69-f46f-4e20-8aa2-8d8901a49cb1" 364 | }, 365 | "_type": 0, 366 | "_useOriginalSize": true, 367 | "_sizeMode": 1, 368 | "_isTrimmedMode": true, 369 | "_atlas": { 370 | "__uuid__": "b5e8c71e-84d0-4eac-a949-3b98b1a1b8ba" 371 | } 372 | }, 373 | { 374 | "__type__": "cc.Sprite", 375 | "_name": "", 376 | "_objFlags": 0, 377 | "node": { 378 | "__id__": 6 379 | }, 380 | "_enabled": true, 381 | "_spriteFrame": { 382 | "__uuid__": "3d30df1e-8975-4f6e-a760-b0718cbc1318" 383 | }, 384 | "_type": 0, 385 | "_useOriginalSize": true, 386 | "_sizeMode": 1, 387 | "_isTrimmedMode": true, 388 | "_atlas": { 389 | "__uuid__": "b5e8c71e-84d0-4eac-a949-3b98b1a1b8ba" 390 | } 391 | }, 392 | { 393 | "__type__": "cc.Node", 394 | "_name": "hero", 395 | "_objFlags": 0, 396 | "_opacity": 255, 397 | "_color": { 398 | "__type__": "cc.Color", 399 | "r": 255, 400 | "g": 255, 401 | "b": 255, 402 | "a": 255 403 | }, 404 | "_cascadeOpacityEnabled": true, 405 | "_parent": { 406 | "__id__": 5 407 | }, 408 | "_anchorPoint": { 409 | "__type__": "cc.Vec2", 410 | "x": 0.5, 411 | "y": 0.5 412 | }, 413 | "_contentSize": { 414 | "__type__": "cc.Size", 415 | "width": 86, 416 | "height": 186 417 | }, 418 | "_children": [ 419 | { 420 | "__id__": 11 421 | } 422 | ], 423 | "_rotationX": 0, 424 | "_rotationY": 0, 425 | "_scaleX": -1, 426 | "_scaleY": 1, 427 | "_position": { 428 | "__type__": "cc.Vec2", 429 | "x": -144.00000000000006, 430 | "y": -133.00000000000003 431 | }, 432 | "_skewX": 0, 433 | "_skewY": 0, 434 | "_localZOrder": 0, 435 | "_globalZOrder": 0, 436 | "_ignoreAnchorPointForPosition": false, 437 | "_tag": -1, 438 | "_opacityModifyRGB": false, 439 | "_id": "55216vR589GYIxIcYmz9hMP", 440 | "_active": true, 441 | "_components": [ 442 | { 443 | "__id__": 13 444 | } 445 | ], 446 | "_prefab": null 447 | }, 448 | { 449 | "__type__": "cc.Node", 450 | "_name": "flash", 451 | "_objFlags": 0, 452 | "_opacity": 0, 453 | "_color": { 454 | "__type__": "cc.Color", 455 | "r": 255, 456 | "g": 255, 457 | "b": 255, 458 | "a": 255 459 | }, 460 | "_cascadeOpacityEnabled": true, 461 | "_parent": { 462 | "__id__": 10 463 | }, 464 | "_anchorPoint": { 465 | "__type__": "cc.Vec2", 466 | "x": 0.5, 467 | "y": 0.5 468 | }, 469 | "_contentSize": { 470 | "__type__": "cc.Size", 471 | "width": 86, 472 | "height": 186 473 | }, 474 | "_children": [], 475 | "_rotationX": 0, 476 | "_rotationY": 0, 477 | "_scaleX": 1, 478 | "_scaleY": 1, 479 | "_position": { 480 | "__type__": "cc.Vec2", 481 | "x": 0, 482 | "y": 0 483 | }, 484 | "_skewX": 0, 485 | "_skewY": 0, 486 | "_localZOrder": 0, 487 | "_globalZOrder": 0, 488 | "_ignoreAnchorPointForPosition": false, 489 | "_tag": -1, 490 | "_opacityModifyRGB": false, 491 | "_id": "5708frR2eZBmbXDEtx1l/ul", 492 | "_active": true, 493 | "_components": [ 494 | { 495 | "__id__": 12 496 | } 497 | ], 498 | "_prefab": null 499 | }, 500 | { 501 | "__type__": "cc.Sprite", 502 | "_name": "", 503 | "_objFlags": 0, 504 | "node": { 505 | "__id__": 11 506 | }, 507 | "_enabled": true, 508 | "_spriteFrame": { 509 | "__uuid__": "b7e4e380-5b25-42b2-9803-d1c72bf4d832" 510 | }, 511 | "_type": 0, 512 | "_useOriginalSize": true, 513 | "_sizeMode": 1, 514 | "_isTrimmedMode": true, 515 | "_atlas": { 516 | "__uuid__": "b5e8c71e-84d0-4eac-a949-3b98b1a1b8ba" 517 | } 518 | }, 519 | { 520 | "__type__": "cc.Sprite", 521 | "_name": "", 522 | "_objFlags": 0, 523 | "node": { 524 | "__id__": 10 525 | }, 526 | "_enabled": true, 527 | "_spriteFrame": { 528 | "__uuid__": "8557c91f-493f-4bac-9036-d8f9836a3a9a" 529 | }, 530 | "_type": 0, 531 | "_useOriginalSize": true, 532 | "_sizeMode": 1, 533 | "_isTrimmedMode": true, 534 | "_atlas": { 535 | "__uuid__": "b5e8c71e-84d0-4eac-a949-3b98b1a1b8ba" 536 | } 537 | }, 538 | { 539 | "__type__": "cc.Node", 540 | "_name": "fog", 541 | "_objFlags": 0, 542 | "_opacity": 0, 543 | "_color": { 544 | "__type__": "cc.Color", 545 | "r": 255, 546 | "g": 255, 547 | "b": 255, 548 | "a": 255 549 | }, 550 | "_cascadeOpacityEnabled": true, 551 | "_parent": { 552 | "__id__": 5 553 | }, 554 | "_anchorPoint": { 555 | "__type__": "cc.Vec2", 556 | "x": 0, 557 | "y": 0 558 | }, 559 | "_contentSize": { 560 | "__type__": "cc.Size", 561 | "width": 78, 562 | "height": 51 563 | }, 564 | "_children": [], 565 | "_rotationX": 0, 566 | "_rotationY": 0, 567 | "_scaleX": -1, 568 | "_scaleY": 1, 569 | "_position": { 570 | "__type__": "cc.Vec2", 571 | "x": -183, 572 | "y": -236 573 | }, 574 | "_skewX": 0, 575 | "_skewY": 0, 576 | "_localZOrder": 0, 577 | "_globalZOrder": 0, 578 | "_ignoreAnchorPointForPosition": false, 579 | "_tag": -1, 580 | "_opacityModifyRGB": false, 581 | "_id": "65a2cPektJIL73ZmUAN+9ak", 582 | "_active": true, 583 | "_components": [ 584 | { 585 | "__id__": 15 586 | } 587 | ], 588 | "_prefab": null 589 | }, 590 | { 591 | "__type__": "cc.Sprite", 592 | "_name": "", 593 | "_objFlags": 0, 594 | "node": { 595 | "__id__": 14 596 | }, 597 | "_enabled": true, 598 | "_spriteFrame": { 599 | "__uuid__": "bdecb14b-c9ca-4302-bcc1-5d64c0c2c18e" 600 | }, 601 | "_type": 0, 602 | "_useOriginalSize": true, 603 | "_sizeMode": 1, 604 | "_isTrimmedMode": true, 605 | "_atlas": { 606 | "__uuid__": "b5e8c71e-84d0-4eac-a949-3b98b1a1b8ba" 607 | } 608 | }, 609 | { 610 | "__type__": "cc.Node", 611 | "_name": "blood", 612 | "_objFlags": 0, 613 | "_opacity": 0, 614 | "_color": { 615 | "__type__": "cc.Color", 616 | "r": 255, 617 | "g": 255, 618 | "b": 255, 619 | "a": 255 620 | }, 621 | "_cascadeOpacityEnabled": true, 622 | "_parent": { 623 | "__id__": 5 624 | }, 625 | "_anchorPoint": { 626 | "__type__": "cc.Vec2", 627 | "x": 0, 628 | "y": 0.5 629 | }, 630 | "_contentSize": { 631 | "__type__": "cc.Size", 632 | "width": 85, 633 | "height": 71 634 | }, 635 | "_children": [], 636 | "_rotationX": 0, 637 | "_rotationY": 0, 638 | "_scaleX": 1, 639 | "_scaleY": 1, 640 | "_position": { 641 | "__type__": "cc.Vec2", 642 | "x": 237.3, 643 | "y": -108.4 644 | }, 645 | "_skewX": 0, 646 | "_skewY": 0, 647 | "_localZOrder": 0, 648 | "_globalZOrder": 0, 649 | "_ignoreAnchorPointForPosition": false, 650 | "_tag": -1, 651 | "_opacityModifyRGB": false, 652 | "_id": "f5af2/OJoBDephSo+PiwsuD", 653 | "_active": true, 654 | "_components": [ 655 | { 656 | "__id__": 17 657 | } 658 | ], 659 | "_prefab": null 660 | }, 661 | { 662 | "__type__": "cc.Sprite", 663 | "_name": "", 664 | "_objFlags": 0, 665 | "node": { 666 | "__id__": 16 667 | }, 668 | "_enabled": true, 669 | "_spriteFrame": { 670 | "__uuid__": "905b0434-ce95-4789-a485-71e04530827c" 671 | }, 672 | "_type": 0, 673 | "_useOriginalSize": true, 674 | "_sizeMode": 1, 675 | "_isTrimmedMode": true, 676 | "_atlas": { 677 | "__uuid__": "462b9fb5-8e3c-4fc0-a7ce-e9a4a7d429c7" 678 | } 679 | }, 680 | { 681 | "__type__": "cc.Node", 682 | "_name": "slash", 683 | "_objFlags": 0, 684 | "_opacity": 0, 685 | "_color": { 686 | "__type__": "cc.Color", 687 | "r": 255, 688 | "g": 255, 689 | "b": 255, 690 | "a": 255 691 | }, 692 | "_cascadeOpacityEnabled": true, 693 | "_parent": { 694 | "__id__": 5 695 | }, 696 | "_anchorPoint": { 697 | "__type__": "cc.Vec2", 698 | "x": 0.5, 699 | "y": 0.5 700 | }, 701 | "_contentSize": { 702 | "__type__": "cc.Size", 703 | "width": 180, 704 | "height": 24 705 | }, 706 | "_children": [], 707 | "_rotationX": 0, 708 | "_rotationY": 0, 709 | "_scaleX": 1.5, 710 | "_scaleY": 1.5, 711 | "_position": { 712 | "__type__": "cc.Vec2", 713 | "x": 244, 714 | "y": -125 715 | }, 716 | "_skewX": 0, 717 | "_skewY": 0, 718 | "_localZOrder": 0, 719 | "_globalZOrder": 0, 720 | "_ignoreAnchorPointForPosition": false, 721 | "_tag": -1, 722 | "_opacityModifyRGB": false, 723 | "_id": "43094sqJNRE771HutlwTsOr", 724 | "_active": true, 725 | "_components": [ 726 | { 727 | "__id__": 19 728 | } 729 | ], 730 | "_prefab": null 731 | }, 732 | { 733 | "__type__": "cc.Sprite", 734 | "_name": "", 735 | "_objFlags": 0, 736 | "node": { 737 | "__id__": 18 738 | }, 739 | "_enabled": true, 740 | "_spriteFrame": { 741 | "__uuid__": "2e51dae6-8e3a-46e7-8912-5691b9969d36" 742 | }, 743 | "_type": 0, 744 | "_useOriginalSize": true, 745 | "_sizeMode": 1, 746 | "_isTrimmedMode": true, 747 | "_atlas": { 748 | "__uuid__": "462b9fb5-8e3c-4fc0-a7ce-e9a4a7d429c7" 749 | } 750 | }, 751 | { 752 | "__type__": "cc.Animation", 753 | "_name": "", 754 | "_objFlags": 0, 755 | "node": { 756 | "__id__": 5 757 | }, 758 | "_enabled": true, 759 | "_defaultClip": { 760 | "__uuid__": "3b2f9179-e290-4907-96a7-70a40054514a" 761 | }, 762 | "_clips": [ 763 | { 764 | "__uuid__": "3b2f9179-e290-4907-96a7-70a40054514a" 765 | } 766 | ], 767 | "playOnLoad": true 768 | }, 769 | { 770 | "__type__": "cc.Node", 771 | "_name": "counter", 772 | "_objFlags": 0, 773 | "_opacity": 255, 774 | "_color": { 775 | "__type__": "cc.Color", 776 | "r": 245, 777 | "g": 197, 778 | "b": 27, 779 | "a": 255 780 | }, 781 | "_cascadeOpacityEnabled": true, 782 | "_parent": { 783 | "__id__": 2 784 | }, 785 | "_anchorPoint": { 786 | "__type__": "cc.Vec2", 787 | "x": 0, 788 | "y": 0.5 789 | }, 790 | "_contentSize": { 791 | "__type__": "cc.Size", 792 | "width": 128, 793 | "height": 128 794 | }, 795 | "_children": [ 796 | { 797 | "__id__": 22 798 | } 799 | ], 800 | "_rotationX": 0, 801 | "_rotationY": 0, 802 | "_scaleX": 1, 803 | "_scaleY": 1, 804 | "_position": { 805 | "__type__": "cc.Vec2", 806 | "x": 7, 807 | "y": 14 808 | }, 809 | "_skewX": 0, 810 | "_skewY": 0, 811 | "_localZOrder": 0, 812 | "_globalZOrder": 0, 813 | "_ignoreAnchorPointForPosition": false, 814 | "_tag": -1, 815 | "_opacityModifyRGB": false, 816 | "_id": "22e2cfNzNNIa7/v2cETI+fE", 817 | "_active": true, 818 | "_components": [ 819 | { 820 | "__id__": 24 821 | }, 822 | { 823 | "__id__": 25 824 | }, 825 | { 826 | "__id__": 26 827 | } 828 | ], 829 | "_prefab": null 830 | }, 831 | { 832 | "__type__": "cc.Node", 833 | "_name": "num", 834 | "_objFlags": 0, 835 | "_opacity": 255, 836 | "_color": { 837 | "__type__": "cc.Color", 838 | "r": 255, 839 | "g": 255, 840 | "b": 255, 841 | "a": 255 842 | }, 843 | "_cascadeOpacityEnabled": true, 844 | "_parent": { 845 | "__id__": 21 846 | }, 847 | "_anchorPoint": { 848 | "__type__": "cc.Vec2", 849 | "x": 1, 850 | "y": 0.5 851 | }, 852 | "_contentSize": { 853 | "__type__": "cc.Size", 854 | "width": 40.5, 855 | "height": 90 856 | }, 857 | "_children": [], 858 | "_rotationX": 0, 859 | "_rotationY": 0, 860 | "_scaleX": 1, 861 | "_scaleY": 1, 862 | "_position": { 863 | "__type__": "cc.Vec2", 864 | "x": -7, 865 | "y": -14 866 | }, 867 | "_skewX": 0, 868 | "_skewY": 0, 869 | "_localZOrder": 0, 870 | "_globalZOrder": 0, 871 | "_ignoreAnchorPointForPosition": false, 872 | "_tag": -1, 873 | "_opacityModifyRGB": false, 874 | "_id": "7392463/A5Bg6wKnfpZatlG", 875 | "_active": true, 876 | "_components": [ 877 | { 878 | "__id__": 23 879 | } 880 | ], 881 | "_prefab": null 882 | }, 883 | { 884 | "__type__": "cc.Label", 885 | "_name": "", 886 | "_objFlags": 0, 887 | "node": { 888 | "__id__": 22 889 | }, 890 | "_enabled": true, 891 | "_useOriginalSize": false, 892 | "_fontSize": 60, 893 | "_lineHeight": 60, 894 | "_enableWrapText": false, 895 | "_isSystemFontUsed": false, 896 | "_N$string": "0", 897 | "_N$horizontalAlign": 2, 898 | "_N$verticalAlign": 1, 899 | "_N$overflow": 0, 900 | "_N$file": { 901 | "__uuid__": "d16a0b13-a8c4-4063-a965-1df6c0fcb6c9" 902 | } 903 | }, 904 | { 905 | "__type__": "cc.Label", 906 | "_name": "", 907 | "_objFlags": 0, 908 | "node": { 909 | "__id__": 21 910 | }, 911 | "_enabled": true, 912 | "_useOriginalSize": false, 913 | "_fontSize": 50, 914 | "_lineHeight": 50, 915 | "_enableWrapText": false, 916 | "_isSystemFontUsed": false, 917 | "_N$string": "Hits", 918 | "_N$horizontalAlign": 1, 919 | "_N$verticalAlign": 1, 920 | "_N$overflow": 0, 921 | "_N$file": { 922 | "__uuid__": "69ef5fa7-ad7c-450e-82fa-92cb26f1d068" 923 | } 924 | }, 925 | { 926 | "__type__": "cc.Animation", 927 | "_name": "", 928 | "_objFlags": 0, 929 | "node": { 930 | "__id__": 21 931 | }, 932 | "_enabled": true, 933 | "_defaultClip": { 934 | "__uuid__": "530ee1e3-321b-4c03-a3ca-e523c3f6c9b8" 935 | }, 936 | "_clips": [ 937 | { 938 | "__uuid__": "530ee1e3-321b-4c03-a3ca-e523c3f6c9b8" 939 | } 940 | ], 941 | "playOnLoad": true 942 | }, 943 | { 944 | "__type__": "a62162kHIFHHLJ0FnysQ72d", 945 | "_name": "", 946 | "_objFlags": 0, 947 | "node": { 948 | "__id__": 21 949 | }, 950 | "_enabled": true, 951 | "counter": { 952 | "__id__": 23 953 | }, 954 | "num": 0, 955 | "isCounting": true 956 | }, 957 | { 958 | "__type__": "cc.Canvas", 959 | "_name": "", 960 | "_objFlags": 1835008, 961 | "node": { 962 | "__id__": 2 963 | }, 964 | "_enabled": true, 965 | "_designResolution": { 966 | "__type__": "cc.Size", 967 | "width": 960, 968 | "height": 640 969 | }, 970 | "_fitWidth": false, 971 | "_fitHeight": true 972 | } 973 | ] -------------------------------------------------------------------------------- /assets/scene/animation_test.fire.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "406d00ab-1f03-49b6-98f5-e9dcda2232d4", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/scene/player_test.fire: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.SceneAsset", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_rawFiles": null, 7 | "scene": { 8 | "__id__": 1 9 | } 10 | }, 11 | { 12 | "__type__": "cc.Scene", 13 | "_name": "", 14 | "_objFlags": 0, 15 | "_opacity": 255, 16 | "_color": { 17 | "__type__": "cc.Color", 18 | "r": 255, 19 | "g": 255, 20 | "b": 255, 21 | "a": 255 22 | }, 23 | "_cascadeOpacityEnabled": true, 24 | "_parent": null, 25 | "_anchorPoint": { 26 | "__type__": "cc.Vec2", 27 | "x": 0, 28 | "y": 0 29 | }, 30 | "_contentSize": { 31 | "__type__": "cc.Size", 32 | "width": 0, 33 | "height": 0 34 | }, 35 | "_children": [ 36 | { 37 | "__id__": 2 38 | } 39 | ], 40 | "_localZOrder": 0, 41 | "_globalZOrder": 0, 42 | "_tag": -1, 43 | "_opacityModifyRGB": false, 44 | "_id": "138e9Dq3pxHR4pud02g232g" 45 | }, 46 | { 47 | "__type__": "cc.Node", 48 | "_name": "Canvas", 49 | "_objFlags": 0, 50 | "_opacity": 255, 51 | "_color": { 52 | "__type__": "cc.Color", 53 | "r": 255, 54 | "g": 255, 55 | "b": 255, 56 | "a": 255 57 | }, 58 | "_cascadeOpacityEnabled": true, 59 | "_parent": { 60 | "__id__": 1 61 | }, 62 | "_anchorPoint": { 63 | "__type__": "cc.Vec2", 64 | "x": 0.5, 65 | "y": 0.5 66 | }, 67 | "_contentSize": { 68 | "__type__": "cc.Size", 69 | "width": 960, 70 | "height": 640 71 | }, 72 | "_children": [ 73 | { 74 | "__id__": 3 75 | } 76 | ], 77 | "_rotationX": 0, 78 | "_rotationY": 0, 79 | "_scaleX": 1, 80 | "_scaleY": 1, 81 | "_position": { 82 | "__type__": "cc.Vec2", 83 | "x": 480, 84 | "y": 320 85 | }, 86 | "_skewX": 0, 87 | "_skewY": 0, 88 | "_localZOrder": 0, 89 | "_globalZOrder": 0, 90 | "_tag": -1, 91 | "_opacityModifyRGB": false, 92 | "_id": "838d7r6UKZImJnM4J73/5C2", 93 | "_active": true, 94 | "_components": [ 95 | { 96 | "__id__": 15 97 | } 98 | ], 99 | "_prefab": null 100 | }, 101 | { 102 | "__type__": "cc.Node", 103 | "_name": "player", 104 | "_objFlags": 0, 105 | "_opacity": 255, 106 | "_color": { 107 | "__type__": "cc.Color", 108 | "r": 255, 109 | "g": 255, 110 | "b": 255, 111 | "a": 255 112 | }, 113 | "_cascadeOpacityEnabled": true, 114 | "_parent": { 115 | "__id__": 2 116 | }, 117 | "_anchorPoint": { 118 | "__type__": "cc.Vec2", 119 | "x": 0.5, 120 | "y": 0.5 121 | }, 122 | "_contentSize": { 123 | "__type__": "cc.Size", 124 | "width": 0, 125 | "height": 0 126 | }, 127 | "_children": [ 128 | { 129 | "__id__": 4 130 | }, 131 | { 132 | "__id__": 6 133 | }, 134 | { 135 | "__id__": 8 136 | } 137 | ], 138 | "_rotationX": 0, 139 | "_rotationY": 0, 140 | "_scaleX": 1, 141 | "_scaleY": 1, 142 | "_position": { 143 | "__type__": "cc.Vec2", 144 | "x": 0, 145 | "y": 0 146 | }, 147 | "_skewX": 0, 148 | "_skewY": 0, 149 | "_localZOrder": 0, 150 | "_globalZOrder": 0, 151 | "_tag": -1, 152 | "_opacityModifyRGB": false, 153 | "_id": "7c35djL4QZL7r1L9JiMQRdj", 154 | "_active": true, 155 | "_components": [], 156 | "_prefab": null 157 | }, 158 | { 159 | "__type__": "cc.Node", 160 | "_name": "shadow", 161 | "_objFlags": 0, 162 | "_opacity": 197, 163 | "_color": { 164 | "__type__": "cc.Color", 165 | "r": 0, 166 | "g": 0, 167 | "b": 0, 168 | "a": 255 169 | }, 170 | "_cascadeOpacityEnabled": true, 171 | "_parent": { 172 | "__id__": 3 173 | }, 174 | "_anchorPoint": { 175 | "__type__": "cc.Vec2", 176 | "x": 0.5, 177 | "y": 0.5 178 | }, 179 | "_contentSize": { 180 | "__type__": "cc.Size", 181 | "width": 248, 182 | "height": 248 183 | }, 184 | "_children": [], 185 | "_rotationX": 0, 186 | "_rotationY": 0, 187 | "_scaleX": 0.7, 188 | "_scaleY": 0.3, 189 | "_position": { 190 | "__type__": "cc.Vec2", 191 | "x": 7, 192 | "y": -96 193 | }, 194 | "_skewX": 0, 195 | "_skewY": 0, 196 | "_localZOrder": 0, 197 | "_globalZOrder": 0, 198 | "_tag": -1, 199 | "_opacityModifyRGB": false, 200 | "_id": "84ff1urw3dNyZ3y5yBZKxwu", 201 | "_active": true, 202 | "_components": [ 203 | { 204 | "__id__": 5 205 | } 206 | ], 207 | "_prefab": null 208 | }, 209 | { 210 | "__type__": "cc.Sprite", 211 | "_name": "", 212 | "_objFlags": 0, 213 | "node": { 214 | "__id__": 4 215 | }, 216 | "_enabled": true, 217 | "_spriteFrame": { 218 | "__uuid__": "b13c13ad-5620-4c1d-8418-92bcd4004a3b" 219 | }, 220 | "_type": 0, 221 | "_useOriginalSize": true, 222 | "_sizeMode": 1, 223 | "_fillType": 0, 224 | "_fillCenter": { 225 | "__type__": "cc.Vec2", 226 | "x": 0, 227 | "y": 0 228 | }, 229 | "_fillStart": 0, 230 | "_fillRange": 0, 231 | "_isTrimmedMode": true, 232 | "_atlas": null 233 | }, 234 | { 235 | "__type__": "cc.Node", 236 | "_name": "body", 237 | "_objFlags": 0, 238 | "_opacity": 255, 239 | "_color": { 240 | "__type__": "cc.Color", 241 | "r": 255, 242 | "g": 255, 243 | "b": 255, 244 | "a": 255 245 | }, 246 | "_cascadeOpacityEnabled": true, 247 | "_parent": { 248 | "__id__": 3 249 | }, 250 | "_anchorPoint": { 251 | "__type__": "cc.Vec2", 252 | "x": 0.5, 253 | "y": 0.5 254 | }, 255 | "_contentSize": { 256 | "__type__": "cc.Size", 257 | "width": 86, 258 | "height": 186 259 | }, 260 | "_children": [], 261 | "_rotationX": 0, 262 | "_rotationY": 0, 263 | "_scaleX": 1, 264 | "_scaleY": 1, 265 | "_position": { 266 | "__type__": "cc.Vec2", 267 | "x": 0, 268 | "y": 0 269 | }, 270 | "_skewX": 0, 271 | "_skewY": 0, 272 | "_localZOrder": 0, 273 | "_globalZOrder": 0, 274 | "_tag": -1, 275 | "_opacityModifyRGB": false, 276 | "_id": "4d6c9wnrS1GTZTgOIte6Psg", 277 | "_active": true, 278 | "_components": [ 279 | { 280 | "__id__": 7 281 | } 282 | ], 283 | "_prefab": null 284 | }, 285 | { 286 | "__type__": "cc.Sprite", 287 | "_name": "", 288 | "_objFlags": 0, 289 | "node": { 290 | "__id__": 6 291 | }, 292 | "_enabled": true, 293 | "_spriteFrame": { 294 | "__uuid__": "8557c91f-493f-4bac-9036-d8f9836a3a9a" 295 | }, 296 | "_type": 0, 297 | "_useOriginalSize": true, 298 | "_sizeMode": 1, 299 | "_fillType": 0, 300 | "_fillCenter": { 301 | "__type__": "cc.Vec2", 302 | "x": 0, 303 | "y": 0 304 | }, 305 | "_fillStart": 0, 306 | "_fillRange": 0, 307 | "_isTrimmedMode": true, 308 | "_atlas": { 309 | "__uuid__": "b5e8c71e-84d0-4eac-a949-3b98b1a1b8ba" 310 | } 311 | }, 312 | { 313 | "__type__": "cc.Node", 314 | "_name": "HPBar", 315 | "_objFlags": 0, 316 | "_opacity": 255, 317 | "_color": { 318 | "__type__": "cc.Color", 319 | "r": 255, 320 | "g": 255, 321 | "b": 255, 322 | "a": 255 323 | }, 324 | "_cascadeOpacityEnabled": true, 325 | "_parent": { 326 | "__id__": 3 327 | }, 328 | "_anchorPoint": { 329 | "__type__": "cc.Vec2", 330 | "x": 0.5, 331 | "y": 0.5 332 | }, 333 | "_contentSize": { 334 | "__type__": "cc.Size", 335 | "width": 75, 336 | "height": 12 337 | }, 338 | "_children": [ 339 | { 340 | "__id__": 9 341 | }, 342 | { 343 | "__id__": 11 344 | } 345 | ], 346 | "_rotationX": 0, 347 | "_rotationY": 0, 348 | "_scaleX": 1, 349 | "_scaleY": 1, 350 | "_position": { 351 | "__type__": "cc.Vec2", 352 | "x": 19, 353 | "y": 103 354 | }, 355 | "_skewX": 0, 356 | "_skewY": 0, 357 | "_localZOrder": 0, 358 | "_globalZOrder": 0, 359 | "_tag": -1, 360 | "_opacityModifyRGB": false, 361 | "_id": "f0696ZMNSdFoLP6Op2119Tt", 362 | "_active": true, 363 | "_components": [ 364 | { 365 | "__id__": 13 366 | }, 367 | { 368 | "__id__": 14 369 | } 370 | ], 371 | "_prefab": null 372 | }, 373 | { 374 | "__type__": "cc.Node", 375 | "_name": "bar", 376 | "_objFlags": 0, 377 | "_opacity": 255, 378 | "_color": { 379 | "__type__": "cc.Color", 380 | "r": 255, 381 | "g": 255, 382 | "b": 255, 383 | "a": 255 384 | }, 385 | "_cascadeOpacityEnabled": true, 386 | "_parent": { 387 | "__id__": 8 388 | }, 389 | "_anchorPoint": { 390 | "__type__": "cc.Vec2", 391 | "x": 0.5, 392 | "y": 0.5 393 | }, 394 | "_contentSize": { 395 | "__type__": "cc.Size", 396 | "width": 71.7, 397 | "height": 12 398 | }, 399 | "_children": [], 400 | "_rotationX": 0, 401 | "_rotationY": 0, 402 | "_scaleX": 1, 403 | "_scaleY": 0.8, 404 | "_position": { 405 | "__type__": "cc.Vec2", 406 | "x": 0, 407 | "y": 0 408 | }, 409 | "_skewX": 0, 410 | "_skewY": 0, 411 | "_localZOrder": 0, 412 | "_globalZOrder": 0, 413 | "_tag": -1, 414 | "_opacityModifyRGB": false, 415 | "_id": "aa474qUe/RLsbJIhhoPzROl", 416 | "_active": true, 417 | "_components": [ 418 | { 419 | "__id__": 10 420 | } 421 | ], 422 | "_prefab": null 423 | }, 424 | { 425 | "__type__": "cc.Sprite", 426 | "_name": "", 427 | "_objFlags": 0, 428 | "node": { 429 | "__id__": 9 430 | }, 431 | "_enabled": true, 432 | "_spriteFrame": { 433 | "__uuid__": "9e9a5fb3-ecfc-4398-845b-d2f9faff9ea7" 434 | }, 435 | "_type": 3, 436 | "_useOriginalSize": true, 437 | "_sizeMode": 0, 438 | "_fillType": 0, 439 | "_fillCenter": { 440 | "__type__": "cc.Vec2", 441 | "x": 0, 442 | "y": 0 443 | }, 444 | "_fillStart": 0, 445 | "_fillRange": 1, 446 | "_isTrimmedMode": true, 447 | "_atlas": null 448 | }, 449 | { 450 | "__type__": "cc.Node", 451 | "_name": "txtHP", 452 | "_objFlags": 0, 453 | "_opacity": 255, 454 | "_color": { 455 | "__type__": "cc.Color", 456 | "r": 255, 457 | "g": 255, 458 | "b": 255, 459 | "a": 255 460 | }, 461 | "_cascadeOpacityEnabled": true, 462 | "_parent": { 463 | "__id__": 8 464 | }, 465 | "_anchorPoint": { 466 | "__type__": "cc.Vec2", 467 | "x": 0.5, 468 | "y": 0.5 469 | }, 470 | "_contentSize": { 471 | "__type__": "cc.Size", 472 | "width": 36.75, 473 | "height": 22.5 474 | }, 475 | "_children": [], 476 | "_rotationX": 0, 477 | "_rotationY": 0, 478 | "_scaleX": 1, 479 | "_scaleY": 1, 480 | "_position": { 481 | "__type__": "cc.Vec2", 482 | "x": -58, 483 | "y": 4 484 | }, 485 | "_skewX": 0, 486 | "_skewY": 0, 487 | "_localZOrder": 0, 488 | "_globalZOrder": 0, 489 | "_tag": -1, 490 | "_opacityModifyRGB": false, 491 | "_id": "51df1Kez+BEDqlYC86hpXS3", 492 | "_active": true, 493 | "_components": [ 494 | { 495 | "__id__": 12 496 | } 497 | ], 498 | "_prefab": null 499 | }, 500 | { 501 | "__type__": "cc.Label", 502 | "_name": "", 503 | "_objFlags": 0, 504 | "node": { 505 | "__id__": 11 506 | }, 507 | "_enabled": true, 508 | "_useOriginalSize": false, 509 | "_fontSize": 30, 510 | "_lineHeight": 30, 511 | "_enableWrapText": true, 512 | "_isSystemFontUsed": false, 513 | "_N$string": "HP", 514 | "_N$horizontalAlign": 1, 515 | "_N$verticalAlign": 1, 516 | "_N$overflow": 0, 517 | "_N$file": { 518 | "__uuid__": "d16a0b13-a8c4-4063-a965-1df6c0fcb6c9" 519 | } 520 | }, 521 | { 522 | "__type__": "cc.Sprite", 523 | "_name": "", 524 | "_objFlags": 0, 525 | "node": { 526 | "__id__": 8 527 | }, 528 | "_enabled": true, 529 | "_spriteFrame": { 530 | "__uuid__": "1e3a6622-56e6-44d2-9e88-5c3c4c844732" 531 | }, 532 | "_type": 0, 533 | "_useOriginalSize": true, 534 | "_sizeMode": 0, 535 | "_fillType": 0, 536 | "_fillCenter": { 537 | "__type__": "cc.Vec2", 538 | "x": 0, 539 | "y": 0 540 | }, 541 | "_fillStart": 0, 542 | "_fillRange": 0, 543 | "_isTrimmedMode": true, 544 | "_atlas": null 545 | }, 546 | { 547 | "__type__": "cc.ProgressBar", 548 | "_name": "", 549 | "_objFlags": 0, 550 | "node": { 551 | "__id__": 8 552 | }, 553 | "_enabled": true, 554 | "_N$barSprite": { 555 | "__id__": 10 556 | }, 557 | "_N$mode": 2, 558 | "_N$totalLength": 1, 559 | "_N$progress": 1, 560 | "_N$reverse": false 561 | }, 562 | { 563 | "__type__": "cc.Canvas", 564 | "_name": "", 565 | "_objFlags": 1835008, 566 | "node": { 567 | "__id__": 2 568 | }, 569 | "_enabled": true, 570 | "_designResolution": { 571 | "__type__": "cc.Size", 572 | "width": 960, 573 | "height": 640 574 | }, 575 | "_fitWidth": false, 576 | "_fitHeight": true 577 | } 578 | ] -------------------------------------------------------------------------------- /assets/scene/player_test.fire.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "ae9034c3-181f-4257-b0d6-a4b8a5f08610", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/script.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "05e3e303-28ec-4a84-a9ac-851ab95ecbb1", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/script/Counter.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | counter: cc.Label, 6 | num: 0, 7 | isCounting: false 8 | }, 9 | 10 | // use this for initialization 11 | onLoad: function () { 12 | 13 | }, 14 | 15 | // called every frame, uncomment this function to activate update callback 16 | update: function (dt) { 17 | if (this.isCounting) { 18 | this.counter.string = Math.floor(this.num); 19 | } 20 | }, 21 | }); 22 | -------------------------------------------------------------------------------- /assets/script/Counter.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "a6216da4-1c81-471c-b274-167cac43bd9d", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/texture.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "4efa6c4b-8bbd-45f2-b57b-0578a9c3fd32", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/texture/HP_Bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/texture/HP_Bar.png -------------------------------------------------------------------------------- /assets/texture/HP_Bar.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "6be6b24b-3cd5-4a6a-a62d-bea71f189eb6", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "HP_Bar": { 9 | "ver": "1.0.2", 10 | "uuid": "9e9a5fb3-ecfc-4398-845b-d2f9faff9ea7", 11 | "rawTextureUuid": "6be6b24b-3cd5-4a6a-a62d-bea71f189eb6", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 3, 18 | "trimY": 3, 19 | "width": 75, 20 | "height": 12, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/texture/background.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "d195bb37-1871-4122-9b37-035b1f24bff6", 4 | "subMetas": {} 5 | } -------------------------------------------------------------------------------- /assets/texture/background/004.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/texture/background/004.jpg -------------------------------------------------------------------------------- /assets/texture/background/004.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "f15f1b59-39fe-4cef-bf8b-cbe77f361c5d", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "004": { 9 | "ver": "1.0.2", 10 | "uuid": "5339aa3e-ef5b-468d-9d45-11ee01f75718", 11 | "rawTextureUuid": "f15f1b59-39fe-4cef-bf8b-cbe77f361c5d", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 0, 18 | "trimY": 0, 19 | "width": 512, 20 | "height": 512, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/texture/background/005.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/texture/background/005.jpg -------------------------------------------------------------------------------- /assets/texture/background/005.jpg.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "c818cde9-c6c8-439d-b0c7-3cf5f1232af3", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "005": { 9 | "ver": "1.0.2", 10 | "uuid": "ddf47be2-3ace-4431-aabf-a79a4fcb4b2b", 11 | "rawTextureUuid": "c818cde9-c6c8-439d-b0c7-3cf5f1232af3", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 0, 18 | "trimY": 0, 19 | "width": 512, 20 | "height": 512, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/texture/progressBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/texture/progressBar.png -------------------------------------------------------------------------------- /assets/texture/progressBar.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "ac6b2174-f8a3-4379-9349-e4eae2569510", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "progressBar": { 9 | "ver": "1.0.2", 10 | "uuid": "1e3a6622-56e6-44d2-9e88-5c3c4c844732", 11 | "rawTextureUuid": "ac6b2174-f8a3-4379-9349-e4eae2569510", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 0, 18 | "trimY": 0, 19 | "width": 81, 20 | "height": 18, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/texture/shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/texture/shadow.png -------------------------------------------------------------------------------- /assets/texture/shadow.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "25e93864-03bf-4adf-ac50-4631e73f59b2", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "shadow": { 9 | "ver": "1.0.2", 10 | "uuid": "b13c13ad-5620-4c1d-8418-92bcd4004a3b", 11 | "rawTextureUuid": "25e93864-03bf-4adf-ac50-4631e73f59b2", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 6, 18 | "trimY": 6, 19 | "width": 248, 20 | "height": 248, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /assets/texture/txt_hit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cocos-creator/example-combat-animation-deprecated/a499b3f92bedaf6d3ebcac0eedfecac7ee7355fd/assets/texture/txt_hit.png -------------------------------------------------------------------------------- /assets/texture/txt_hit.png.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.0", 3 | "uuid": "bc3b67cd-3441-4973-8351-1024738155ea", 4 | "type": "sprite", 5 | "wrapMode": "clamp", 6 | "filterMode": "bilinear", 7 | "subMetas": { 8 | "txt_hit": { 9 | "ver": "1.0.2", 10 | "uuid": "a672d9b7-1807-4a97-97a8-d7c1e6ab8eb0", 11 | "rawTextureUuid": "bc3b67cd-3441-4973-8351-1024738155ea", 12 | "trimType": "auto", 13 | "trimThreshold": 1, 14 | "rotated": false, 15 | "offsetX": 0, 16 | "offsetY": 0, 17 | "trimX": 0, 18 | "trimY": 0, 19 | "width": 48, 20 | "height": 27, 21 | "borderTop": 0, 22 | "borderBottom": 0, 23 | "borderLeft": 0, 24 | "borderRight": 0, 25 | "subMetas": {} 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /project.json: -------------------------------------------------------------------------------- 1 | { 2 | "engine": "cocos2d-html5", 3 | "packages": "packages" 4 | } -------------------------------------------------------------------------------- /scripts/Behaviors.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "084e240b-a70a-43d3-847a-da1b2686cbcd", 4 | "asset-type": "folder" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/AssetMng.js: -------------------------------------------------------------------------------- 1 | var AssetMng = Fire.Class({ 2 | extends: Fire.Behavior, 3 | properties: { 4 | fighterAtlasAsset: { 5 | default: "", 6 | url: Runtime.SpriteAtlas 7 | }, 8 | fighterAtlasTex: { 9 | default: "", 10 | url: Fire.Texture 11 | }, 12 | fxAtlasAsset: { 13 | default: "", 14 | url: Runtime.SpriteAtlas 15 | }, 16 | fxAtlasTex: { 17 | default: "", 18 | url: Fire.Texture 19 | }, 20 | fighterJson: { 21 | default: "", 22 | url: Fire.RawAsset 23 | }, 24 | levelJson: { 25 | default: "", 26 | url: Fire.RawAsset 27 | } 28 | }, 29 | init: function(cb) { 30 | AssetMng.instance = this; 31 | this.fighterDB = {}; 32 | this.levelDB = {}; 33 | this._loadJson(cb); 34 | if (this.fighterAtlasAsset) { 35 | cc.spriteFrameCache.addSpriteFrames(this.fighterAtlasAsset); 36 | } 37 | if (this.fxAtlasAsset) { 38 | cc.spriteFrameCache.addSpriteFrames(this.fxAtlasAsset); 39 | } 40 | }, 41 | _loadJson: function(cb) { 42 | var count = 2; 43 | cc.loader.loadJson(this.fighterJson, function(error, data){ 44 | for (var i = 0; i < data.length; ++i) { 45 | if (data[i].id === "") break; 46 | this.fighterDB[data[i].id] = data[i]; 47 | } 48 | if (--count <= 0) { 49 | cb(); 50 | } 51 | }.bind(this)); 52 | cc.loader.loadJson(this.levelJson, function(error, data){ 53 | for (var i = 0; i < data.length; ++i) { 54 | if (data[i].levelID === "") break; 55 | this.levelDB[data[i].levelID] = data[i]; 56 | } 57 | if (--count <= 0) { 58 | cb(); 59 | } 60 | }.bind(this)); 61 | }, 62 | getFighterInfo: function (id) { 63 | return this.fighterDB[id]; 64 | }, 65 | getLevelInfo: function(id) { 66 | return this.levelDB[id]; 67 | }, 68 | getLevelEnemyInfo: function(levelID, enemyIndex) { 69 | var level = this.getLevelInfo(levelID); 70 | var enemyID = level['enemy' + (enemyIndex + 1).toString()]; 71 | return this.getFighterInfo(enemyID); 72 | }, 73 | getLevelModifier: function(levelID) { 74 | var level = this.getLevelInfo(levelID); 75 | return { hpMod: +level.hpMod, atkMod: +level.atkMod }; 76 | } 77 | }); 78 | -------------------------------------------------------------------------------- /scripts/Behaviors/AssetMng.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "ed2629b6-d04e-479f-8569-5f11c229d09c", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/AudioMng.js: -------------------------------------------------------------------------------- 1 | var AudioMng = Fire.Class({ 2 | extends: Fire.Behavior, 3 | properties: { 4 | bgmAsset: { 5 | default: '', 6 | url: Fire.AudioClip, 7 | }, 8 | missSFX: { 9 | default: '', 10 | url: Fire.AudioClip, 11 | }, 12 | hitSFX: { 13 | default: '', 14 | url: Fire.AudioClip, 15 | }, 16 | goodSFX: { 17 | default: '', 18 | url: Fire.AudioClip, 19 | }, 20 | perfectSFX: { 21 | default: '', 22 | url: Fire.AudioClip, 23 | }, 24 | attackSFX: { 25 | default: '', 26 | url: Fire.AudioClip, 27 | } 28 | }, 29 | onLoad: function() { 30 | AudioMng.instance = this; 31 | if ( !cc.audioEngine.isMusicPlaying() ) { 32 | cc.audioEngine.playMusic( this.bgmAsset, true ); 33 | } 34 | }, 35 | playMiss: function() { 36 | cc.audioEngine.playEffect( this.missSFX, false ); 37 | }, 38 | playHit: function() { 39 | cc.audioEngine.playEffect( this.hitSFX, false ); 40 | }, 41 | playGood: function() { 42 | cc.audioEngine.playEffect( this.goodSFX, false ); 43 | }, 44 | playPerfect: function() { 45 | cc.audioEngine.playEffect( this.perfectSFX, false ); 46 | }, 47 | playAttack: function() { 48 | cc.audioEngine.playEffect( this.attackSFX, false ); 49 | } 50 | }); 51 | -------------------------------------------------------------------------------- /scripts/Behaviors/AudioMng.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "acc523c8-7af5-499d-8bbe-cdc47ce171c9", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/BattleMng.js: -------------------------------------------------------------------------------- 1 | var Game = require('Game'); 2 | var Globals = require('Globals'); 3 | 4 | var BattleMng = Fire.Class({ 5 | extends: Fire.Behavior, 6 | properties: { 7 | // team count 8 | teamCount: 0, 9 | // get fighters 10 | fighterTemplate: { 11 | default: null, 12 | type: cc.Node 13 | }, 14 | batchNode: { 15 | default: null, 16 | type: cc.Node 17 | }, 18 | playerHPBars: { 19 | default: [], 20 | type: [cc.Node] 21 | }, 22 | enemyHPBars: { 23 | default: [], 24 | type: [cc.Node] 25 | }, 26 | playerLocs: { 27 | default: [], 28 | type: [cc.Node] 29 | }, 30 | enemyLocs: { 31 | default: [], 32 | type: [cc.Node] 33 | } 34 | }, 35 | init: function(battleInfo) { 36 | // attackers list 37 | // this.attackerQueue = []; 38 | // fighters 39 | this.fighters = []; 40 | this.players = []; 41 | this.enemies = []; 42 | for (var i = 0; i < this.teamCount; ++i) { 43 | // player 44 | var playerF = this._createFighter(i, false); 45 | var enemyF = this._createFighter(i, true); 46 | this.players[i] = playerF; 47 | this.enemies[i] = enemyF; 48 | var levelMod = Game.instance.assetMng.getLevelModifier(battleInfo.level); 49 | var playerInfo = Game.instance.assetMng.getFighterInfo(battleInfo.players[i]); 50 | var enemyInfo = Game.instance.assetMng.getLevelEnemyInfo(battleInfo.level, i); 51 | // init 52 | playerF.init(playerInfo); 53 | enemyF.init(enemyInfo, levelMod); 54 | playerF.setHPBar(this.playerHPBars[i]); 55 | enemyF.setHPBar(this.enemyHPBars[i]); 56 | 57 | this.batchNode.addChild(enemyF, 3 - i); 58 | this.batchNode.addChild(playerF, 3 - i); 59 | playerF.initZ = 3 - i; 60 | enemyF.initZ = 3 - i; 61 | // playerF.setInitZ(3 - i); 62 | // enemyF.setInitZ(3 - i); 63 | var pPos = this.playerLocs[i].getPosition(); 64 | var ePos = this.enemyLocs[i].getPosition(); 65 | playerF.setPosition(pPos); 66 | enemyF.setPosition(ePos); 67 | playerF.selfPos = pPos; 68 | enemyF.selfPos = ePos; 69 | 70 | playerF.initActions(); 71 | enemyF.initActions(); 72 | // indexed 73 | this.fighters.push(enemyF); 74 | this.fighters.push(playerF); 75 | } 76 | // this.ready = true; 77 | }, 78 | 79 | _createFighter: function(index, isEnemy) { 80 | var fighter = Fire.instantiate(this.fighterTemplate); 81 | fighter.setName((isEnemy ? 'enemy' : 'player') + index); 82 | fighter.isEnemy = isEnemy; 83 | fighter.attackOffset = isEnemy ? -100 : 100; 84 | fighter.setScaleX(isEnemy ? 1 : -1); 85 | return fighter; 86 | }, 87 | 88 | orderAttack: function(fighter) { 89 | var target; 90 | if (fighter.isEnemy) { 91 | target = this._pickTargetFrom(this.players); 92 | } else { 93 | target = this._pickTargetFrom(this.enemies); 94 | } 95 | if (!target || target.isDead ) return; 96 | fighter.moveToAttack(target); 97 | // this.attackerQueue.push({fighter: fighter, modifier: modifier}); 98 | }, 99 | 100 | launchAttack: function(fighter, modifier) { 101 | // this.attackerQueue.shift(); 102 | var dmg = calculateDmg(fighter, modifier); 103 | fighter.targetFighter.dmgTaken = dmg; 104 | }, 105 | 106 | setAttackZ: function(fighter) { 107 | this.batchNode.reorderChild(fighter, 5); 108 | }, 109 | 110 | restoreZ: function(fighter) { 111 | this.batchNode.reorderChild(fighter, fighter.initZ); 112 | }, 113 | 114 | _pickTargetFrom: function(list) { 115 | for (var i = 0; i < list.length; ++i) { 116 | if (!list[i].isDead) return list[i]; 117 | } 118 | return null; 119 | }, 120 | 121 | fighterDie: function(fighter) { 122 | Game.instance.timeline.retireFighterIcon(fighter); 123 | fighter.isDead = true; 124 | this._checkTeamVictory(fighter.isEnemy); 125 | }, 126 | 127 | _checkTeamVictory: function(isEnemy) { 128 | var team = null; 129 | var teamLose = true; 130 | if (isEnemy) { 131 | team = this.enemies; 132 | } else { 133 | team = this.players; 134 | } 135 | for (var i = 0; i < team.length; ++i) { 136 | if (!team[i].isDead) { 137 | teamLose = false; 138 | break; 139 | } 140 | } 141 | if (teamLose) { 142 | this.unscheduleUpdate(); 143 | if (isEnemy) { 144 | Game.instance.victory(); 145 | } else { 146 | Game.instance.defeat(); 147 | } 148 | } 149 | } 150 | }); 151 | 152 | function calculateDmg(fighter, modifier) { 153 | var dmg = 0; 154 | if (!fighter.isEnemy) { // player attack 155 | dmg = Game.instance.cheat ? 10000 : fighter.atk * modifier; 156 | } else { // enemy attack 157 | dmg = fighter.atk / modifier; 158 | } 159 | return Math.floor(dmg); 160 | } 161 | 162 | function getRandomInt(min, max) { 163 | return Math.floor(Math.random() * (max - min)) + min; 164 | } 165 | -------------------------------------------------------------------------------- /scripts/Behaviors/BattleMng.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "5e1eeaeb-e896-4864-8976-173a11e9705b", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/FXManager.js: -------------------------------------------------------------------------------- 1 | var Animation = require('Animation'); 2 | var Game = require('Game'); 3 | // var AnimData = Fire.Class({ 4 | // name: 'AnimData', 5 | // properties: { 6 | // name: "", 7 | // count: 0, 8 | // startIdx: 0, 9 | // delay: 0.05 10 | // } 11 | // }); 12 | var FXType = Fire.defineEnum({ 13 | Blood : -1, 14 | HitNormal: -1, 15 | HitPerfect: -1, 16 | Block: -1, 17 | CoinHit : -1, 18 | CoinPerfect : -1, 19 | Dust : -1, 20 | TextMiss: -1, 21 | TextNormal: -1, 22 | TextGood: -1, 23 | TextPerfect: -1 24 | }); 25 | 26 | var animData = [ 27 | { 28 | name: "blood_splash_", 29 | count: 3, 30 | startIdx: 1, 31 | delay: 0.05 32 | }, 33 | { 34 | name: "hit_normal_0", 35 | count: 4, 36 | startIdx: 1, 37 | delay: 0.05 38 | }, 39 | { 40 | name: "hit_0", 41 | count: 4, 42 | startIdx: 1, 43 | delay: 0.05 44 | }, 45 | { 46 | name: "block_0", 47 | count: 2, 48 | startIdx: 1, 49 | delay: 0.15 50 | }, 51 | { 52 | name: "coin_gather_", 53 | count: 3, 54 | startIdx: 1, 55 | delay: 0.07 56 | }, 57 | { 58 | name: "perfect_0", 59 | count: 6, 60 | startIdx: 1, 61 | delay: 0.05 62 | }, 63 | { 64 | name: "fog_0", 65 | count: 7, 66 | startIdx: 1, 67 | delay: 0.1 68 | } 69 | ]; 70 | 71 | var getAnimInfo = function(fxType) { 72 | return animData[fxType]; 73 | }; 74 | 75 | var DustFX = cc.Sprite.extend({ 76 | ctor: function(parent) { 77 | var texStr = '#fog_01.png'; 78 | this._super(texStr); 79 | parent.addChild(this); 80 | var nameStr = 'fx_dust'; 81 | this.setName(nameStr); 82 | var animInfo = getAnimInfo(FXType.Dust); 83 | this.animAction = Animation.createAnimAction(animInfo); 84 | // retain 85 | this.animAction.retain(); 86 | Fire.engine.once('pre-launch-scene', function () { 87 | this.animAction.release(); 88 | }.bind(this)); 89 | 90 | var callback = cc.callFunc(this.onPlayEnd, this); 91 | this.runAction( cc.sequence(this.animAction, callback) ); 92 | }, 93 | newAnim: function() { 94 | var callback = cc.callFunc(this.onPlayEnd, this); 95 | this.runAction( cc.sequence(this.animAction, callback) ); 96 | }, 97 | onPlayEnd: function() { 98 | this.removeFromParent(); 99 | cc.pool.putInPool(this); 100 | } 101 | }); 102 | 103 | var AnimateFX = cc.Sprite.extend({ 104 | ctor: function(parent, type) { 105 | var animInfo = getAnimInfo(type); 106 | var texStr = '#' + animInfo.name + animInfo.startIdx.toString() + '.png'; 107 | this._super(texStr); 108 | AnimateFX.fxID ++; 109 | this.fxID = AnimateFX.fxID; 110 | parent.addChild(this); 111 | var nameStr = 'fx_' + FXType[type] + this.fxID; 112 | this.setName(nameStr); 113 | var animAction = Animation.createAnimAction(animInfo); 114 | var callback = cc.callFunc(this.onPlayEnd, this); 115 | this.runAction( cc.sequence(animAction, callback) ); 116 | }, 117 | newAnim: function(type) { 118 | var animAction = Animation.createAnimAction(getAnimInfo(type)); 119 | var callback = cc.callFunc(this.onPlayEnd, this); 120 | this.runAction( cc.sequence(animAction, callback) ); 121 | }, 122 | // unuse: function() { 123 | // this.removeFromParent(); 124 | // }, 125 | onPlayEnd: function() { 126 | this.removeFromParent(); 127 | cc.pool.putInPool(this); 128 | } 129 | }); 130 | AnimateFX.fxID = 0; 131 | 132 | var SimpleFX = cc.Sprite.extend({ 133 | ctor: function(parent, texture, type) { 134 | // create sprite 135 | this._super(texture); 136 | SimpleFX.fxID ++; 137 | this.fxID = SimpleFX.fxID; 138 | parent.addChild(this); 139 | var nameStr = 'fx_' + FXType[type] + this.fxID; 140 | this.setName(nameStr); 141 | // actions 142 | this.actionFadeIn = cc.fadeIn(0.2); 143 | var actionPopNormal = cc.sequence(cc.scaleTo(0.2, 1.2).easing(cc.easeBackOut()), cc.scaleTo(0.2, 1).easing(cc.easeBackOut())); 144 | var actionPopBig = cc.sequence(cc.scaleTo(0.2, 1.5).easing(cc.easeBackOut()), cc.scaleTo(0.2, 1).easing(cc.easeBackOut())); 145 | var actionDrop = cc.moveBy(0.2, cc.p(0, 60)); 146 | var actionFadeOut = cc.fadeOut(0.2); 147 | var popAction = null; 148 | if (type === FXType.TextPerfect) { 149 | popAction = actionPopBig; 150 | } else { 151 | popAction = actionPopNormal; 152 | } 153 | 154 | this.runAction( this.actionFadeIn ); 155 | var callback = cc.callFunc(this.onPlayEnd, this); 156 | this.popSeq = cc.sequence(popAction, actionDrop, actionFadeOut, callback ); 157 | this.runAction( this.popSeq ); 158 | 159 | // retain 160 | this.actionFadeIn.retain(); 161 | Fire.engine.once('pre-launch-scene', function () { 162 | this.actionFadeIn.release(); 163 | }.bind(this)); 164 | 165 | }, 166 | newTexure: function(texture) { 167 | this.setSpriteFrame(texture); 168 | var callback = cc.callFunc(this.onPlayEnd, this); 169 | this.runAction( this.actionFadeIn ); 170 | this.runAction( this.popSeq ); 171 | }, 172 | // unuse: function() { 173 | // }, 174 | onPlayEnd: function() { 175 | this.removeFromParent(); 176 | cc.pool.putInPool(this); 177 | } 178 | }); 179 | SimpleFX.fxID = 0; 180 | 181 | var FXManager = Fire.Class({ 182 | extends: Fire.Behavior, 183 | properties: { 184 | batchNode: { 185 | default: null, 186 | type: cc.Node 187 | }, 188 | textFXTemplate: { 189 | default: null, 190 | type: cc.Node 191 | } 192 | }, 193 | statics: { 194 | FXType: FXType, 195 | getAnimInfo: getAnimInfo 196 | }, 197 | init: function() { 198 | FXManager.instance = this; 199 | // textFX list 200 | this.textFXList = []; 201 | }, 202 | playTextFX: function(pos, hitState, isEnemy) { // if displaying attack modifier "atk+xx%" or damage number 203 | var textFX; 204 | for (var i = 0; i < this.textFXList.length; ++i) { 205 | textFX = this.textFXList[i]; 206 | if (textFX.isPlaying === false) { 207 | textFX.setPosition(pos); 208 | textFX.playTextFX(hitState, isEnemy); 209 | return textFX; 210 | } 211 | } 212 | textFX = Fire.instantiate(this.textFXTemplate); 213 | this.addChild(textFX); 214 | textFX.setPosition(pos); 215 | textFX.initTextFX(); 216 | textFX.playTextFX(hitState, isEnemy); 217 | this.textFXList.push(textFX); 218 | return textFX; 219 | }, 220 | playTextDmg: function(pos, dmg) { 221 | var textFX; 222 | for (var i = 0; i < this.textFXList.length; ++i) { 223 | textFX = this.textFXList[i]; 224 | if (textFX.isPlaying === false) { 225 | textFX.setPosition(pos); 226 | textFX.playTextDmg(dmg); 227 | return textFX; 228 | } 229 | } 230 | textFX = Fire.instantiate(this.textFXTemplate); 231 | this.addChild(textFX); 232 | textFX.setPosition(pos); 233 | textFX.initTextFX(); 234 | textFX.playTextDmg(dmg); 235 | this.textFXList.push(textFX); 236 | return textFX; 237 | }, 238 | _spawnFX: function(parent, type) { 239 | if (cc.pool.hasObject(AnimateFX)) { 240 | fx = cc.pool.getFromPool(AnimateFX); 241 | fx.newAnim(type); 242 | parent.addChild(fx); 243 | return fx; 244 | } else { 245 | fx = new AnimateFX(parent, type); 246 | return fx; 247 | } 248 | }, 249 | _spawnDustFX: function(parent) { 250 | if (cc.pool.hasObject(DustFX)) { 251 | fx = cc.pool.getFromPool(DustFX); 252 | fx.newAnim(); 253 | parent.addChild(fx); 254 | return fx; 255 | } else { 256 | fx = new DustFX(parent); 257 | return fx; 258 | } 259 | }, 260 | _spawnSimpleFX: function(parent, texture, type) { 261 | if (cc.pool.hasObject(SimpleFX)) { 262 | fx = cc.pool.getFromPool(SimpleFX); 263 | parent.addChild(fx); 264 | fx.newTexure(texture); 265 | return fx; 266 | } else { 267 | fx = new SimpleFX(parent, '#'+texture, type); 268 | return fx; 269 | } 270 | }, 271 | playFX: function(pos, type, scaleX, parent) { 272 | var p = parent || this.batchNode; 273 | var fx; 274 | if (type === FXType.Dust) { 275 | fx = this._spawnDustFX(p); 276 | } else { 277 | fx = this._spawnFX(p, type ); 278 | } 279 | 280 | if (scaleX > 0) { 281 | scaleX = 1; 282 | } else { 283 | scaleX = -1; 284 | } 285 | fx.setScaleX(scaleX); 286 | fx.setPosition(pos); 287 | return fx; 288 | }, 289 | playSimpleFX: function(pos, type, isEnemy) { 290 | var p = this.batchNode; 291 | var tex = null; 292 | var str_def = isEnemy ? 'd_' : ''; 293 | switch(type) { 294 | case FXType.TextMiss: 295 | tex = 'txt_' + str_def + 'miss.png'; 296 | break; 297 | case FXType.TextNormal: 298 | tex = 'txt_' + str_def + 'hit.png'; 299 | break; 300 | case FXType.TextGood: 301 | tex = 'txt_' + str_def + 'good.png'; 302 | break; 303 | case FXType.TextPerfect: 304 | tex = 'txt_' + str_def + 'perfect.png'; 305 | break; 306 | } 307 | var fx = this._spawnSimpleFX(p, tex, type); 308 | fx.setPosition(pos); 309 | return fx; 310 | } 311 | }); 312 | -------------------------------------------------------------------------------- /scripts/Behaviors/FXManager.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "61426dc0-9420-4aa8-a6c2-bcc0f6131467", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/FighterDisplay.js: -------------------------------------------------------------------------------- 1 | var AssetMng = require('AssetMng'); 2 | var FXManager = require('FXManager'); 3 | var AudioMng = require('AudioMng'); 4 | var Game = require('Game'); 5 | 6 | var FighterDisplay = Fire.Class({ 7 | extends: Fire.Behavior, 8 | properties: { 9 | // flash: { 10 | // default: null, 11 | // type: cc.Node 12 | // }, 13 | isEnemy: false, 14 | moveForwardDuration: 0, 15 | moveBackwardDuration: 0, 16 | attackFreezeDuration: 0, 17 | hurtFX: 0, 18 | attackOffset: 0 19 | }, 20 | init: function(fighterInfo, levelMod) { 21 | this.setCascadeOpacityEnabled(true); 22 | // reference 23 | this.flash = this.getChildByName('flash'); 24 | this.hpBar = null; 25 | this.icon = null; 26 | // initialize data 27 | this.assetID = fighterInfo.assetID; 28 | this.fighterName = fighterInfo.name; 29 | var atkMod = levelMod ? levelMod.atkMod : 1; 30 | var hpMod = levelMod ? levelMod.hpMod : 1; 31 | this.atk = Math.floor(parseInt(fighterInfo.atk) * atkMod); 32 | this.agility = parseInt(fighterInfo.agi); 33 | this.maxHP = Math.floor(parseInt(fighterInfo.hp) * hpMod); 34 | this.curHP = this.maxHP; 35 | this.attackOffset = this.isEnemy ? 100 : -100; 36 | this.initZ = 0; 37 | // engage in action 38 | this.canMove = true; 39 | this.isDead = false; 40 | // target 41 | this.targetFighter = null; 42 | // damage taking 43 | this.dmgTaken = 0; 44 | // set sprites 45 | this._showIdlePose(); 46 | this.flash.setSpriteFrame(this.assetID + '_flash.png'); 47 | }, 48 | 49 | // need to get position first 50 | initActions: function() { 51 | // actions 52 | this.actionMoveForward = null; 53 | this.actionMoveBackward = null; 54 | var scaleX = this.isEnemy ? 1 : -1; 55 | this.actionIdle = cc.repeatForever(cc.sequence(cc.scaleTo(1, scaleX, 0.95), cc.scaleTo(1, scaleX, 1))) ; 56 | // position 57 | this.targetPos = cc.p(0,0); 58 | this.selfPos = cc.p(this.x, this.y); 59 | this.actionMoveBackward = cc.moveTo(this.moveBackwardDuration, this.selfPos).easing(cc.easeCubicActionOut()); 60 | this.flash.setPositionX(this.width/2); 61 | // retain 62 | this.actionMoveBackward.retain(); 63 | this.actionIdle.retain(); 64 | Fire.engine.once('pre-launch-scene', function () { 65 | this.actionMoveBackward.release(); 66 | this.actionIdle.release(); 67 | }.bind(this)); 68 | // 69 | this.idle(); 70 | }, 71 | 72 | setHPBar: function(hpBar) { 73 | this.hpBar = hpBar; 74 | this.hpBar.init(this); 75 | }, 76 | 77 | setIcon: function(icon) { 78 | this.icon = icon; 79 | }, 80 | 81 | idle: function() { 82 | this.runAction(this.actionIdle); 83 | }, 84 | 85 | moveToAttack: function(target) { 86 | this.stopAction(this.actionIdle); 87 | if (this.hpBar) { 88 | this.hpBar.setVisible(false); 89 | } 90 | this.canMove = false; 91 | this._assignTarget(target, this.attackOffset); 92 | var callback = cc.callFunc(this._playAttack, this); 93 | var fx = FXManager.instance.playFX(cc.p(this.x, this.y + 50), FXManager.FXType.Dust, this.getScaleX(), this.getParent()); 94 | fx.setLocalZOrder(this.getLocalZOrder() - 0.5); 95 | this.runAction(cc.sequence(this.actionMoveForward, callback)); 96 | }, 97 | 98 | hurt: function(offset) { 99 | this.stopAction(this.actionIdle); 100 | this.canMove = false; 101 | var move1 = cc.moveBy(this.attackFreezeDuration, cc.p(offset,0)).easing(cc.easeElasticInOut(0.2)); 102 | var move2 = cc.moveBy(this.attackFreezeDuration, cc.p(-offset,0)).easing(cc.easeElasticInOut(0.2)); 103 | var callback = cc.callFunc(this._onHurtEnd, this); 104 | var cbMid = cc.callFunc(this._onHurtMid, this); 105 | var seq1 = cc.sequence(move1, cbMid, move2, callback); 106 | var flash1 = cc.fadeIn(this.attackFreezeDuration/2); 107 | var flash2 = cc.fadeOut(this.attackFreezeDuration/2); 108 | var seq2 = cc.sequence(flash1, flash2); 109 | FXManager.instance.playFX(cc.p(this.x, this.y + 80), FXManager.FXType.Blood, this.getScaleX()); 110 | this.runAction(seq1); 111 | this.flash.runAction(seq2); 112 | AudioMng.instance.playAttack(); 113 | }, 114 | 115 | _onHurtMid: function() { 116 | FXManager.instance.playTextDmg(cc.p(this.x, this.y + 80), this.dmgTaken); 117 | this._updateHP(-this.dmgTaken); 118 | }, 119 | 120 | _updateHP: function(delta) { 121 | this.curHP += delta; 122 | if (this.curHP <= 0 && this.isDead === false) { 123 | this.curHP = 0; 124 | Game.instance.battleMng.fighterDie(this); 125 | } 126 | this.hpBar.setHP(Math.floor(this.curHP), this.maxHP); 127 | }, 128 | 129 | _assignTarget: function(target, offset) { 130 | this.targetFighter = target; 131 | this.targetPos = cc.p(target.selfPos.x + offset, target.selfPos.y); 132 | this.actionMoveForward = cc.jumpTo(this.moveForwardDuration, this.targetPos, 30, 1).easing(cc.easeCubicActionOut()); 133 | // retain 134 | this.actionMoveForward.retain(); 135 | Fire.engine.once('pre-launch-scene', function () { 136 | this.actionMoveForward.release(); 137 | }.bind(this)); 138 | }, 139 | 140 | _showAtkPose: function() { 141 | this.setSpriteFrame(this.assetID + '_atk.png'); 142 | }, 143 | 144 | _showIdlePose: function() { 145 | this.setSpriteFrame(this.assetID + '_idle.png'); 146 | }, 147 | 148 | _playHitFreeze: function() { 149 | setTimeout(function() { 150 | this._moveBack(); 151 | }.bind(this), this.attackFreezeDuration * 1000); 152 | }, 153 | 154 | _playAttack: function() { 155 | var offset = this.attackOffset; 156 | this._showAtkPose(); 157 | Game.instance.battleMng.setAttackZ(this); 158 | var callback = cc.callFunc(this._playHitFreeze, this); 159 | var seq = cc.sequence(cc.moveBy(this.attackFreezeDuration/4, cc.p(-offset, 0)), callback); 160 | this.runAction(seq); 161 | this.targetFighter.hurt(-offset*0.7); 162 | }, 163 | 164 | _moveBack: function() { 165 | this._showIdlePose(); 166 | Game.instance.battleMng.restoreZ(this); 167 | var callback = cc.callFunc(this._onAtkEnd, this); 168 | this.runAction(cc.sequence(this.actionMoveBackward, callback)); 169 | }, 170 | 171 | _playDie: function() { 172 | var callback = cc.callFunc(this._onDieEnd, this); 173 | this.stopAllActions(); 174 | this.runAction(cc.sequence(cc.fadeOut(0.5), callback)); 175 | }, 176 | 177 | _onAtkEnd: function() { 178 | this.canMove = true; 179 | this.idle(); 180 | this.hpBar.setVisible(true); 181 | }, 182 | 183 | _onHurtEnd: function() { 184 | if (this.isDead) { 185 | this._playDie(); 186 | } else { 187 | this.canMove = true; 188 | this.idle(); 189 | } 190 | }, 191 | 192 | _onDieEnd: function() { 193 | this.hpBar.setVisible(false); 194 | this.setVisible(false); 195 | } 196 | }); 197 | -------------------------------------------------------------------------------- /scripts/Behaviors/FighterDisplay.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "f47b2746-a22e-46f9-9e86-2058dc1680e2", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/FighterIcon.js: -------------------------------------------------------------------------------- 1 | var FXManager = require('FXManager'); 2 | var AudioMng = require('AudioMng'); 3 | var Globals = require('Globals'); 4 | 5 | var FighterIcon = Fire.Class({ 6 | extends: Fire.Behavior, 7 | properties: { 8 | // sprite: { 9 | // default: null, 10 | // type: cc.Node 11 | // }, 12 | // ring: { 13 | // default: null, 14 | // type: cc.Node 15 | // } 16 | }, 17 | init: function(fighter, timeline) { 18 | this.setCascadeOpacityEnabled(true); 19 | // references 20 | this.timeline = timeline; 21 | this.fighter = fighter; 22 | this.ring = this.getChildByName('ring'); 23 | 24 | // timer 25 | this.onlineTimer = 0; // enter timeline to set this to 0 and start timer 26 | this.offlineTimer = 0; // exit timeline to set this to 0 and start timer 27 | this.offlineDuration = (1 - fighter.agility/20) * this.timeline.intervalBase; //TEMP formula 28 | this.onTimeline = false; 29 | this.attacked = false; 30 | this.attackEnd = false; 31 | 32 | // init actions 33 | this._initActions(); 34 | 35 | // visual 36 | this.setName(fighter.getName()); 37 | this.setSpriteFrame(fighter.assetID + '.png'); 38 | this.ring.setSpriteFrame('ring.png'); 39 | this.showRing(false); 40 | this.setVisible(false); 41 | }, 42 | _initActions: function() { 43 | //actions 44 | this.actionFadeIn = cc.fadeIn(0.2); 45 | this.actionFadeOut = cc.fadeOut(0.1); 46 | this.actionPopPerfect = cc.sequence(cc.scaleTo(0.1, 0.6).easing(cc.easeBackOut()), cc.scaleTo(0.1, 1).easing(cc.easeBackOut()), this.actionFadeOut); 47 | this.actionPopGood = cc.sequence(cc.scaleTo(0.1, 0.7).easing(cc.easeBackOut()), cc.scaleTo(0.1, 1).easing(cc.easeBackOut()), this.actionFadeOut); 48 | this.actionPopHit = cc.sequence(cc.scaleTo(0.1, 0.8).easing(cc.easeBackOut()), cc.scaleTo(0.1, 1).easing(cc.easeBackOut()), this.actionFadeOut); 49 | 50 | // retain 51 | this.actionFadeIn.retain(); 52 | this.actionFadeOut.retain(); 53 | this.actionPopPerfect.retain(); 54 | this.actionPopGood.retain(); 55 | this.actionPopHit.retain(); 56 | Fire.engine.once('pre-launch-scene', function () { 57 | this.actionFadeIn.release(); 58 | this.actionFadeOut.release(); 59 | this.actionPopPerfect.release(); 60 | this.actionPopGood.release(); 61 | this.actionPopHit.release(); 62 | }.bind(this)); 63 | }, 64 | enterTimeline: function() { 65 | this.setVisible(true); 66 | this.onTimeline = true; 67 | this.attacked = false; 68 | this.attackEnd = false; 69 | this.timeline.setLastIconTime(); 70 | this.runAction(this.actionFadeIn); 71 | this.setPosition(this.timeline.getStartPos()); 72 | this.onlineTimer = 0; 73 | }, 74 | exitTimeline: function() { 75 | this.onTimeline = false; 76 | this.showRing(false); 77 | this.offlineTimer = 0; 78 | }, 79 | playFadeOut: function() { 80 | this.runAction(this.actionFadeOut); 81 | }, 82 | showRing: function(show) { 83 | if (this.fighter.isEnemy) { 84 | this.ring.setColor(cc.color(255,0,0,255)); 85 | } else { 86 | this.ring.setColor(cc.color(255,255,255,255)); 87 | } 88 | this.ring.setVisible(show); 89 | }, 90 | tick: function(dt) { 91 | if (this.onTimeline) { 92 | this.onlineTimer += dt; 93 | if (this.onlineTimer >= this.timeline.checkTime.full) { 94 | this.exitTimeline(); 95 | this.playFadeOut(); 96 | return; 97 | } 98 | if (this.onlineTimer >= this.timeline.checkTime.perfect - this.timeline.attackPrepareDuration && 99 | this.attacked === false) { 100 | this.attacked = true; 101 | this.timeline.orderAttack(this.fighter); 102 | } 103 | if (this.onlineTimer >= this.timeline.checkTime.outHit && this.attackEnd === false) { 104 | this.attackEnd = true; 105 | this.playMiss(); 106 | this.timeline.launchAttack(this.fighter, Globals.HitState.Miss); 107 | } 108 | var delta = this.timeline.speed * dt; 109 | this.setPositionX(this.x - delta); 110 | } else { 111 | this.offlineTimer += dt; 112 | if (this.offlineTimer >= this.offlineDuration) { 113 | if (this.timeline.canAddNewIcon(this.fighter)) { 114 | this.timeline.lastIcon = this; 115 | this.enterTimeline(); 116 | } else { 117 | this.offlineTimer -= this.timeline.minInterval; 118 | } 119 | } 120 | } 121 | }, 122 | playPerfect: function() { 123 | this.runAction(this.actionPopPerfect); 124 | FXManager.instance.playFX(cc.p(this.x, this.y), FXManager.FXType.CoinPerfect, 1); 125 | FXManager.instance.playSimpleFX(cc.p(this.timeline.mark.x, this.timeline.mark.y), FXManager.FXType.TextPerfect, this.fighter.isEnemy ); 126 | AudioMng.instance.playPerfect(); 127 | }, 128 | playGood: function() { 129 | this.runAction(this.actionPopGood); 130 | FXManager.instance.playFX(cc.p(this.x, this.y), FXManager.FXType.CoinHit, 1); 131 | FXManager.instance.playSimpleFX(cc.p(this.timeline.mark.x, this.timeline.mark.y), FXManager.FXType.TextGood, this.fighter.isEnemy ); 132 | AudioMng.instance.playGood(); 133 | }, 134 | playHit: function() { 135 | this.runAction(this.actionPopHit); 136 | FXManager.instance.playFX(cc.p(this.x, this.y), FXManager.FXType.CoinHit, 1); 137 | FXManager.instance.playSimpleFX(cc.p(this.timeline.mark.x, this.timeline.mark.y), FXManager.FXType.TextNormal, this.fighter.isEnemy ); 138 | AudioMng.instance.playHit(); 139 | }, 140 | playMiss: function() { 141 | AudioMng.instance.playMiss(); 142 | this.showRing(false); 143 | FXManager.instance.playSimpleFX(cc.p(this.timeline.mark.x, this.timeline.mark.y), FXManager.FXType.TextMiss, this.fighter.isEnemy ); 144 | } 145 | }); 146 | -------------------------------------------------------------------------------- /scripts/Behaviors/FighterIcon.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "3896134d-cb5b-4d8c-802b-4a6cc8d665ea", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/HPBar.js: -------------------------------------------------------------------------------- 1 | var HPBar = Fire.Class({ 2 | extends: Fire.Behavior, 3 | properties: { 4 | progressBar: { 5 | default: null, 6 | type: cc.Node 7 | }, 8 | hpNum: { 9 | default: null, 10 | type: cc.Node 11 | } 12 | }, 13 | init: function(fighter) { 14 | // this.setPosition(cc.p(fighter.width/2, -20)); 15 | this.setCascadeOpacityEnabled(true); 16 | this.setHP(fighter.curHP, fighter.maxHP); 17 | }, 18 | setHP: function(hp, maxHp) { 19 | this.hpNum.setString(hp); 20 | this.progressBar.setPercent(Math.floor(hp/maxHp * 100)); 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /scripts/Behaviors/HPBar.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "47db0aa1-4153-441b-9b31-46804a9dc049", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/TextFX.js: -------------------------------------------------------------------------------- 1 | var TextFX = Fire.Class({ 2 | extends: Fire.Behavior, 3 | properties: { 4 | // textState: { 5 | // default: null, 6 | // type: cc.Node 7 | // }, 8 | dmgColor: { 9 | default: Fire.Color.red, 10 | type: Fire.Color 11 | }, 12 | modColors: { 13 | default: [], 14 | type: [Fire.Color] 15 | }, 16 | stateStrs: { 17 | default: [], 18 | type: [Fire.String] 19 | }, 20 | numStrs: { 21 | default: [], 22 | type: [Fire.String] 23 | } 24 | }, 25 | initTextFX: function() { 26 | this.setCascadeOpacityEnabled(true); 27 | // variable 28 | this.textState = this.getChildByName('labelState'); 29 | this.textNum = this.getChildByName('labelNum'); 30 | this.isPlaying = false; 31 | // actions 32 | var callback = cc.callFunc(this.onPlayEnd, this); 33 | this.actionFadeIn = cc.fadeIn(0.1); 34 | this.actionRise = cc.sequence(cc.moveBy(0.3, cc.p(0, 80)).easing(cc.easeBackOut()), cc.fadeOut(0.4), callback); 35 | this.actionPop = cc.sequence(cc.scaleTo(0.2, 1.2).easing(cc.easeBackOut()), cc.scaleTo(0.2, 1).easing(cc.easeBackOut()), callback); 36 | // retain 37 | this.actionFadeIn.retain(); 38 | this.actionRise.retain(); 39 | this.actionPop.retain(); 40 | Fire.engine.once('pre-launch-scene', function () { 41 | this.actionFadeIn.release(); 42 | this.actionRise.release(); 43 | this.actionPop.release(); 44 | }.bind(this)); 45 | 46 | }, 47 | playTextFX: function(hitState, isEnemy) { 48 | this.isPlaying = true; 49 | this.setVisible(true); 50 | var numStr = this.numStrs[hitState]; 51 | numStr = numStr.replace('[f]', isEnemy ? 'Def' : 'Atk'); 52 | this.textState.setString(this.stateStrs[hitState]); 53 | this.textNum.setString(numStr); 54 | var color = cc.color(this.modColors[hitState].toHEX('#rrggbb')); 55 | this.textNum.setScale(0.5); 56 | this.textState.setColor(color); 57 | this.textNum.setColor(color); 58 | this.runAction(this.actionPop); 59 | this.runAction(this.actionFadeIn); 60 | }, 61 | playTextDmg: function(dmg) { 62 | this.isPlaying = true; 63 | this.setVisible(true); 64 | this.textState.setString(""); 65 | this.textNum.setString(dmg); 66 | this.textNum.setScale(0.8); 67 | var color = cc.color(this.dmgColor.toHEX('#rrggbb')); 68 | this.textNum.setColor(color); 69 | this.runAction(this.actionRise); 70 | this.runAction(this.actionFadeIn); 71 | }, 72 | onPlayEnd: function() { 73 | this.setVisible(false); 74 | this.isPlaying = false; 75 | } 76 | }); 77 | -------------------------------------------------------------------------------- /scripts/Behaviors/TextFX.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "3bb6f3e7-a659-411f-a28b-5edf44b22db7", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Behaviors/Timeline.js: -------------------------------------------------------------------------------- 1 | var FXManager = require('FXManager'); 2 | var AudioMng = require('AudioMng'); 3 | var Game = require('Game'); 4 | var Globals = require('Globals'); 5 | 6 | var Timeline = Fire.Class({ 7 | extends: Fire.Behavior, 8 | properties: { 9 | minInterval: 0, 10 | intervalBase: 0, 11 | speed: 0, 12 | perfectRange: 0, 13 | goodRange: 0, 14 | hitRange: 0, 15 | bar: { 16 | default: null, 17 | type: cc.Node 18 | }, 19 | mark: { 20 | default: null, 21 | type: cc.Node 22 | }, 23 | iconTemplate: { 24 | default: null, 25 | type: cc.Node 26 | } 27 | }, 28 | init: function(fighters, battleMng) { 29 | // reference 30 | this.battleMng = battleMng; 31 | this.batchNode = Game.instance.battleMng.batchNode; 32 | 33 | //variables 34 | var fighterTmp = this.battleMng.fighterTemplate; 35 | this.attackPrepareDuration = fighterTmp.moveForwardDuration + fighterTmp.attackFreezeDuration/2; 36 | this.lastIconTime = 0; 37 | this.perfectX = this.mark.x; 38 | this.checkingIcon = null; 39 | this.activeIcons = []; 40 | this.lastIcon = null; 41 | 42 | // const 43 | this.startPosX = this.bar.x + this.bar.width/2; 44 | this.endPosX = this.bar.x - this.bar.width/2; 45 | var perfectTiming = (this.startPosX - this.perfectX)/this.speed; 46 | this.checkTime = { 47 | perfect: perfectTiming, 48 | inHit: perfectTiming - this.hitRange, 49 | inGood: perfectTiming - this.goodRange, 50 | inPerfect: perfectTiming - this.perfectRange, 51 | outPerfect: perfectTiming + this.perfectRange, 52 | outGood: perfectTiming + this.goodRange, 53 | outHit: perfectTiming + this.hitRange, 54 | full: (this.startPosX - this.endPosX)/this.speed 55 | }; 56 | 57 | // initialization 58 | this._initTimeline(fighters); 59 | this._registerInput(); 60 | this.ready = true; 61 | }, 62 | _initTimeline: function(fighters) { 63 | for (var i = 0; i < fighters.length; ++i) { 64 | var fighter = fighters[i]; 65 | var icon = Fire.instantiate(this.iconTemplate); 66 | icon.init(fighter, this); 67 | fighter.setIcon(icon); 68 | this.activeIcons.push(icon); 69 | // batching 70 | this.batchNode.addChild(icon); 71 | } 72 | }, 73 | update: function(dt) { 74 | if (!this.ready) return; 75 | var firstIconTimer = 0; 76 | var firstIcon = null; 77 | for (var i = 0,j = this.activeIcons.length; i < j; ++i) { 78 | var icon = this.activeIcons[i]; 79 | icon.tick(dt); 80 | 81 | if (icon.onTimeline) { 82 | icon.showRing(false); 83 | if (icon.onlineTimer > firstIconTimer && 84 | icon.onlineTimer < this.checkTime.outHit) { 85 | firstIconTimer = icon.onlineTimer; 86 | firstIcon = icon; 87 | } 88 | } 89 | } 90 | this.checkingIcon = firstIcon; 91 | if (this.checkingIcon) { 92 | this.checkingIcon.showRing(true); 93 | } 94 | }, 95 | _timelineHit: function() { 96 | if (this.checkingIcon) { 97 | this._checkHit(this.checkingIcon); 98 | } 99 | }, 100 | _checkHit: function(icon) { 101 | var curTimer = icon.onlineTimer; 102 | var checkTime = this.checkTime; 103 | if (curTimer > checkTime.inPerfect && curTimer < checkTime.outPerfect) { 104 | icon.playPerfect(); 105 | this.launchAttack(icon.fighter, Globals.HitState.Perfect); 106 | icon.exitTimeline(); 107 | this.checkingIcon = null; 108 | return; 109 | } 110 | if (curTimer > checkTime.inGood && curTimer < checkTime.outGood) { 111 | icon.playGood(); 112 | this.launchAttack(icon.fighter, Globals.HitState.Good); 113 | icon.exitTimeline(); 114 | this.checkingIcon = null; 115 | return; 116 | } 117 | if (curTimer > checkTime.inHit && curTimer < checkTime.outHit) { 118 | icon.playHit(); 119 | this.launchAttack(icon.fighter, Globals.HitState.Hit); 120 | icon.exitTimeline(); 121 | this.checkingIcon = null; 122 | return; 123 | } 124 | // miss 125 | icon.playMiss(); 126 | }, 127 | _registerInput: function() { 128 | var self = this; 129 | cc.eventManager.addListener({ 130 | event: cc.EventListener.KEYBOARD, 131 | onKeyPressed: function(keyCode, event){ 132 | if (keyCode === cc.KEY.space) { 133 | self._timelineHit(); 134 | } 135 | } 136 | }, self); 137 | cc.eventManager.addListener({ 138 | event: cc.EventListener.TOUCH_ALL_AT_ONCE, 139 | onTouchesBegan:function (touches, event) { 140 | self._timelineHit(); 141 | } 142 | }, self); 143 | }, 144 | getStartPos: function() { 145 | return cc.p(this.bar.x + this.bar.width/2, this.bar.y); 146 | }, 147 | setLastIconTime: function() { 148 | this.lastIconTime = Date.now()/1000; 149 | }, 150 | canAddNewIcon: function(fighter) { 151 | if (this.lastIcon === null || this.lastIcon.fighter.isEnemy === fighter.isEnemy) { 152 | return Date.now()/1000 - this.lastIconTime >= this.minInterval; 153 | } else { 154 | return Date.now()/1000 - this.lastIconTime >= this.minInterval * 3; 155 | } 156 | }, 157 | orderAttack: function(fighter) { 158 | this.battleMng.orderAttack(fighter); 159 | }, 160 | launchAttack: function(fighter, hitState) { 161 | var modifier = Globals.getModifier(hitState); 162 | this.battleMng.launchAttack(fighter, modifier); 163 | FXManager.instance.playTextFX(cc.p(fighter.x, fighter.y + 140), hitState, fighter.isEnemy); 164 | var fxType; 165 | if (fighter.isEnemy) { 166 | if (hitState === Globals.HitState.Perfect || hitState === Globals.HitState.Good) { 167 | fxType = FXManager.FXType.Block; 168 | } else { 169 | fxType = FXManager.FXType.HitNormal; 170 | } 171 | } else { 172 | if (hitState === Globals.HitState.Perfect || hitState === Globals.HitState.Good ) { 173 | fxType = FXManager.FXType.HitPerfect; 174 | } else if ( hitState === Globals.HitState.Hit) { 175 | fxType = FXManager.FXType.HitNormal; 176 | } else { 177 | fxType = FXManager.FXType.Block; 178 | } 179 | } 180 | FXManager.instance.playFX(cc.p(fighter.x - fighter.attackOffset/2, fighter.y + 50), fxType, fighter.getScaleX()); 181 | }, 182 | retireFighterIcon: function(fighter) { 183 | var icon = fighter.icon; 184 | icon.exitTimeline(); 185 | icon.playFadeOut(); 186 | this.activeIcons.splice(this.activeIcons.indexOf(icon), 1); 187 | } 188 | }); 189 | -------------------------------------------------------------------------------- /scripts/Behaviors/Timeline.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "132c584e-aade-49e2-960c-8bb221072bf8", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Experiments.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "d7528144-6744-4ad4-ba2c-842420394703", 4 | "asset-type": "folder" 5 | } -------------------------------------------------------------------------------- /scripts/Experiments/FighterAsset.js: -------------------------------------------------------------------------------- 1 | var FighterAsset = Fire.Class({ 2 | name: 'FighterAsset', 3 | properties: { 4 | hurtFX: 0, 5 | attackOffset: 0, 6 | idleTexture: { 7 | default: null, 8 | url: Fire.Texture 9 | }, 10 | atkTexture: { 11 | default: null, 12 | url: Fire.Texture 13 | }, 14 | iconTexture: { 15 | default: null, 16 | url: Fire.Texture 17 | } 18 | }, 19 | constructor: function() { 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /scripts/Experiments/FighterAsset.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "14cb86d9-0d9b-422b-a35a-5477924efa49", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Experiments/LayerMng.js: -------------------------------------------------------------------------------- 1 | var LayerMng = Fire.Class({ 2 | extends: Fire.Behavior, 3 | properties: { 4 | layers: { 5 | default: [], 6 | type: [cc.Node] 7 | } 8 | }, 9 | onLoad: function() { 10 | for (var i = 0; i < this.layers.length; ++i) { 11 | var entry = this.layers[i]; 12 | var layer = new cc.Layer(); 13 | layer.setName(entry.getName() + '_bake'); 14 | var order = entry.getOrderOfArrival(); 15 | entry.removeFromParent(false); 16 | Fire.engine.getCurrentSceneN().addChild(layer, 0); 17 | layer.setOrderOfArrival(order); 18 | layer.addChild(entry); 19 | layer.bake(); 20 | } 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /scripts/Experiments/LayerMng.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "ea19ac2b-ce70-4007-9c33-a4421ef6727c", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Experiments/UIMng.js: -------------------------------------------------------------------------------- 1 | var UIMng = Fire.Class({ 2 | extends: Fire.Behavior, 3 | properties: { 4 | }, 5 | init: function(fighters) { 6 | } 7 | }); 8 | -------------------------------------------------------------------------------- /scripts/Experiments/UIMng.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "5853c6f3-6133-4202-8dd1-6d7e107a9821", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Game.js: -------------------------------------------------------------------------------- 1 | var Globals = require('Globals'); 2 | var Game = Fire.Class({ 3 | extends: Fire.Behavior, 4 | properties: { 5 | assetMng: { 6 | default: null, 7 | type: cc.Node 8 | }, 9 | timeline: { 10 | default: null, 11 | type: cc.Node 12 | }, 13 | battleMng: { 14 | default: null, 15 | type: cc.Node 16 | }, 17 | fxMng: { 18 | default: null, 19 | type: cc.Node 20 | }, 21 | audioMng: { 22 | default: null, 23 | type: cc.Node 24 | }, 25 | loading: { 26 | default: null, 27 | type: cc.Node 28 | }, 29 | levelID: "", 30 | player1: "", 31 | player2: "", 32 | player3: "", 33 | cheat: false 34 | }, 35 | onLoad: function() { 36 | Game.instance = this; 37 | cc.director.setDisplayStats(true); 38 | // cc.game.setFrameRate(45); 39 | this.loading.init(); 40 | this.assetMng.init(this.initModules.bind(this)); 41 | }, 42 | initModules: function() { 43 | var levelID = Globals.getCurrentLevel() || this.levelID; 44 | var levelInfo = this.assetMng.getLevelInfo(levelID); 45 | 46 | this.loading.showLevelName(levelInfo.name); 47 | this.battleMng.init({ 48 | level: levelID, 49 | players: [ 50 | this.player1, 51 | this.player2, 52 | this.player3 53 | ] 54 | }); 55 | // initialization 56 | this.timeline.init(this.battleMng.fighters, this.battleMng); 57 | this.fxMng.init(); 58 | // fade in 59 | this.loading.ready(); 60 | }, 61 | victory: function() { 62 | this.loading.showResult(true); 63 | this._loadMenu(); 64 | }, 65 | defeat: function() { 66 | this.loading.showResult(false); 67 | this._loadMenu(); 68 | }, 69 | _loadMenu: function() { 70 | setTimeout(function() { 71 | Fire.engine.loadScene( 'menu' ); 72 | }, 2000); 73 | } 74 | 75 | }); 76 | -------------------------------------------------------------------------------- /scripts/Game.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "9a01f8b8-cc57-4f71-93c3-b51ad1181a17", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Modules.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "21a14eef-020a-4452-b795-0e6ab45dc97c", 4 | "asset-type": "folder" 5 | } -------------------------------------------------------------------------------- /scripts/Modules/Animation.js: -------------------------------------------------------------------------------- 1 | var createAnimation = function(animInfo) { 2 | var animFrames = []; 3 | var frame,str; 4 | // init run animation 5 | for (var i = animInfo.startIdx; i < animInfo.startIdx + animInfo.count; i++) { 6 | var num = i; 7 | str = animInfo.name + num + ".png"; 8 | frame = cc.spriteFrameCache.getSpriteFrame(str); 9 | animFrames.push(frame); 10 | } 11 | return new cc.Animation(animFrames, animInfo.delay); 12 | }; 13 | 14 | var createAnimAction = function(animInfo) { 15 | return cc.animate(createAnimation(animInfo)); 16 | }; 17 | 18 | module.exports = { 19 | createAnimation: createAnimation, 20 | createAnimAction: createAnimAction 21 | }; 22 | -------------------------------------------------------------------------------- /scripts/Modules/Animation.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "1c3cca0f-a2d4-4d04-9a78-0e57dc74633d", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/Modules/Globals.js: -------------------------------------------------------------------------------- 1 | var curLevelID = ""; 2 | 3 | var setCurrentLevel = function(levelID) { 4 | curLevelID = levelID; 5 | }; 6 | 7 | var getCurrentLevel = function() { 8 | return curLevelID; 9 | }; 10 | 11 | var HitState = Fire.defineEnum({ 12 | Miss: -1, 13 | Hit: -1, 14 | Good: -1, 15 | Perfect: -1 16 | }); 17 | 18 | function getModifier (hitState) { 19 | switch (hitState) { 20 | case HitState.Miss: 21 | return 0.8; 22 | case HitState.Hit: 23 | return 1; 24 | case HitState.Good: 25 | return 1.2; 26 | case HitState.Perfect: 27 | return 1.5; 28 | } 29 | } 30 | 31 | module.exports = { 32 | getCurrentLevel: getCurrentLevel, 33 | setCurrentLevel: setCurrentLevel, 34 | getModifier: getModifier, 35 | HitState: HitState 36 | }; 37 | -------------------------------------------------------------------------------- /scripts/Modules/Globals.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "44f79eed-83b3-4688-b6dc-732a69170bd5", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/UI.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "048903e9-04ab-4206-aeb1-b765163b75c0", 4 | "asset-type": "folder" 5 | } -------------------------------------------------------------------------------- /scripts/UI/BtnLevel.js: -------------------------------------------------------------------------------- 1 | var BtnLevel = Fire.Class({ 2 | extends: Fire.Behavior, 3 | initialize: function(menu, levelInfo) { 4 | this.levelInfo = levelInfo; 5 | this.menu = menu; 6 | this.levelName = this.getChildByName('levelName'); 7 | this.levelName.setString(levelInfo.name); 8 | this.addTouchEventListener(this._btnTouched, this); 9 | }, 10 | _btnTouched: function( sender, type ) { 11 | if (type === ccui.Widget.TOUCH_ENDED) { 12 | this.menu.loadLevel(this.levelInfo); 13 | } 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /scripts/UI/BtnLevel.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "650041cc-c21a-40be-8b19-717c5bd31193", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/UI/Loading.js: -------------------------------------------------------------------------------- 1 | var Loading = Fire.Class({ 2 | extends: Fire.Behavior, 3 | properties: { 4 | mask: { 5 | default: null, 6 | type: cc.Node 7 | }, 8 | title: { 9 | default: null, 10 | type: cc.Node 11 | } 12 | }, 13 | init: function() { 14 | if (this.title) { 15 | this.title.setString(""); 16 | } 17 | this.setCascadeOpacityEnabled(true); 18 | this.setPosition(cc.p(320,240)); 19 | }, 20 | ready: function() { 21 | var callback = cc.callFunc(this._onDisable, this); 22 | this.runAction(cc.sequence(cc.fadeOut(1), callback)); 23 | }, 24 | _onDisable: function() { 25 | this.setVisible(false); 26 | }, 27 | fadeIn: function() { 28 | this.setVisible(true); 29 | this.title.setString('loading...'); 30 | this.runAction(cc.fadeIn(1)); 31 | }, 32 | showResult: function(isWin) { 33 | if (isWin) { 34 | this.title.setString("You Win!"); 35 | } else { 36 | this.title.setString("You Lose!"); 37 | } 38 | this.setVisible(true); 39 | this.runAction(cc.fadeIn(1)); 40 | }, 41 | showLevelName: function(strName) { 42 | this.title.setString(strName); 43 | } 44 | }); 45 | -------------------------------------------------------------------------------- /scripts/UI/Loading.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "a44de67e-b065-4898-bce0-f911b84002f9", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /scripts/UI/Menu.js: -------------------------------------------------------------------------------- 1 | var Globals = require('Globals'); 2 | var Menu = Fire.Class({ 3 | extends: Fire.Behavior, 4 | properties: { 5 | btnTemplate: { 6 | default: null, 7 | type: cc.Node 8 | }, 9 | assetMng: { 10 | default: null, 11 | type: cc.Node 12 | }, 13 | loading: { 14 | default: null, 15 | type: cc.Node 16 | } 17 | }, 18 | onLoad: function() { 19 | this.loading.init(); 20 | this.assetMng.init(this._initButtons.bind(this)); 21 | }, 22 | _initButtons: function() { 23 | // initialization 24 | var levels = this.assetMng.levelDB; 25 | for (var levelID in levels) { 26 | var btn = Fire.instantiate(this.btnTemplate); 27 | btn.initialize(this, levels[levelID]); 28 | this.addChild(btn); 29 | } 30 | // fade in 31 | this.loading.ready(); 32 | }, 33 | loadLevel: function(levelInfo) { 34 | this.loading.fadeIn(); 35 | Globals.setCurrentLevel(levelInfo.levelID); 36 | Fire.engine.loadScene( 'combat' ); 37 | } 38 | }); 39 | -------------------------------------------------------------------------------- /scripts/UI/Menu.js.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": 0, 3 | "uuid": "f43cf4f5-9289-4877-84af-1ad07e700ea8", 4 | "asset-type": "javascript" 5 | } -------------------------------------------------------------------------------- /settings/builder.panel.json: -------------------------------------------------------------------------------- 1 | { 2 | "excludeScenes": [], 3 | "packageName": "org.cocos2d.beat-warriors", 4 | "platform": "mac", 5 | "startScene": "406d00ab-1f03-49b6-98f5-e9dcda2232d4", 6 | "startSceneUuid": "406d00ab-1f03-49b6-98f5-e9dcda2232d4", 7 | "title": "beat-warriors" 8 | } -------------------------------------------------------------------------------- /settings/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "start-scene": "" 3 | } --------------------------------------------------------------------------------