├── .gitignore ├── LICENSE ├── README.md ├── assets ├── Javascript.meta ├── fishing.fire ├── javascript │ └── fishing.js └── res │ ├── Atlas │ ├── 捕鱼集.plist │ └── 捕鱼集.png │ ├── Audio │ └── fishBgm.mp3 │ ├── Font │ ├── mikado_outline_shadow.fnt │ └── mikado_outline_shadow.png │ ├── Javascript │ ├── DeviceDetect.js │ ├── buddhaFishing.js │ ├── common │ │ └── toolBox.js │ ├── omo.js │ └── ship.js │ ├── Pretab │ ├── bigFish.js │ ├── bigFish.prefab │ ├── biggerFish.js │ ├── biggerFish.prefab │ ├── fish.js │ ├── fish.prefab │ ├── gem.js │ ├── gem.prefab │ ├── rubbish.js │ ├── rubbish.prefab │ ├── shark.js │ └── shark.prefab │ ├── Texture │ ├── redGem.png │ ├── sprite.plist │ ├── sprite.png │ └── yellowGem.png │ └── fishing.prefab ├── creator.d.ts ├── jsconfig.json ├── project.json └── settings ├── builder.json └── project.json /.gitignore: -------------------------------------------------------------------------------- 1 | *.meta 2 | build/ 3 | library/ 4 | local/ 5 | node_modules/ 6 | packages/ 7 | settings/ 8 | temp/ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 李冲 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Project-Fishing 2 | 基于cocos creator的捕鱼小游戏 3 | -------------------------------------------------------------------------------- /assets/Javascript.meta: -------------------------------------------------------------------------------- 1 | { 2 | "ver": "1.0.1", 3 | "uuid": "cb8ec724-9a2f-4c00-93f7-bc9abcae9d48", 4 | "isSubpackage": false, 5 | "subpackageName": "", 6 | "subMetas": {} 7 | } -------------------------------------------------------------------------------- /assets/javascript/fishing.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Description: In User Settings Edit 3 | * @Author: your name 4 | * @Date: 2019-03-27 16:29:30 5 | * @LastEditTime: 2019-09-11 19:22:53 6 | * @LastEditors: Please set LastEditors 7 | */ 8 | const DeviceDetect = require("DeviceDetect"); 9 | const { curNodeCoordinate } = require("toolBox"); 10 | cc.Class({ 11 | extends: cc.Component, 12 | 13 | properties: { 14 | 15 | }, 16 | 17 | // LIFE-CYCLE CALLBACKS: 18 | onLoad() { 19 | this.fishArea = this.node.getChildByName("fishArea"); 20 | this.ship = this.node.getChildByName("ship"); 21 | this.omo = this.node.getChildByName("omo"); 22 | this.line = this.node.getChildByName("line").getComponent(cc.Graphics); 23 | 24 | if (DeviceDetect.isIpad || DeviceDetect.isAndroid || DeviceDetect.isIphone) { 25 | // 调整飞船位子 26 | this.node.on(cc.Node.EventType.TOUCH_MOVE, this.flyShipMove, this); 27 | // 监听鼠标位置,移动飞船位置并发射OMO 28 | this.node.on(cc.Node.EventType.TOUCH_START, this.fishing, this); 29 | } else { 30 | // 调整飞船位子 31 | this.node.on(cc.Node.EventType.MOUSE_MOVE, this.flyShipMove, this); 32 | // 监听鼠标位置,移动飞船位置并发射OMO 33 | this.node.on(cc.Node.EventType.MOUSE_DOWN, this.fishing, this); 34 | } 35 | 36 | }, 37 | 38 | // 开始游戏 39 | startGame() { 40 | // 获取子节点 entrance 41 | let entrance = this.node.getChildByName("entrance"); 42 | entrance.active = false; 43 | }, 44 | 45 | // 飞船移动 46 | flyShipMove(e) { 47 | let movePos = curNodeCoordinate(e, this.node); 48 | let curPos = this.ship.getPosition(); 49 | this.ship.setPosition(movePos.x, curPos.y); 50 | this.omo.setPosition(movePos.x, curPos.y); 51 | }, 52 | 53 | // 飞船捕鱼 54 | fishing(e) { 55 | let clickPos = curNodeCoordinate(e, this.node); 56 | let curPos = this.ship.getPosition(); 57 | this.ship.setPosition(clickPos.x, curPos.y); 58 | 59 | let actionBy = cc.moveTo(1, cc.v2(clickPos.x, clickPos.y)); 60 | this.omo.runAction(actionBy); 61 | }, 62 | 63 | drawLine(shipPos, omoPos) { 64 | this.line.clear(); 65 | this.line.moveTo(shipPos.x, shipPos.y); 66 | this.line.lineTo(omoPos.x, omoPos.y); 67 | this.line.stroke(); 68 | }, 69 | 70 | update() { 71 | this.drawLine(this.ship.getPosition(), this.omo.getPosition()); 72 | } 73 | 74 | }); 75 | -------------------------------------------------------------------------------- /assets/res/Atlas/捕鱼集.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | frames 6 | 7 | +1.png 8 | 9 | aliases 10 | 11 | spriteOffset 12 | {-1,0} 13 | spriteSize 14 | {30,23} 15 | spriteSourceSize 16 | {32,23} 17 | textureRect 18 | {{543,1814},{30,23}} 19 | textureRotated 20 | 21 | 22 | +2.png 23 | 24 | aliases 25 | 26 | spriteOffset 27 | {0,0} 28 | spriteSize 29 | {32,23} 30 | spriteSourceSize 31 | {32,23} 32 | textureRect 33 | {{509,1814},{32,23}} 34 | textureRotated 35 | 36 | 37 | +3.png 38 | 39 | aliases 40 | 41 | spriteOffset 42 | {0,0} 43 | spriteSize 44 | {32,23} 45 | spriteSourceSize 46 | {32,23} 47 | textureRect 48 | {{509,1839},{32,23}} 49 | textureRotated 50 | 51 | 52 | 1效果图.png 53 | 54 | aliases 55 | 56 | spriteOffset 57 | {0,0} 58 | spriteSize 59 | {480,800} 60 | spriteSourceSize 61 | {480,800} 62 | textureRect 63 | {{1,1},{480,800}} 64 | textureRotated 65 | 66 | 67 | omo.png 68 | 69 | aliases 70 | 71 | spriteOffset 72 | {0,0} 73 | spriteSize 74 | {67,81} 75 | spriteSourceSize 76 | {67,81} 77 | textureRect 78 | {{785,1779},{67,81}} 79 | textureRotated 80 | 81 | 82 | 坏温度计.png 83 | 84 | aliases 85 | 86 | spriteOffset 87 | {0,0} 88 | spriteSize 89 | {60,125} 90 | spriteSourceSize 91 | {60,125} 92 | textureRect 93 | {{491,1752},{60,125}} 94 | textureRotated 95 | 96 | 97 | 塑料瓶.png 98 | 99 | aliases 100 | 101 | spriteOffset 102 | {0,1} 103 | spriteSize 104 | {55,136} 105 | spriteSourceSize 106 | {55,140} 107 | textureRect 108 | {{491,1695},{55,136}} 109 | textureRotated 110 | 111 | 112 | 废电池.png 113 | 114 | aliases 115 | 116 | spriteOffset 117 | {0,0} 118 | spriteSize 119 | {35,118} 120 | spriteSourceSize 121 | {35,120} 122 | textureRect 123 | {{788,1665},{35,118}} 124 | textureRotated 125 | 126 | 127 | 开始游戏按钮1.png 128 | 129 | aliases 130 | 131 | spriteOffset 132 | {0,0} 133 | spriteSize 134 | {310,88} 135 | spriteSourceSize 136 | {310,88} 137 | textureRect 138 | {{329,1605},{310,88}} 139 | textureRotated 140 | 141 | 142 | 开始游戏按钮2.png 143 | 144 | aliases 145 | 146 | spriteOffset 147 | {0,0} 148 | spriteSize 149 | {326,110} 150 | spriteSourceSize 151 | {326,110} 152 | textureRect 153 | {{1,1722},{326,110}} 154 | textureRotated 155 | 156 | 157 | 开始游戏按钮3.png 158 | 159 | aliases 160 | 161 | spriteOffset 162 | {0,0} 163 | spriteSize 164 | {326,115} 165 | spriteSourceSize 166 | {326,115} 167 | textureRect 168 | {{1,1605},{326,115}} 169 | textureRotated 170 | 171 | 172 | 引导界面.png 173 | 174 | aliases 175 | 176 | spriteOffset 177 | {0,0} 178 | spriteSize 179 | {480,800} 180 | spriteSourceSize 181 | {480,800} 182 | textureRect 183 | {{483,1},{480,800}} 184 | textureRotated 185 | 186 | 187 | 收集量.png 188 | 189 | aliases 190 | 191 | spriteOffset 192 | {0,0} 193 | spriteSize 194 | {295,28} 195 | spriteSourceSize 196 | {295,28} 197 | textureRect 198 | {{1,1834},{295,28}} 199 | textureRotated 200 | 201 | 202 | 效果图.png 203 | 204 | aliases 205 | 206 | spriteOffset 207 | {0,0} 208 | spriteSize 209 | {480,800} 210 | spriteSourceSize 211 | {480,800} 212 | textureRect 213 | {{1,803},{480,800}} 214 | textureRotated 215 | 216 | 217 | 海洋生物1.png 218 | 219 | aliases 220 | 221 | spriteOffset 222 | {0,0} 223 | spriteSize 224 | {38,37} 225 | spriteSourceSize 226 | {38,37} 227 | textureRect 228 | {{868,1809},{38,37}} 229 | textureRotated 230 | 231 | 232 | 海洋生物10.png 233 | 234 | aliases 235 | 236 | spriteOffset 237 | {0,0} 238 | spriteSize 239 | {160,118} 240 | spriteSourceSize 241 | {160,118} 242 | textureRect 243 | {{329,1695},{160,118}} 244 | textureRotated 245 | 246 | 247 | 海洋生物2.png 248 | 249 | aliases 250 | 251 | spriteOffset 252 | {0,0} 253 | spriteSize 254 | {41,34} 255 | spriteSourceSize 256 | {41,34} 257 | textureRect 258 | {{922,1605},{41,34}} 259 | textureRotated 260 | 261 | 262 | 海洋生物3.png 263 | 264 | aliases 265 | 266 | spriteOffset 267 | {0,0} 268 | spriteSize 269 | {51,35} 270 | spriteSourceSize 271 | {51,35} 272 | textureRect 273 | {{456,1827},{51,35}} 274 | textureRotated 275 | 276 | 277 | 海洋生物4.png 278 | 279 | aliases 280 | 281 | spriteOffset 282 | {0,0} 283 | spriteSize 284 | {50,45} 285 | spriteSourceSize 286 | {50,45} 287 | textureRect 288 | {{738,1687},{50,45}} 289 | textureRotated 290 | 291 | 292 | 海洋生物5.png 293 | 294 | aliases 295 | 296 | spriteOffset 297 | {0,0} 298 | spriteSize 299 | {50,49} 300 | spriteSourceSize 301 | {50,49} 302 | textureRect 303 | {{908,1805},{50,49}} 304 | textureRotated 305 | 306 | 307 | 海洋生物6.png 308 | 309 | aliases 310 | 311 | spriteOffset 312 | {0,0} 313 | spriteSize 314 | {47,63} 315 | spriteSourceSize 316 | {47,63} 317 | textureRect 318 | {{329,1815},{47,63}} 319 | textureRotated 320 | 321 | 322 | 海洋生物7.png 323 | 324 | aliases 325 | 326 | spriteOffset 327 | {0,0} 328 | spriteSize 329 | {55,51} 330 | spriteSourceSize 331 | {55,51} 332 | textureRect 333 | {{908,1752},{55,51}} 334 | textureRotated 335 | 336 | 337 | 海洋生物8.png 338 | 339 | aliases 340 | 341 | spriteOffset 342 | {1,-1} 343 | spriteSize 344 | {68,70} 345 | spriteSourceSize 346 | {70,72} 347 | textureRect 348 | {{715,1755},{68,70}} 349 | textureRotated 350 | 351 | 352 | 海洋生物9.png 353 | 354 | aliases 355 | 356 | spriteOffset 357 | {0,0} 358 | spriteSize 359 | {95,66} 360 | spriteSourceSize 361 | {95,66} 362 | textureRect 363 | {{641,1687},{95,66}} 364 | textureRotated 365 | 366 | 367 | 海洋背景.png 368 | 369 | aliases 370 | 371 | spriteOffset 372 | {0,0} 373 | spriteSize 374 | {480,800} 375 | spriteSourceSize 376 | {480,800} 377 | textureRect 378 | {{483,803},{480,800}} 379 | textureRotated 380 | 381 | 382 | 烂苹果.png 383 | 384 | aliases 385 | 386 | spriteOffset 387 | {0,0} 388 | spriteSize 389 | {75,87} 390 | spriteSourceSize 391 | {75,87} 392 | textureRect 393 | {{785,1702},{75,87}} 394 | textureRotated 395 | 396 | 397 | 玻璃瓶.png 398 | 399 | aliases 400 | 401 | spriteOffset 402 | {0,0} 403 | spriteSize 404 | {58,132} 405 | spriteSourceSize 406 | {60,132} 407 | textureRect 408 | {{788,1605},{58,132}} 409 | textureRotated 410 | 411 | 412 | 红宝石.png 413 | 414 | aliases 415 | 416 | spriteOffset 417 | {0,0} 418 | spriteSize 419 | {32,46} 420 | spriteSourceSize 421 | {32,46} 422 | textureRect 423 | {{874,1761},{32,46}} 424 | textureRotated 425 | 426 | 427 | 飞船等级1.png 428 | 429 | aliases 430 | 431 | spriteOffset 432 | {0,0} 433 | spriteSize 434 | {85,55} 435 | spriteSourceSize 436 | {85,55} 437 | textureRect 438 | {{908,1665},{85,55}} 439 | textureRotated 440 | 441 | 442 | 飞船等级2.png 443 | 444 | aliases 445 | 446 | spriteOffset 447 | {0,0} 448 | spriteSize 449 | {95,66} 450 | spriteSourceSize 451 | {95,66} 452 | textureRect 453 | {{618,1755},{95,66}} 454 | textureRotated 455 | 456 | 457 | 飞船等级3.png 458 | 459 | aliases 460 | 461 | spriteOffset 462 | {0,0} 463 | spriteSize 464 | {145,80} 465 | spriteSourceSize 466 | {145,80} 467 | textureRect 468 | {{641,1605},{145,80}} 469 | textureRotated 470 | 471 | 472 | 鱼叉.png 473 | 474 | aliases 475 | 476 | spriteOffset 477 | {0,0} 478 | spriteSize 479 | {43,60} 480 | spriteSourceSize 481 | {43,60} 482 | textureRect 483 | {{394,1815},{43,60}} 484 | textureRotated 485 | 486 | 487 | 黄宝石.png 488 | 489 | aliases 490 | 491 | spriteOffset 492 | {0,0} 493 | spriteSize 494 | {32,57} 495 | spriteSourceSize 496 | {32,57} 497 | textureRect 498 | {{874,1702},{32,57}} 499 | textureRotated 500 | 501 | 502 | 503 | metadata 504 | 505 | format 506 | 3 507 | pixelFormat 508 | RGBA8888 509 | premultiplyAlpha 510 | 511 | realTextureFileName 512 | 捕鱼集.png 513 | size 514 | {964,1863} 515 | smartupdate 516 | $TexturePacker:SmartUpdate:e6f649b25a5fa0bc06d553f98f4dd1c1:5126209bb53b9549987007ef73584273:edc0f5df7cf19799abead819c5c30759$ 517 | textureFileName 518 | 捕鱼集.png 519 | 520 | 521 | 522 | -------------------------------------------------------------------------------- /assets/res/Atlas/捕鱼集.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/licydlx/Project-Fishing/4a6dc08373b0cb4a473e4c0ef54d2f7e7ae115b8/assets/res/Atlas/捕鱼集.png -------------------------------------------------------------------------------- /assets/res/Audio/fishBgm.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/licydlx/Project-Fishing/4a6dc08373b0cb4a473e4c0ef54d2f7e7ae115b8/assets/res/Audio/fishBgm.mp3 -------------------------------------------------------------------------------- /assets/res/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/res/Font/mikado_outline_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/licydlx/Project-Fishing/4a6dc08373b0cb4a473e4c0ef54d2f7e7ae115b8/assets/res/Font/mikado_outline_shadow.png -------------------------------------------------------------------------------- /assets/res/Javascript/DeviceDetect.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Description: In User Settings Edit 3 | * @Author: your name 4 | * @Date: 2019-09-09 14:21:06 5 | * @LastEditTime: 2019-09-09 14:21:23 6 | * @LastEditors: Please set LastEditors 7 | */ 8 | let DeviceDetect = {}; 9 | let ua = navigator.userAgent.toLowerCase(); 10 | let s; 11 | // 是否是IE浏览器 12 | DeviceDetect.isIE = (s = ua.match(/(msie\s|trident.*rv:)([\d.]+)/)) ? parseInt(s[2]) : false; 13 | // 是否是火狐浏览器 14 | DeviceDetect.isFirefox = (s = ua.match(/firefox\/([\d.]+)/)) ? parseInt(s[1]) : false; 15 | // 是否是谷歌浏览器 16 | DeviceDetect.isChrome = (s = ua.match(/chrome\/([\d.]+)/)) ? parseInt(s[1]) : false; 17 | // 是否是isOpera浏览器 18 | DeviceDetect.isOpera = (s = ua.match(/opera.([\d.]+)/)) ? parseInt(s[1]) : false; 19 | // 是否是safari浏览器 20 | DeviceDetect.isSafari = (s = ua.match(/version\/([\d.]+).*safari/)) ? parseInt(s[1]) : false; 21 | // 是否是UC浏览器 22 | DeviceDetect.isUcweb = (s = ua.match(/ucbrowser/)) ? !!s : false; 23 | // 是否是QQ浏览器 24 | DeviceDetect.isMqq = (s = ua.match(/mqqbrowser/)) ? !!s : false; 25 | 26 | // 是否是android 27 | DeviceDetect.isAndroid = (s = ua.match(/android/)) ? s : false; 28 | // 是否是iphone 29 | DeviceDetect.isIphone = (s = ua.match(/iphone os/)) ? s : false; 30 | // 是否是ipad 31 | DeviceDetect.isIpad = (s = ua.match(/ipad/)) ? s : false; 32 | // 是否是ios 33 | DeviceDetect.isIos = DeviceDetect.isIpad || DeviceDetect.isIphone; 34 | // 是否是Win32 35 | DeviceDetect.isWin32 = /win32/i.test(window.navigator.platform); 36 | // 是否是微信 37 | DeviceDetect.isWeixin = (s = ua.match(/MicroMessenger/i)) ? !!s : false; 38 | // 是否是微博 39 | DeviceDetect.isWeiBo = (s = ua.match(/__weibo__/)) ? !!s : false; 40 | 41 | module.exports = DeviceDetect; -------------------------------------------------------------------------------- /assets/res/Javascript/buddhaFishing.js: -------------------------------------------------------------------------------- 1 | /* 2 | * @Description: In User Settings Edit 3 | * @Author: your name 4 | * @Date: 2019-03-27 16:29:30 5 | * @LastEditTime: 2019-09-11 17:02:21 6 | * @LastEditors: Please set LastEditors 7 | */ 8 | 9 | const toolBox = require("toolBox"); 10 | const DeviceDetect = require("DeviceDetect"); 11 | const getRandomNum = toolBox.getRandomNum; 12 | const getNumFromAssign = toolBox.getNumFromAssign; 13 | const curNodeCoordinate = toolBox.curNodeCoordinate; 14 | 15 | // 要干什么 16 | // 飞碟 omo 线 17 | // 飞碟移动 屏幕点击 omo移动 飞碟与omo连线 捕获检测 18 | cc.Class({ 19 | extends: cc.Component, 20 | 21 | properties: { 22 | 23 | fish: { 24 | default: [], 25 | type: [cc.Prefab] 26 | }, 27 | 28 | rubbish: { 29 | default: null, 30 | type: cc.Prefab 31 | }, 32 | 33 | gem: { 34 | default: null, 35 | type: cc.Prefab 36 | }, 37 | 38 | timeProgress: { 39 | type: cc.ProgressBar, 40 | default: null 41 | }, 42 | 43 | rankProgress: { 44 | type: cc.ProgressBar, 45 | default: null 46 | }, 47 | 48 | shipSpr: { 49 | default: [], 50 | type: [cc.SpriteFrame] 51 | }, 52 | 53 | scoreList: { 54 | default: [], 55 | type: [cc.SpriteFrame] 56 | }, 57 | 58 | fishBgm: { 59 | default: null, 60 | type: cc.AudioClip 61 | }, 62 | 63 | fishGrower: { 64 | default: true, 65 | displayName: '飞船渐大' 66 | }, 67 | 68 | }, 69 | 70 | // LIFE-CYCLE CALLBACKS: 71 | onLoad() { 72 | this.viewWidth = this.node.width; 73 | this.viewHeight = this.node.height; 74 | this.FLYSHIP = this.node.getChildByName("flyShip"); 75 | this.SHIP = this.FLYSHIP.getChildByName("ship"); 76 | this.LINE = this.FLYSHIP.getChildByName("line").getComponent(cc.Graphics); 77 | this.OMO = this.FLYSHIP.getChildByName("omo"); 78 | this.HARPOON = this.FLYSHIP.getChildByName("harpoon"); 79 | this.GAMEVICTORY = this.node.getChildByName("gameVictory"); 80 | this.GAMEFAIL = this.node.getChildByName("gameFail"); 81 | 82 | this.COVER = this.node.parent.getChildByName("cover"); 83 | this.coverDown = true; 84 | 85 | let startButton = this.COVER.getChildByName("start"); 86 | if (startButton) { 87 | startButton.on(cc.Node.EventType.TOUCH_START, this.gameStart, this); 88 | } 89 | 90 | // 捕鱼成功,OMO回家睡觉觉 91 | this.node.on('retakeOMO', this._retakeOMO, this); 92 | 93 | // 捕获宝石,增加游戏时间 94 | // 红:5秒;黄:3秒; 95 | this.node.on('addTime', this._addTime, this); 96 | 97 | this.isMessageAction = false; 98 | // 监听课件message 99 | window.messageCallback = (data) => { 100 | this.isMessageAction = true; 101 | switch (data.type) { 102 | // case "FISHING_INIT": 103 | // this.init(); 104 | // break; 105 | case "FISHING_GAME_START": 106 | this.gameStart(); 107 | break; 108 | 109 | case "FISHING_POSITION_CHANGE": 110 | this.positionChange(data.handleData); 111 | break; 112 | 113 | case "FISHING_FISHING": 114 | this.fishing(data.handleData); 115 | break; 116 | default: 117 | break; 118 | } 119 | this.isMessageAction = false; 120 | } 121 | 122 | }, 123 | 124 | sentMessage(type, handleData) { 125 | if (window !== window.parent) { 126 | window.parent.postMessage(JSON.stringify({ 127 | type, 128 | handleData 129 | }), '*'); 130 | } 131 | }, 132 | 133 | // 游戏开始 134 | gameStart() { 135 | if (!this.isMessageAction) { 136 | this.sentMessage("FISHING_GAME_START"); 137 | } 138 | this.coverDown = false; 139 | this.COVER.setPosition(-2000, 0); 140 | setTimeout(function () { 141 | this.init(); 142 | }.bind(this), 10); 143 | }, 144 | 145 | onDestroy() { 146 | 147 | }, 148 | 149 | init() { 150 | this.GAMEVICTORY.runAction(cc.hide()); 151 | this.GAMEFAIL.runAction(cc.hide()); 152 | this.OMO.runAction(cc.hide()); 153 | this.HARPOON.runAction(cc.fadeOut(.1)); 154 | 155 | let fishPool = this.node.getChildByName('fishPool'); 156 | fishPool.removeAllChildren(); 157 | 158 | this.fishTarget = null; 159 | this.countDown = true; 160 | this.FLAG = true; 161 | this.coverDown = true; 162 | this.gemTime = getNumFromAssign([5, 6, 7, 8]); 163 | 164 | this.timeProgress.progress = 1; 165 | this.rankProgress.progress = 0; 166 | 167 | this.OMO.rank = 1; 168 | this.SHIP.scale = .8; 169 | this.SHIP.x = 0; 170 | this.OMO.scale = .8; 171 | this.HARPOON.scale = .4; 172 | this.LINE.lineWidth = .8; 173 | 174 | let rankLabel = this.node.getChildByName('rank').getComponent(cc.Label); 175 | rankLabel.string = this.OMO.rank; 176 | 177 | // 飞船是否长大 178 | if (this.fishGrower) { 179 | let seq = cc.sequence( 180 | cc.scaleTo(.2, .2), 181 | cc.scaleTo(.4, .4), 182 | cc.scaleTo(.6, .6), 183 | cc.scaleTo(.8, .8), 184 | cc.callFunc(function (e) { 185 | this.flyShipBind(); 186 | }, this) 187 | ); 188 | this.SHIP.runAction(seq); 189 | } else { 190 | this.flyShipBind(); 191 | } 192 | 193 | // 创造鱼 194 | setTimeout(function () { 195 | this._createDeaultFish(); 196 | }.bind(this), 1000); 197 | 198 | // 播放背景音乐 199 | if (this.fishBgm) { 200 | cc.audioEngine.play(this.fishBgm, false, .1); 201 | } 202 | }, 203 | 204 | onEnable: function () { 205 | cc.director.getCollisionManager().enabled = true; 206 | //cc.director.getCollisionManager().enabledDebugDraw = true; 207 | }, 208 | 209 | onDisable: function () { 210 | cc.director.getCollisionManager().enabled = false; 211 | //cc.director.getCollisionManager().enabledDebugDraw = false; 212 | }, 213 | 214 | update(dt) { 215 | if (this.gemTime) { 216 | this.gemTime -= dt * 1; 217 | 218 | if (this.gemTime < 0) { 219 | this.gemTime = null; 220 | this._createGem(); 221 | } 222 | } 223 | 224 | if (this.gemSub) { 225 | this.gemSub.y -= 140 * dt; 226 | if (this.gemSub.y < 20 - this.viewHeight / 2) { 227 | // 销毁宝石 228 | let fishPool = this.node.getChildByName('fishPool'); 229 | let gem = fishPool.getChildByName('gem'); 230 | gem.runAction(cc.hide()); 231 | gem.destroy(); 232 | this.gemSub = null; 233 | } 234 | } 235 | 236 | // 倒计时 237 | if (this.countDown) { 238 | this._updateProgressBar(this.timeProgress, dt); 239 | } 240 | 241 | if (!this.FLAG) this._drawLine(this.SHIP, this.OMO); 242 | 243 | // 是否发射OMO 244 | if (this.isLaunchOMO) { 245 | let OMOcurPos = this.OMO.y + 120 * dt; 246 | this.OMO.setPosition(this.OMO.x, OMOcurPos); 247 | if (this.OMOtoY < OMOcurPos) { 248 | this.isLaunchOMO = false; 249 | this._retakeOMO(); 250 | } 251 | } 252 | 253 | // 是否回收OMO 254 | if (this.isRetake) { 255 | // OMO老坐标 256 | let oldPos = this.OMO.position; 257 | let direction = this.moveToPos.sub(oldPos).normalize(); 258 | // OMO新坐标 259 | let newPos = oldPos.add(direction.mul(120 * dt)); 260 | this.OMO.setPosition(newPos); 261 | 262 | // 是否捕到鱼了 263 | if (this.fishTarget) { 264 | let newFishPosX = newPos.x + 10; 265 | let newFishPosY = newPos.y - 10; 266 | this.fishTarget.setPosition(newFishPosX, newFishPosY); 267 | } 268 | 269 | // 绘制OMO及飞船之间的线 270 | this._drawLine(this.SHIP, this.OMO); 271 | // OMO及飞船间的距离 272 | let gap = Math.pow(Math.abs(oldPos.x - newPos.x), 2) + Math.pow(Math.abs(-150 - newPos.y), 2); 273 | if (gap < 20) { 274 | if (this.fishTarget) { 275 | switch (this.fishTarget.name) { 276 | case 'fish': 277 | this._addScore(this.fishTarget.name, 1); 278 | break; 279 | case 'bigFish': 280 | this._addScore(this.fishTarget.name, 2); 281 | break; 282 | case 'biggerFish': 283 | this._addScore(this.fishTarget.name, 3); 284 | break; 285 | case 'rubbish': 286 | this._addScore(this.fishTarget.name, 2); 287 | break; 288 | default: 289 | break; 290 | } 291 | this.fishTarget.removeFromParent(); 292 | this.fishTarget = null; 293 | } 294 | 295 | this.OMO.runAction(cc.hide()); 296 | this.isRetake = false; 297 | this.FLAG = true; 298 | } 299 | } 300 | }, 301 | 302 | // 飞船事件绑定 303 | flyShipBind() { 304 | if (DeviceDetect.isIpad) { 305 | // 调整飞船位子 306 | this.node.on(cc.Node.EventType.TOUCH_MOVE, this.positionChange, this); 307 | // 监听鼠标位置,移动飞船位置并发射OMO 308 | this.node.on(cc.Node.EventType.TOUCH_START, this.fishing, this); 309 | } else { 310 | // 调整飞船位子 311 | this.node.on(cc.Node.EventType.MOUSE_MOVE, this.positionChange, this); 312 | // 监听鼠标位置,移动飞船位置并发射OMO 313 | this.node.on(cc.Node.EventType.MOUSE_DOWN, this.fishing, this); 314 | } 315 | }, 316 | // 根据鼠标移动,调整飞船x轴位置 317 | positionChange(event) { 318 | if (!this.coverDown) return; 319 | let nodeSpacePos; 320 | if (!this.isMessageAction) { 321 | nodeSpacePos = curNodeCoordinate(event, this.node); 322 | this.sentMessage("FISHING_POSITION_CHANGE", { 323 | nodeSpacePos 324 | }); 325 | } else { 326 | nodeSpacePos = event.nodeSpacePos; 327 | } 328 | 329 | this.SHIP.setPosition(nodeSpacePos.x, -150); 330 | if (this.FLAG) this.OMO.setPosition(nodeSpacePos.x, -150); 331 | this.moveToPos = cc.v2(nodeSpacePos.x, -150); 332 | }, 333 | 334 | 335 | // 根据点击事件,调整飞船位置及发射OMO捕鱼 336 | fishing(event) { 337 | if (!this.coverDown) return; 338 | 339 | let nodeSpacePos; 340 | if (!this.isMessageAction) { 341 | nodeSpacePos = curNodeCoordinate(event, this.node); 342 | this.sentMessage("FISHING_FISHING", { 343 | nodeSpacePos 344 | }); 345 | } else { 346 | nodeSpacePos = event.nodeSpacePos; 347 | } 348 | 349 | this.SHIP.setPosition(nodeSpacePos.x, -150); 350 | if (this.FLAG) { 351 | this.FLAG = false; 352 | this._harpoonAnimation(nodeSpacePos); 353 | this._launchOMO(nodeSpacePos); 354 | } 355 | }, 356 | 357 | // 鱼叉显示及隐藏 358 | _harpoonAnimation(nodeSpacePos) { 359 | this.HARPOON.setPosition(nodeSpacePos.x, nodeSpacePos.y); 360 | let action = cc.sequence( 361 | cc.fadeIn(.1), 362 | cc.fadeOut(1) 363 | ); 364 | this.HARPOON.runAction(action); 365 | }, 366 | 367 | // 发射OMO 368 | _launchOMO(nodeSpacePos) { 369 | this.OMO.runAction(cc.show()); 370 | this.OMO.setPosition(nodeSpacePos.x, -140); 371 | this.OMO.rotation = 0; 372 | this.OMOtoY = nodeSpacePos.y; 373 | 374 | this.isLaunchOMO = true; 375 | }, 376 | 377 | // 回收OMO 378 | _retakeOMO(event) { 379 | if (event) { 380 | event.stopPropagation(); 381 | if (!(this.OMO.rank < event.detail.rank)) this.fishTarget = event.detail; 382 | this.isLaunchOMO = false; 383 | } 384 | this.OMO.rotation = 180; 385 | this.isRetake = true; 386 | }, 387 | 388 | // 绘制线 389 | _drawLine(shipPos, omoPos) { 390 | this.LINE.clear(); 391 | this.LINE.moveTo(shipPos.x, shipPos.y); 392 | this.LINE.lineTo(omoPos.x, omoPos.y); 393 | this.LINE.stroke(); 394 | }, 395 | 396 | // 生产宝石 397 | _createGem() { 398 | let gem = cc.instantiate(this.gem); 399 | gem.parent = this.node.getChildByName('fishPool'); 400 | gem.setPosition(getRandomNum(110), 150); 401 | this.gemSub = gem; 402 | this.gemTime = getNumFromAssign([5, 6, 7, 8]); 403 | }, 404 | 405 | // 根据宝石添加时间 406 | _addTime(event) { 407 | event.stopPropagation(); 408 | // 添加时间 409 | let addTime = parseInt(event.detail.addTime) / 30; 410 | this.timeProgress.progress = this.timeProgress.progress + addTime; 411 | 412 | // 销毁宝石 413 | let fishPool = this.node.getChildByName('fishPool'); 414 | let gem = fishPool.getChildByName('gem'); 415 | gem.runAction(cc.hide()); 416 | gem.destroy(); 417 | this.gemSub = null; 418 | }, 419 | 420 | // 游戏胜利 421 | _gameVictory() { 422 | this.GAMEVICTORY.runAction(cc.show()); 423 | this._reloadGame(); 424 | }, 425 | 426 | // 游戏失败 427 | gameFail() { 428 | this.LINE.clear(); 429 | this.gemTime = null; 430 | this.gemSub = null; 431 | this.countDown = null; 432 | this.FLAG = true; 433 | this.isLaunchOMO = null; 434 | this.isRetake = null; 435 | 436 | if (DeviceDetect.isIpad) { 437 | // 调整飞船位子 438 | this.node.off(cc.Node.EventType.TOUCH_MOVE, this.positionChange, this); 439 | // 监听鼠标位置,移动飞船位置并发射OMO 440 | this.node.off(cc.Node.EventType.TOUCH_START, this.fishing, this); 441 | } else { 442 | // 调整飞船位子 443 | this.node.off(cc.Node.EventType.MOUSE_MOVE, this.positionChange, this); 444 | // 监听鼠标位置,移动飞船位置并发射OMO 445 | this.node.off(cc.Node.EventType.MOUSE_DOWN, this.fishing, this); 446 | } 447 | 448 | let fishPool = this.node.getChildByName('fishPool'); 449 | fishPool.removeAllChildren(true); 450 | this.GAMEFAIL.runAction(cc.show()); 451 | cc.audioEngine.stopAll(); 452 | this._reloadGame(); 453 | }, 454 | 455 | // 重置游戏 456 | _reloadGame() { 457 | setTimeout(function () { 458 | this.GAMEVICTORY.runAction(cc.hide()); 459 | this.GAMEFAIL.runAction(cc.hide()); 460 | this.COVER.setPosition(0, 0); 461 | }.bind(this), 2000); 462 | }, 463 | 464 | // 飞创升级 465 | _shipRise() { 466 | let sprite = this.SHIP.getComponent(cc.Sprite); 467 | sprite.spriteFrame = this.shipSpr[this.OMO.rank - 1]; 468 | 469 | // 飞创逐渐变大 470 | let action = cc.scaleBy(this.SHIP.scale + .3, this.SHIP.scale + .3); 471 | action.easing(cc.easeIn(3.0)); 472 | this.SHIP.runAction(action); 473 | 474 | this.SHIP.scale = this.SHIP.scale + .3; 475 | this.OMO.scale = this.OMO.scale + .2; 476 | this.HARPOON.scale = this.HARPOON.scale + .08; 477 | this.LINE.lineWidth = this.LINE.lineWidth + .15; 478 | }, 479 | 480 | _createDeaultFish() { 481 | let num; 482 | let bigNum; 483 | let seq; 484 | let bigSeq; 485 | let rank; 486 | let bigRank; 487 | switch (this.OMO.rank) { 488 | case 1: 489 | num = 4; 490 | bigNum = 1; 491 | seq = 0; 492 | bigSeq = 1; 493 | rank = 1; 494 | bigRank = 2; 495 | break; 496 | 497 | case 2: 498 | num = 3; 499 | bigNum = 2; 500 | seq = 1; 501 | bigSeq = 2; 502 | rank = 2; 503 | bigRank = 3; 504 | break; 505 | 506 | case 3: 507 | num = 3; 508 | bigNum = 2; 509 | seq = 2; 510 | bigSeq = 3; 511 | rank = 3; 512 | bigRank = 4; 513 | break; 514 | case 4: 515 | num = 5; 516 | seq = 3; 517 | rank = 4; 518 | break; 519 | } 520 | 521 | // 垃圾 522 | this._createRubbish(); 523 | // 小鱼 524 | for (let index = 0; index < num; index++) { 525 | let fish = cc.instantiate(this.fish[seq]); 526 | fish.rank = rank; 527 | fish.parent = this.node.getChildByName('fishPool'); 528 | } 529 | 530 | if (rank == 4) return; 531 | for (let index = 0; index < bigNum; index++) { 532 | let fish = cc.instantiate(this.fish[bigSeq]); 533 | fish.rank = bigRank; 534 | fish.parent = this.node.getChildByName('fishPool'); 535 | } 536 | 537 | }, 538 | 539 | _createRubbish() { 540 | let rubbish = cc.instantiate(this.rubbish); 541 | rubbish.parent = this.node.getChildByName('fishPool'); 542 | }, 543 | 544 | // 生成小鱼 545 | _createFish() { 546 | let fish = cc.instantiate(this.fish[this.OMO.rank - 1]); 547 | fish.rank = this.OMO.rank; 548 | fish.parent = this.node.getChildByName('fishPool'); 549 | }, 550 | 551 | _updateProgressBar: function (progressBar, dt) { 552 | let progress = progressBar.progress; 553 | if (progress > 0) { 554 | progress -= dt * 1 / 30; 555 | progressBar.progress = progress; 556 | } else { 557 | this.countDown = false; 558 | this.gameFail(); 559 | } 560 | }, 561 | 562 | // 加分动效 563 | _addScore(name, seq) { 564 | let scoreNode = this.SHIP.getChildByName("score"); 565 | let score = scoreNode.getComponent(cc.Sprite); 566 | score.spriteFrame = this.scoreList[seq - 1]; 567 | let action = cc.sequence(cc.fadeIn(.2), cc.fadeOut(1)); 568 | scoreNode.runAction(action); 569 | 570 | // 更新分数进度条 571 | this._addRankProgress(name, seq); 572 | }, 573 | 574 | // 更新分数进度条 575 | _addRankProgress(name, score) { 576 | let progressBar = this.rankProgress; 577 | let progress = progressBar.progress; 578 | 579 | if (progress < 1) { 580 | progress = progress + score / 10; 581 | if (name == 'rubbish') { 582 | this._createRubbish(); 583 | } else { 584 | this._createFish(); 585 | } 586 | } else { 587 | // 鱼升级 588 | this.OMO.rank = this.OMO.rank + 1; 589 | let rankLabel = this.node.getChildByName('rank').getComponent(cc.Label); 590 | rankLabel.string = this.OMO.rank; 591 | let fishPool = this.node.getChildByName('fishPool'); 592 | fishPool.removeAllChildren(true); 593 | 594 | if (this.OMO.rank < 4) { 595 | this._createDeaultFish(); 596 | this._shipRise(); 597 | progress = 0; 598 | } else { 599 | this.countDown = false; 600 | this._gameVictory(); 601 | } 602 | } 603 | progressBar.progress = progress; 604 | }, 605 | 606 | }); 607 | -------------------------------------------------------------------------------- /assets/res/Javascript/common/toolBox.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 函数说明:判断是否为数组 3 | * @关键字 4 | */ 5 | const isArrayFn = function (value) { 6 | if (typeof Array.isArray === "function") { 7 | return Array.isArray(value); 8 | } else { 9 | return Object.prototype.toString.call(value) === "[object Array]"; 10 | } 11 | } 12 | 13 | // 返回 -1 至 1 14 | const getRandomNum = function (mul) { 15 | if (!mul) mul = 1; 16 | return Math.random() > .5 ? -Math.round(Math.random() * mul) : Math.round(Math.random() * mul); 17 | } 18 | 19 | /** 20 | * 函数说明 21 | * @关键字 22 | */ 23 | const getNumFromAssign = function (array) { 24 | return array[Math.floor(Math.random() * array.length)]; 25 | } 26 | 27 | // 节点坐标系转换 28 | const curNodeCoordinate = function (event, context) { 29 | // 鼠标世界空间坐标系位置 30 | let location = event.getLocation(); 31 | // 转为该节点的空间坐标系位置 32 | let nodeSpacePos = context.convertToNodeSpaceAR(location); 33 | return nodeSpacePos; 34 | } 35 | 36 | module.exports = { 37 | getRandomNum: getRandomNum, 38 | getNumFromAssign: getNumFromAssign, 39 | curNodeCoordinate: curNodeCoordinate, 40 | isArrayFn:isArrayFn 41 | }; 42 | -------------------------------------------------------------------------------- /assets/res/Javascript/omo.js: -------------------------------------------------------------------------------- 1 | 2 | cc.Class({ 3 | extends: cc.Component, 4 | 5 | properties: {}, 6 | // LIFE-CYCLE CALLBACKS: 7 | // onLoad () {}, 8 | // 碰撞 生命周期 9 | 10 | 11 | 12 | /** 13 | * 当碰撞产生的时候调用 14 | * @param {Collider} other 产生碰撞的另一个碰撞组件 15 | * @param {Collider} self 产生碰撞的自身的碰撞组件 16 | */ 17 | 18 | onCollisionEnter: function (other, self) { 19 | // 碰撞系统会计算出碰撞组件在世界坐标系下的相关的值,并放到 world 这个属性里面 20 | let world = self.world; 21 | let noworld = other.world; 22 | // // 碰撞组件的 aabb 碰撞框 23 | // var aabb = world.aabb; 24 | // // 节点碰撞前上一帧 aabb 碰撞框的位置 25 | // var preAabb = world.preAabb; 26 | // // 碰撞框的世界矩阵 27 | // var t = world.transform; 28 | // // 以下属性为圆形碰撞组件特有属性 29 | // var r = world.radius; 30 | // var p = world.position; 31 | // // 以下属性为 矩形 和 多边形 碰撞组件特有属性 32 | // var ps = world.points; 33 | 34 | // dispatchEvent:做事件传递 35 | // 碰撞小鱼鱼 36 | let a = { position: other.world.position, radius: other.world.radius }; 37 | let b = { position: self.world.position, radius: self.world.radius }; 38 | if(!a.position) return; 39 | 40 | if (cc.Intersection.circleCircle(a, b)) { 41 | // 向上纵向碰撞 42 | if (a.position.y > b.position.y) { 43 | 44 | if (a.radius > b.radius) { 45 | // 碰到大鱼,猥琐回家 46 | } else { 47 | // 碰到小鱼,纳入囊中 48 | let cee = new cc.Event.EventCustom('retakeOMO', true); 49 | cee.setUserData(other.node); 50 | this.node.dispatchEvent(cee); 51 | } 52 | } 53 | } 54 | 55 | 56 | }, 57 | 58 | /** 59 | * 当碰撞产生后,碰撞结束前的情况下,每次计算碰撞结果后调用 60 | * @param {Collider} other 产生碰撞的另一个碰撞组件 61 | * @param {Collider} self 产生碰撞的自身的碰撞组件 62 | */ 63 | onCollisionStay: function (other, self) { 64 | 65 | }, 66 | 67 | /** 68 | * 当碰撞结束后调用 69 | * @param {Collider} other 产生碰撞的另一个碰撞组件 70 | * @param {Collider} self 产生碰撞的自身的碰撞组件 71 | */ 72 | onCollisionExit: function (other, self) { 73 | 74 | } 75 | 76 | }); 77 | -------------------------------------------------------------------------------- /assets/res/Javascript/ship.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: {}, 5 | // LIFE-CYCLE CALLBACKS: 6 | // onLoad () {}, 7 | // 碰撞 生命周期 8 | 9 | /** 10 | * 当碰撞产生的时候调用 11 | * @param {Collider} other 产生碰撞的另一个碰撞组件 12 | * @param {Collider} self 产生碰撞的自身的碰撞组件 13 | */ 14 | onCollisionEnter: function (other, self) { 15 | let noworld = other.world; 16 | // dispatchEvent:做事件传递 17 | if (noworld.points) { 18 | // 碰撞宝石 19 | let cee = new cc.Event.EventCustom('addTime', true); 20 | cee.setUserData(other.node); 21 | this.node.dispatchEvent(cee); 22 | } 23 | }, 24 | 25 | /** 26 | * 当碰撞产生后,碰撞结束前的情况下,每次计算碰撞结果后调用 27 | * @param {Collider} other 产生碰撞的另一个碰撞组件 28 | * @param {Collider} self 产生碰撞的自身的碰撞组件 29 | */ 30 | onCollisionStay: function (other, self) { 31 | 32 | }, 33 | 34 | /** 35 | * 当碰撞结束后调用 36 | * @param {Collider} other 产生碰撞的另一个碰撞组件 37 | * @param {Collider} self 产生碰撞的自身的碰撞组件 38 | */ 39 | onCollisionExit: function (other, self) { 40 | 41 | } 42 | 43 | }); 44 | -------------------------------------------------------------------------------- /assets/res/Pretab/bigFish.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | enemySpriteFrames: { 6 | default: [], 7 | type: [cc.SpriteFrame] 8 | } 9 | }, 10 | 11 | // LIFE-CYCLE CALLBACKS: 12 | onLoad() { 13 | this.node.setPosition(this.getRandomNum(120),this.getRandomNum(120)); 14 | this.node.scale = parseInt(this.node.scale) * 40/100; 15 | let circleCollider = this.node.addComponent(cc.CircleCollider); 16 | circleCollider.radius = 30; 17 | 18 | let index = Math.floor(Math.random() * this.enemySpriteFrames.length); 19 | let fish = this.node.getComponent(cc.Sprite); 20 | fish.spriteFrame = this.enemySpriteFrames[index]; 21 | }, 22 | 23 | start() { 24 | this.time = 0; 25 | this.moveCoordinate(); 26 | }, 27 | 28 | update(dt) { 29 | this.time += dt; 30 | if (this.time > 2) { 31 | this.time = 0; 32 | this.moveCoordinate(); 33 | } 34 | }, 35 | 36 | moveCoordinate() { 37 | // 停止并且移除所有正在运行的动作列表 38 | this.node.stopAllActions(); 39 | // 旧坐标 40 | let oldCoordinate = this.node.getPosition(); 41 | // 新坐标 42 | let newCoordinate = cc.v2(oldCoordinate.x + this.getRandomNum(60), oldCoordinate.y + this.getRandomNum(60)); 43 | // 游戏背景尺寸 44 | let width = this.node.parent.width; 45 | let height = this.node.parent.height; 46 | // 新坐标限制条件 47 | newCoordinate.x < -width / 2 || newCoordinate.x > width / 2 ? newCoordinate.x = oldCoordinate.x : ''; 48 | newCoordinate.y < -height / 2 + 100 || newCoordinate.y > height / 2 - 40 ? newCoordinate.y = oldCoordinate.y : ''; 49 | 50 | let moveCoordinate = cc.catmullRomTo(2.8, [oldCoordinate, newCoordinate]); 51 | this.node.runAction(moveCoordinate); 52 | }, 53 | 54 | // 返回 -1 至 1 55 | getRandomNum(mul) { 56 | if (!mul) mul = 1; 57 | return Math.random() > .5 ? -Math.round(Math.random() * mul) : Math.round(Math.random() * mul); 58 | } 59 | 60 | }); 61 | -------------------------------------------------------------------------------- /assets/res/Pretab/bigFish.prefab: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.Prefab", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_native": "", 7 | "data": { 8 | "__id__": 1 9 | }, 10 | "optimizationPolicy": 0, 11 | "asyncLoadAssets": false, 12 | "readonly": false 13 | }, 14 | { 15 | "__type__": "cc.Node", 16 | "_name": "fish", 17 | "_objFlags": 0, 18 | "_parent": null, 19 | "_children": [], 20 | "_active": true, 21 | "_level": 1, 22 | "_components": [ 23 | { 24 | "__id__": 2 25 | }, 26 | { 27 | "__id__": 3 28 | } 29 | ], 30 | "_prefab": { 31 | "__id__": 4 32 | }, 33 | "_opacity": 255, 34 | "_color": { 35 | "__type__": "cc.Color", 36 | "r": 255, 37 | "g": 255, 38 | "b": 255, 39 | "a": 255 40 | }, 41 | "_contentSize": { 42 | "__type__": "cc.Size", 43 | "width": 50, 44 | "height": 49 45 | }, 46 | "_anchorPoint": { 47 | "__type__": "cc.Vec2", 48 | "x": 0.5, 49 | "y": 0.5 50 | }, 51 | "_position": { 52 | "__type__": "cc.Vec3", 53 | "x": 0, 54 | "y": 0, 55 | "z": 0 56 | }, 57 | "_scale": { 58 | "__type__": "cc.Vec3", 59 | "x": 1, 60 | "y": 1, 61 | "z": 1 62 | }, 63 | "_quat": { 64 | "__type__": "cc.Quat", 65 | "x": 0, 66 | "y": 0, 67 | "z": 0, 68 | "w": 1 69 | }, 70 | "_skewX": 0, 71 | "_skewY": 0, 72 | "_zIndex": 0, 73 | "_is3DNode": false, 74 | "groupIndex": 0, 75 | "_rotationX": 0, 76 | "_rotationY": 0, 77 | "_id": "" 78 | }, 79 | { 80 | "__type__": "cc.Sprite", 81 | "_name": "", 82 | "_objFlags": 0, 83 | "node": { 84 | "__id__": 1 85 | }, 86 | "_enabled": true, 87 | "_srcBlendFactor": 770, 88 | "_dstBlendFactor": 771, 89 | "_spriteFrame": { 90 | "__uuid__": "c4328c06-dbe6-4d8e-83cf-e1fe43efd9ec" 91 | }, 92 | "_type": 0, 93 | "_sizeMode": 1, 94 | "_fillType": 0, 95 | "_fillCenter": { 96 | "__type__": "cc.Vec2", 97 | "x": 0, 98 | "y": 0 99 | }, 100 | "_fillStart": 0, 101 | "_fillRange": 0, 102 | "_isTrimmedMode": true, 103 | "_state": 0, 104 | "_atlas": { 105 | "__uuid__": "7e3fad8d-0e46-4e77-8c2b-5c2191f08e71" 106 | }, 107 | "_id": "" 108 | }, 109 | { 110 | "__type__": "c83b294KvpE3rhI31AJ1kxx", 111 | "_name": "", 112 | "_objFlags": 0, 113 | "node": { 114 | "__id__": 1 115 | }, 116 | "_enabled": true, 117 | "enemySpriteFrames": [ 118 | { 119 | "__uuid__": "c4328c06-dbe6-4d8e-83cf-e1fe43efd9ec" 120 | }, 121 | { 122 | "__uuid__": "a460aeb5-d725-40a0-ba89-cc789928692f" 123 | }, 124 | { 125 | "__uuid__": "ebcd7278-9815-4857-b84c-4500b7ed7a57" 126 | } 127 | ], 128 | "_id": "" 129 | }, 130 | { 131 | "__type__": "cc.PrefabInfo", 132 | "root": { 133 | "__id__": 1 134 | }, 135 | "asset": { 136 | "__uuid__": "3b8c0409-322c-4516-8637-84356babf364" 137 | }, 138 | "fileId": "8e3oiUWMhMUp+SnSp8+haa", 139 | "sync": false 140 | } 141 | ] -------------------------------------------------------------------------------- /assets/res/Pretab/biggerFish.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | enemySpriteFrames: { 6 | default: [], 7 | type: [cc.SpriteFrame] 8 | } 9 | }, 10 | 11 | // LIFE-CYCLE CALLBACKS: 12 | onLoad() { 13 | this.node.setPosition(this.getRandomNum(120),this.getRandomNum(120)); 14 | this.node.scale = parseInt(this.node.scale) * 40/100; 15 | let circleCollider = this.node.addComponent(cc.CircleCollider); 16 | circleCollider.radius = 40; 17 | 18 | let index = Math.floor(Math.random() * this.enemySpriteFrames.length); 19 | let fish = this.node.getComponent(cc.Sprite); 20 | fish.spriteFrame = this.enemySpriteFrames[index]; 21 | }, 22 | 23 | start() { 24 | this.time = 0; 25 | this.moveCoordinate(); 26 | }, 27 | 28 | update(dt) { 29 | this.time += dt; 30 | if (this.time > 2) { 31 | this.time = 0; 32 | this.moveCoordinate(); 33 | } 34 | }, 35 | 36 | moveCoordinate() { 37 | // 停止并且移除所有正在运行的动作列表 38 | this.node.stopAllActions(); 39 | // 旧坐标 40 | let oldCoordinate = this.node.getPosition(); 41 | // 新坐标 42 | let newCoordinate = cc.v2(oldCoordinate.x + this.getRandomNum(60), oldCoordinate.y + this.getRandomNum(60)); 43 | // 游戏背景尺寸 44 | let width = this.node.parent.width; 45 | let height = this.node.parent.height; 46 | // 新坐标限制条件 47 | newCoordinate.x < -width / 2 || newCoordinate.x > width / 2 ? newCoordinate.x = oldCoordinate.x : ''; 48 | newCoordinate.y < -height / 2 + 100 || newCoordinate.y > height / 2 - 40 ? newCoordinate.y = oldCoordinate.y : ''; 49 | 50 | let moveCoordinate = cc.catmullRomTo(2.8, [oldCoordinate, newCoordinate]); 51 | this.node.runAction(moveCoordinate); 52 | }, 53 | 54 | // 返回 -1 至 1 55 | getRandomNum(mul) { 56 | if (!mul) mul = 1; 57 | return Math.random() > .5 ? -Math.round(Math.random() * mul) : Math.round(Math.random() * mul); 58 | } 59 | 60 | }); 61 | -------------------------------------------------------------------------------- /assets/res/Pretab/biggerFish.prefab: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.Prefab", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_native": "", 7 | "data": { 8 | "__id__": 1 9 | }, 10 | "optimizationPolicy": 0, 11 | "asyncLoadAssets": false, 12 | "readonly": false 13 | }, 14 | { 15 | "__type__": "cc.Node", 16 | "_name": "fish", 17 | "_objFlags": 0, 18 | "_parent": null, 19 | "_children": [], 20 | "_active": true, 21 | "_level": 1, 22 | "_components": [ 23 | { 24 | "__id__": 2 25 | }, 26 | { 27 | "__id__": 3 28 | } 29 | ], 30 | "_prefab": { 31 | "__id__": 4 32 | }, 33 | "_opacity": 255, 34 | "_color": { 35 | "__type__": "cc.Color", 36 | "r": 255, 37 | "g": 255, 38 | "b": 255, 39 | "a": 255 40 | }, 41 | "_contentSize": { 42 | "__type__": "cc.Size", 43 | "width": 70, 44 | "height": 72 45 | }, 46 | "_anchorPoint": { 47 | "__type__": "cc.Vec2", 48 | "x": 0.5, 49 | "y": 0.5 50 | }, 51 | "_position": { 52 | "__type__": "cc.Vec3", 53 | "x": 0, 54 | "y": 0, 55 | "z": 0 56 | }, 57 | "_scale": { 58 | "__type__": "cc.Vec3", 59 | "x": 1, 60 | "y": 1, 61 | "z": 1 62 | }, 63 | "_quat": { 64 | "__type__": "cc.Quat", 65 | "x": 0, 66 | "y": 0, 67 | "z": 0, 68 | "w": 1 69 | }, 70 | "_skewX": 0, 71 | "_skewY": 0, 72 | "_zIndex": 0, 73 | "_is3DNode": false, 74 | "groupIndex": 0, 75 | "_rotationX": 0, 76 | "_rotationY": 0, 77 | "_id": "" 78 | }, 79 | { 80 | "__type__": "cc.Sprite", 81 | "_name": "", 82 | "_objFlags": 0, 83 | "node": { 84 | "__id__": 1 85 | }, 86 | "_enabled": true, 87 | "_srcBlendFactor": 770, 88 | "_dstBlendFactor": 771, 89 | "_spriteFrame": { 90 | "__uuid__": "97f00afc-ea6e-4a03-ad06-7023170946ff" 91 | }, 92 | "_type": 0, 93 | "_sizeMode": 1, 94 | "_fillType": 0, 95 | "_fillCenter": { 96 | "__type__": "cc.Vec2", 97 | "x": 0, 98 | "y": 0 99 | }, 100 | "_fillStart": 0, 101 | "_fillRange": 0, 102 | "_isTrimmedMode": true, 103 | "_state": 0, 104 | "_atlas": { 105 | "__uuid__": "7e3fad8d-0e46-4e77-8c2b-5c2191f08e71" 106 | }, 107 | "_id": "" 108 | }, 109 | { 110 | "__type__": "aff13jznptB/YUXSB5yzoLh", 111 | "_name": "", 112 | "_objFlags": 0, 113 | "node": { 114 | "__id__": 1 115 | }, 116 | "_enabled": true, 117 | "enemySpriteFrames": [ 118 | { 119 | "__uuid__": "97f00afc-ea6e-4a03-ad06-7023170946ff" 120 | }, 121 | { 122 | "__uuid__": "9ae1c3c5-7684-4645-aca8-1ba5791e973b" 123 | } 124 | ], 125 | "_id": "" 126 | }, 127 | { 128 | "__type__": "cc.PrefabInfo", 129 | "root": { 130 | "__id__": 1 131 | }, 132 | "asset": { 133 | "__uuid__": "7893e642-98ea-4b7a-a7ad-2f071a9c683e" 134 | }, 135 | "fileId": "8e3oiUWMhMUp+SnSp8+haa", 136 | "sync": false 137 | } 138 | ] -------------------------------------------------------------------------------- /assets/res/Pretab/fish.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | enemySpriteFrames: { 6 | default: [], 7 | type: [cc.SpriteFrame] 8 | } 9 | }, 10 | 11 | // LIFE-CYCLE CALLBACKS: 12 | onLoad() { 13 | this.node.setPosition(this.getRandomNum(120),this.getRandomNum(120)); 14 | this.node.scale = parseInt(this.node.scale) * 40/100; 15 | let circleCollider = this.node.addComponent(cc.CircleCollider); 16 | circleCollider.radius = 20; 17 | 18 | let index = Math.floor(Math.random() * this.enemySpriteFrames.length); 19 | let fish = this.node.getComponent(cc.Sprite); 20 | fish.spriteFrame = this.enemySpriteFrames[index]; 21 | }, 22 | 23 | start() { 24 | this.time = 0; 25 | this.moveCoordinate(); 26 | }, 27 | 28 | update(dt) { 29 | this.time += dt; 30 | if (this.time > 2) { 31 | this.time = 0; 32 | this.moveCoordinate(); 33 | } 34 | }, 35 | 36 | moveCoordinate() { 37 | // 停止并且移除所有正在运行的动作列表 38 | this.node.stopAllActions(); 39 | // 旧坐标 40 | let oldCoordinate = this.node.getPosition(); 41 | // 新坐标 42 | let newCoordinate = cc.v2(oldCoordinate.x + this.getRandomNum(60), oldCoordinate.y + this.getRandomNum(60)); 43 | // 游戏背景尺寸 44 | let width = this.node.parent.width; 45 | let height = this.node.parent.height; 46 | // 新坐标限制条件 47 | newCoordinate.x < -width / 2 || newCoordinate.x > width / 2 ? newCoordinate.x = oldCoordinate.x : ''; 48 | newCoordinate.y < -height / 2 + 100 || newCoordinate.y > height / 2 - 40 ? newCoordinate.y = oldCoordinate.y : ''; 49 | 50 | let moveCoordinate = cc.catmullRomTo(2.8, [oldCoordinate, newCoordinate]); 51 | this.node.runAction(moveCoordinate); 52 | }, 53 | 54 | // 返回 -1 至 1 55 | getRandomNum(mul) { 56 | if (!mul) mul = 1; 57 | return Math.random() > .5 ? -Math.round(Math.random() * mul) : Math.round(Math.random() * mul); 58 | } 59 | 60 | }); 61 | -------------------------------------------------------------------------------- /assets/res/Pretab/fish.prefab: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.Prefab", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_native": "", 7 | "data": { 8 | "__id__": 1 9 | }, 10 | "optimizationPolicy": 0, 11 | "asyncLoadAssets": false, 12 | "readonly": false 13 | }, 14 | { 15 | "__type__": "cc.Node", 16 | "_name": "fish", 17 | "_objFlags": 0, 18 | "_parent": null, 19 | "_children": [], 20 | "_active": true, 21 | "_level": 1, 22 | "_components": [ 23 | { 24 | "__id__": 2 25 | }, 26 | { 27 | "__id__": 3 28 | } 29 | ], 30 | "_prefab": { 31 | "__id__": 4 32 | }, 33 | "_opacity": 255, 34 | "_color": { 35 | "__type__": "cc.Color", 36 | "r": 255, 37 | "g": 255, 38 | "b": 255, 39 | "a": 255 40 | }, 41 | "_contentSize": { 42 | "__type__": "cc.Size", 43 | "width": 38, 44 | "height": 37 45 | }, 46 | "_anchorPoint": { 47 | "__type__": "cc.Vec2", 48 | "x": 0.5, 49 | "y": 0.5 50 | }, 51 | "_position": { 52 | "__type__": "cc.Vec3", 53 | "x": 0, 54 | "y": 0, 55 | "z": 0 56 | }, 57 | "_scale": { 58 | "__type__": "cc.Vec3", 59 | "x": 1, 60 | "y": 1, 61 | "z": 1 62 | }, 63 | "_quat": { 64 | "__type__": "cc.Quat", 65 | "x": 0, 66 | "y": 0, 67 | "z": 0, 68 | "w": 1 69 | }, 70 | "_skewX": 0, 71 | "_skewY": 0, 72 | "_zIndex": 0, 73 | "_is3DNode": false, 74 | "groupIndex": 0, 75 | "_rotationX": 0, 76 | "_rotationY": 0, 77 | "_id": "" 78 | }, 79 | { 80 | "__type__": "cc.Sprite", 81 | "_name": "", 82 | "_objFlags": 0, 83 | "node": { 84 | "__id__": 1 85 | }, 86 | "_enabled": true, 87 | "_srcBlendFactor": 770, 88 | "_dstBlendFactor": 771, 89 | "_spriteFrame": { 90 | "__uuid__": "488dbcb2-d701-4119-9fed-bd244ce9c286" 91 | }, 92 | "_type": 0, 93 | "_sizeMode": 1, 94 | "_fillType": 0, 95 | "_fillCenter": { 96 | "__type__": "cc.Vec2", 97 | "x": 0, 98 | "y": 0 99 | }, 100 | "_fillStart": 0, 101 | "_fillRange": 0, 102 | "_isTrimmedMode": true, 103 | "_state": 0, 104 | "_atlas": { 105 | "__uuid__": "7e3fad8d-0e46-4e77-8c2b-5c2191f08e71" 106 | }, 107 | "_id": "" 108 | }, 109 | { 110 | "__type__": "172d7hs6BhCabMZn2EezhRz", 111 | "_name": "", 112 | "_objFlags": 0, 113 | "node": { 114 | "__id__": 1 115 | }, 116 | "_enabled": true, 117 | "enemySpriteFrames": [ 118 | { 119 | "__uuid__": "f059943d-1d09-416b-8573-7c2608701a76" 120 | }, 121 | { 122 | "__uuid__": "05757474-f6a9-4848-8f7c-a6f7abc8646e" 123 | }, 124 | { 125 | "__uuid__": "50d4151d-39f8-4c66-b5e8-b90ce6ae8302" 126 | }, 127 | { 128 | "__uuid__": "09688970-14ab-4ce8-b214-5dddda3697e4" 129 | } 130 | ], 131 | "_id": "" 132 | }, 133 | { 134 | "__type__": "cc.PrefabInfo", 135 | "root": { 136 | "__id__": 1 137 | }, 138 | "asset": { 139 | "__uuid__": "c1d0be2a-fbd5-43a8-86c7-51dcabf1feb8" 140 | }, 141 | "fileId": "8e3oiUWMhMUp+SnSp8+haa", 142 | "sync": false 143 | } 144 | ] -------------------------------------------------------------------------------- /assets/res/Pretab/gem.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | gemList:{ 6 | default:[], 7 | type:[cc.SpriteFrame] 8 | } 9 | }, 10 | // LIFE-CYCLE CALLBACKS: 11 | onLoad () { 12 | // 宝石化妆 13 | let seq = Math.floor(Math.random() * 2); 14 | let gem = this.node.getComponent(cc.Sprite); 15 | gem.spriteFrame = this.gemList[seq]; 16 | gem.node.scale = .3; 17 | 18 | // 宝石配置参数 19 | switch (seq) { 20 | case 0: 21 | gem.node.addTime = 5; 22 | break; 23 | case 1: 24 | gem.node.addTime = 3; 25 | break; 26 | } 27 | 28 | // 宝石添加碰撞体 29 | let gemBC = this.node.addComponent(cc.BoxCollider); 30 | gemBC.size.width = 40; 31 | gemBC.size.height = 40; 32 | 33 | }, 34 | 35 | 36 | }); 37 | -------------------------------------------------------------------------------- /assets/res/Pretab/gem.prefab: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.Prefab", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_native": "", 7 | "data": { 8 | "__id__": 1 9 | }, 10 | "optimizationPolicy": 0, 11 | "asyncLoadAssets": false, 12 | "readonly": false 13 | }, 14 | { 15 | "__type__": "cc.Node", 16 | "_name": "gem", 17 | "_objFlags": 0, 18 | "_parent": null, 19 | "_children": [], 20 | "_active": true, 21 | "_level": 1, 22 | "_components": [ 23 | { 24 | "__id__": 2 25 | }, 26 | { 27 | "__id__": 3 28 | } 29 | ], 30 | "_prefab": { 31 | "__id__": 4 32 | }, 33 | "_opacity": 255, 34 | "_color": { 35 | "__type__": "cc.Color", 36 | "r": 255, 37 | "g": 255, 38 | "b": 255, 39 | "a": 255 40 | }, 41 | "_contentSize": { 42 | "__type__": "cc.Size", 43 | "width": 40, 44 | "height": 36 45 | }, 46 | "_anchorPoint": { 47 | "__type__": "cc.Vec2", 48 | "x": 0.5, 49 | "y": 0.5 50 | }, 51 | "_position": { 52 | "__type__": "cc.Vec3", 53 | "x": 0, 54 | "y": 0, 55 | "z": 0 56 | }, 57 | "_scale": { 58 | "__type__": "cc.Vec3", 59 | "x": 1, 60 | "y": 1, 61 | "z": 1 62 | }, 63 | "_quat": { 64 | "__type__": "cc.Quat", 65 | "x": 0, 66 | "y": 0, 67 | "z": 0, 68 | "w": 1 69 | }, 70 | "_skewX": 0, 71 | "_skewY": 0, 72 | "_zIndex": 0, 73 | "_is3DNode": false, 74 | "groupIndex": 0, 75 | "_rotationX": 0, 76 | "_rotationY": 0, 77 | "_id": "" 78 | }, 79 | { 80 | "__type__": "cc.Sprite", 81 | "_name": "", 82 | "_objFlags": 0, 83 | "node": { 84 | "__id__": 1 85 | }, 86 | "_enabled": true, 87 | "_srcBlendFactor": 770, 88 | "_dstBlendFactor": 771, 89 | "_spriteFrame": null, 90 | "_type": 0, 91 | "_sizeMode": 1, 92 | "_fillType": 0, 93 | "_fillCenter": { 94 | "__type__": "cc.Vec2", 95 | "x": 0, 96 | "y": 0 97 | }, 98 | "_fillStart": 0, 99 | "_fillRange": 0, 100 | "_isTrimmedMode": true, 101 | "_state": 0, 102 | "_atlas": null, 103 | "_id": "" 104 | }, 105 | { 106 | "__type__": "fbc19/HtdhPcYJVIV/mHlTQ", 107 | "_name": "", 108 | "_objFlags": 0, 109 | "node": { 110 | "__id__": 1 111 | }, 112 | "_enabled": true, 113 | "gemList": [ 114 | { 115 | "__uuid__": "74e1c54b-69c8-496e-81f0-953f90363c6e" 116 | }, 117 | { 118 | "__uuid__": "524faf39-fb52-49d9-af5b-be04014b378b" 119 | } 120 | ], 121 | "_id": "" 122 | }, 123 | { 124 | "__type__": "cc.PrefabInfo", 125 | "root": { 126 | "__id__": 1 127 | }, 128 | "asset": { 129 | "__uuid__": "4cc8ce81-6417-4307-91a1-30ccd2c78e60" 130 | }, 131 | "fileId": "71t9PPOJtKboZ4zUlbaQRh", 132 | "sync": false 133 | } 134 | ] -------------------------------------------------------------------------------- /assets/res/Pretab/rubbish.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | enemySpriteFrames: { 6 | default: [], 7 | type: [cc.SpriteFrame] 8 | } 9 | }, 10 | 11 | // LIFE-CYCLE CALLBACKS: 12 | onLoad() { 13 | this.node.setPosition(this.getRandomNum(120),this.getRandomNum(120)); 14 | this.node.scale = parseInt(this.node.scale) * 20/100; 15 | let circleCollider = this.node.addComponent(cc.CircleCollider); 16 | circleCollider.radius = 20; 17 | 18 | let index = Math.floor(Math.random() * this.enemySpriteFrames.length); 19 | let fish = this.node.getComponent(cc.Sprite); 20 | fish.spriteFrame = this.enemySpriteFrames[index]; 21 | }, 22 | 23 | start() { 24 | this.time = 0; 25 | this.moveCoordinate(); 26 | }, 27 | 28 | update(dt) { 29 | this.time += dt; 30 | if (this.time > 2) { 31 | this.time = 0; 32 | this.moveCoordinate(); 33 | } 34 | }, 35 | 36 | moveCoordinate() { 37 | // 停止并且移除所有正在运行的动作列表 38 | this.node.stopAllActions(); 39 | // 旧坐标 40 | let oldCoordinate = this.node.getPosition(); 41 | // 新坐标 42 | let newCoordinate = cc.v2(oldCoordinate.x + this.getRandomNum(60), oldCoordinate.y + this.getRandomNum(60)); 43 | // 游戏背景尺寸 44 | let width = this.node.parent.width; 45 | let height = this.node.parent.height; 46 | // 新坐标限制条件 47 | newCoordinate.x < -width / 2 || newCoordinate.x > width / 2 ? newCoordinate.x = oldCoordinate.x : ''; 48 | newCoordinate.y < -height / 2 + 100 || newCoordinate.y > height / 2 - 40 ? newCoordinate.y = oldCoordinate.y : ''; 49 | 50 | let moveCoordinate = cc.catmullRomTo(2.8, [oldCoordinate, newCoordinate]); 51 | this.node.runAction(moveCoordinate); 52 | }, 53 | 54 | // 返回 -1 至 1 55 | getRandomNum(mul) { 56 | if (!mul) mul = 1; 57 | return Math.random() > .5 ? -Math.round(Math.random() * mul) : Math.round(Math.random() * mul); 58 | } 59 | 60 | }); 61 | -------------------------------------------------------------------------------- /assets/res/Pretab/rubbish.prefab: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.Prefab", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_native": "", 7 | "data": { 8 | "__id__": 1 9 | }, 10 | "optimizationPolicy": 0, 11 | "asyncLoadAssets": false 12 | }, 13 | { 14 | "__type__": "cc.Node", 15 | "_name": "rubbish", 16 | "_objFlags": 0, 17 | "_parent": null, 18 | "_children": [], 19 | "_active": true, 20 | "_level": 1, 21 | "_components": [ 22 | { 23 | "__id__": 2 24 | }, 25 | { 26 | "__id__": 3 27 | } 28 | ], 29 | "_prefab": { 30 | "__id__": 4 31 | }, 32 | "_opacity": 255, 33 | "_color": { 34 | "__type__": "cc.Color", 35 | "r": 255, 36 | "g": 255, 37 | "b": 255, 38 | "a": 255 39 | }, 40 | "_contentSize": { 41 | "__type__": "cc.Size", 42 | "width": 75, 43 | "height": 87 44 | }, 45 | "_anchorPoint": { 46 | "__type__": "cc.Vec2", 47 | "x": 0.5, 48 | "y": 0.5 49 | }, 50 | "_position": { 51 | "__type__": "cc.Vec3", 52 | "x": 0, 53 | "y": 0, 54 | "z": 0 55 | }, 56 | "_scale": { 57 | "__type__": "cc.Vec3", 58 | "x": 1, 59 | "y": 1, 60 | "z": 1 61 | }, 62 | "_rotationX": 0, 63 | "_rotationY": 0, 64 | "_quat": { 65 | "__type__": "cc.Quat", 66 | "x": 0, 67 | "y": 0, 68 | "z": 0, 69 | "w": 1 70 | }, 71 | "_skewX": 0, 72 | "_skewY": 0, 73 | "_zIndex": 0, 74 | "groupIndex": 0, 75 | "_id": "" 76 | }, 77 | { 78 | "__type__": "cc.Sprite", 79 | "_name": "", 80 | "_objFlags": 0, 81 | "node": { 82 | "__id__": 1 83 | }, 84 | "_enabled": true, 85 | "_srcBlendFactor": 770, 86 | "_dstBlendFactor": 771, 87 | "_spriteFrame": { 88 | "__uuid__": "2dd0e29c-86cb-4d16-9456-05716443a763" 89 | }, 90 | "_type": 0, 91 | "_sizeMode": 1, 92 | "_fillType": 0, 93 | "_fillCenter": { 94 | "__type__": "cc.Vec2", 95 | "x": 0, 96 | "y": 0 97 | }, 98 | "_fillStart": 0, 99 | "_fillRange": 0, 100 | "_isTrimmedMode": true, 101 | "_state": 0, 102 | "_atlas": { 103 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 104 | }, 105 | "_id": "" 106 | }, 107 | { 108 | "__type__": "679e0FSYS1H47zQgzhfJF6r", 109 | "_name": "", 110 | "_objFlags": 0, 111 | "node": { 112 | "__id__": 1 113 | }, 114 | "_enabled": true, 115 | "enemySpriteFrames": [ 116 | { 117 | "__uuid__": "df0d9a3d-7769-4fb3-857e-dab8794755fa" 118 | }, 119 | { 120 | "__uuid__": "50d240b9-1d22-4ec5-9ece-8efcc4c3ce29" 121 | }, 122 | { 123 | "__uuid__": "93c53bd2-e894-47f9-b85d-33fc32bcfcb9" 124 | }, 125 | { 126 | "__uuid__": "2dd0e29c-86cb-4d16-9456-05716443a763" 127 | }, 128 | { 129 | "__uuid__": "f7ca7a7c-81e7-499b-996d-c193a2bfe291" 130 | } 131 | ], 132 | "_id": "" 133 | }, 134 | { 135 | "__type__": "cc.PrefabInfo", 136 | "root": { 137 | "__id__": 1 138 | }, 139 | "asset": { 140 | "__uuid__": "4a5edd48-d327-4912-bd25-3198ea9d8246" 141 | }, 142 | "fileId": "b5VSTNo+pBcoZHj4CWjLFj", 143 | "sync": false 144 | } 145 | ] -------------------------------------------------------------------------------- /assets/res/Pretab/shark.js: -------------------------------------------------------------------------------- 1 | cc.Class({ 2 | extends: cc.Component, 3 | 4 | properties: { 5 | enemySpriteFrames: { 6 | default: [], 7 | type: [cc.SpriteFrame] 8 | } 9 | }, 10 | 11 | // LIFE-CYCLE CALLBACKS: 12 | onLoad() { 13 | this.node.setPosition(this.getRandomNum(120),this.getRandomNum(120)); 14 | this.node.scale = parseInt(this.node.scale) * 40/100; 15 | let circleCollider = this.node.addComponent(cc.CircleCollider); 16 | circleCollider.radius = 50; 17 | 18 | let index = Math.floor(Math.random() * this.enemySpriteFrames.length); 19 | let fish = this.node.getComponent(cc.Sprite); 20 | fish.spriteFrame = this.enemySpriteFrames[index]; 21 | }, 22 | 23 | start() { 24 | this.time = 0; 25 | this.moveCoordinate(); 26 | }, 27 | 28 | update(dt) { 29 | this.time += dt; 30 | if (this.time > 2) { 31 | this.time = 0; 32 | this.moveCoordinate(); 33 | } 34 | }, 35 | 36 | moveCoordinate() { 37 | // 停止并且移除所有正在运行的动作列表 38 | this.node.stopAllActions(); 39 | // 旧坐标 40 | let oldCoordinate = this.node.getPosition(); 41 | // 新坐标 42 | let newCoordinate = cc.v2(oldCoordinate.x + this.getRandomNum(60), oldCoordinate.y + this.getRandomNum(60)); 43 | // 游戏背景尺寸 44 | let width = this.node.parent.width; 45 | let height = this.node.parent.height; 46 | // 新坐标限制条件 47 | newCoordinate.x < -width / 2 || newCoordinate.x > width / 2 ? newCoordinate.x = oldCoordinate.x : ''; 48 | newCoordinate.y < -height / 2 + 100 || newCoordinate.y > height / 2 - 40 ? newCoordinate.y = oldCoordinate.y : ''; 49 | 50 | let moveCoordinate = cc.catmullRomTo(2.8, [oldCoordinate, newCoordinate]); 51 | this.node.runAction(moveCoordinate); 52 | }, 53 | 54 | // 返回 -1 至 1 55 | getRandomNum(mul) { 56 | if (!mul) mul = 1; 57 | return Math.random() > .5 ? -Math.round(Math.random() * mul) : Math.round(Math.random() * mul); 58 | } 59 | 60 | }); 61 | -------------------------------------------------------------------------------- /assets/res/Pretab/shark.prefab: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.Prefab", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_native": "", 7 | "data": { 8 | "__id__": 1 9 | }, 10 | "optimizationPolicy": 0, 11 | "asyncLoadAssets": false, 12 | "readonly": false 13 | }, 14 | { 15 | "__type__": "cc.Node", 16 | "_name": "fish", 17 | "_objFlags": 0, 18 | "_parent": null, 19 | "_children": [], 20 | "_active": true, 21 | "_level": 1, 22 | "_components": [ 23 | { 24 | "__id__": 2 25 | }, 26 | { 27 | "__id__": 3 28 | } 29 | ], 30 | "_prefab": { 31 | "__id__": 4 32 | }, 33 | "_opacity": 255, 34 | "_color": { 35 | "__type__": "cc.Color", 36 | "r": 255, 37 | "g": 255, 38 | "b": 255, 39 | "a": 255 40 | }, 41 | "_contentSize": { 42 | "__type__": "cc.Size", 43 | "width": 160, 44 | "height": 118 45 | }, 46 | "_anchorPoint": { 47 | "__type__": "cc.Vec2", 48 | "x": 0.5, 49 | "y": 0.5 50 | }, 51 | "_position": { 52 | "__type__": "cc.Vec3", 53 | "x": 0, 54 | "y": 0, 55 | "z": 0 56 | }, 57 | "_scale": { 58 | "__type__": "cc.Vec3", 59 | "x": 1, 60 | "y": 1, 61 | "z": 1 62 | }, 63 | "_quat": { 64 | "__type__": "cc.Quat", 65 | "x": 0, 66 | "y": 0, 67 | "z": 0, 68 | "w": 1 69 | }, 70 | "_skewX": 0, 71 | "_skewY": 0, 72 | "_zIndex": 0, 73 | "_is3DNode": false, 74 | "groupIndex": 0, 75 | "_rotationX": 0, 76 | "_rotationY": 0, 77 | "_id": "" 78 | }, 79 | { 80 | "__type__": "cc.Sprite", 81 | "_name": "", 82 | "_objFlags": 0, 83 | "node": { 84 | "__id__": 1 85 | }, 86 | "_enabled": true, 87 | "_srcBlendFactor": 770, 88 | "_dstBlendFactor": 771, 89 | "_spriteFrame": { 90 | "__uuid__": "993bf787-924a-4328-8e00-c506a72d32dc" 91 | }, 92 | "_type": 0, 93 | "_sizeMode": 0, 94 | "_fillType": 0, 95 | "_fillCenter": { 96 | "__type__": "cc.Vec2", 97 | "x": 0, 98 | "y": 0 99 | }, 100 | "_fillStart": 0, 101 | "_fillRange": 0, 102 | "_isTrimmedMode": true, 103 | "_state": 0, 104 | "_atlas": { 105 | "__uuid__": "7e3fad8d-0e46-4e77-8c2b-5c2191f08e71" 106 | }, 107 | "_id": "" 108 | }, 109 | { 110 | "__type__": "9a843H4rNtFL7GjNS0EVw7r", 111 | "_name": "", 112 | "_objFlags": 0, 113 | "node": { 114 | "__id__": 1 115 | }, 116 | "_enabled": true, 117 | "enemySpriteFrames": [ 118 | { 119 | "__uuid__": "993bf787-924a-4328-8e00-c506a72d32dc" 120 | } 121 | ], 122 | "_id": "" 123 | }, 124 | { 125 | "__type__": "cc.PrefabInfo", 126 | "root": { 127 | "__id__": 1 128 | }, 129 | "asset": { 130 | "__uuid__": "1e9e6630-f396-4aca-b9e5-6c65a4603197" 131 | }, 132 | "fileId": "8e3oiUWMhMUp+SnSp8+haa", 133 | "sync": false 134 | } 135 | ] -------------------------------------------------------------------------------- /assets/res/Texture/redGem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/licydlx/Project-Fishing/4a6dc08373b0cb4a473e4c0ef54d2f7e7ae115b8/assets/res/Texture/redGem.png -------------------------------------------------------------------------------- /assets/res/Texture/sprite.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | frames 6 | 7 | +1.png 8 | 9 | aliases 10 | 11 | spriteOffset 12 | {0,0} 13 | spriteSize 14 | {32,23} 15 | spriteSourceSize 16 | {32,23} 17 | textureRect 18 | {{64,0},{32,23}} 19 | textureRotated 20 | 21 | 22 | +2.png 23 | 24 | aliases 25 | 26 | spriteOffset 27 | {0,0} 28 | spriteSize 29 | {32,23} 30 | spriteSourceSize 31 | {32,23} 32 | textureRect 33 | {{0,0},{32,23}} 34 | textureRotated 35 | 36 | 37 | +3.png 38 | 39 | aliases 40 | 41 | spriteOffset 42 | {0,0} 43 | spriteSize 44 | {32,23} 45 | spriteSourceSize 46 | {32,23} 47 | textureRect 48 | {{32,0},{32,23}} 49 | textureRotated 50 | 51 | 52 | 1效果图.png 53 | 54 | aliases 55 | 56 | spriteOffset 57 | {0,0} 58 | spriteSize 59 | {480,800} 60 | spriteSourceSize 61 | {480,800} 62 | textureRect 63 | {{480,1072},{480,800}} 64 | textureRotated 65 | 66 | 67 | omo.png 68 | 69 | aliases 70 | 71 | spriteOffset 72 | {0,0} 73 | spriteSize 74 | {67,81} 75 | spriteSourceSize 76 | {67,81} 77 | textureRect 78 | {{310,66},{67,81}} 79 | textureRotated 80 | 81 | 82 | 开始游戏按钮1.png 83 | 84 | aliases 85 | 86 | spriteOffset 87 | {0,0} 88 | spriteSize 89 | {310,88} 90 | spriteSourceSize 91 | {310,88} 92 | textureRect 93 | {{377,66},{310,88}} 94 | textureRotated 95 | 96 | 97 | 开始游戏按钮2.png 98 | 99 | aliases 100 | 101 | spriteOffset 102 | {0,0} 103 | spriteSize 104 | {326,110} 105 | spriteSourceSize 106 | {326,110} 107 | textureRect 108 | {{0,154},{326,110}} 109 | textureRotated 110 | 111 | 112 | 开始游戏按钮3.png 113 | 114 | aliases 115 | 116 | spriteOffset 117 | {0,0} 118 | spriteSize 119 | {326,115} 120 | spriteSourceSize 121 | {326,115} 122 | textureRect 123 | {{326,154},{326,115}} 124 | textureRotated 125 | 126 | 127 | 引导界面.png 128 | 129 | aliases 130 | 131 | spriteOffset 132 | {0,0} 133 | spriteSize 134 | {480,800} 135 | spriteSourceSize 136 | {480,800} 137 | textureRect 138 | {{0,1072},{480,800}} 139 | textureRotated 140 | 141 | 142 | 收集量.png 143 | 144 | aliases 145 | 146 | spriteOffset 147 | {0,0} 148 | spriteSize 149 | {295,28} 150 | spriteSourceSize 151 | {295,28} 152 | textureRect 153 | {{96,0},{295,28}} 154 | textureRotated 155 | 156 | 157 | 效果图.png 158 | 159 | aliases 160 | 161 | spriteOffset 162 | {0,0} 163 | spriteSize 164 | {480,800} 165 | spriteSourceSize 166 | {480,800} 167 | textureRect 168 | {{480,272},{480,800}} 169 | textureRotated 170 | 171 | 172 | 海洋生物1.png 173 | 174 | aliases 175 | 176 | spriteOffset 177 | {0,0} 178 | spriteSize 179 | {38,37} 180 | spriteSourceSize 181 | {38,37} 182 | textureRect 183 | {{483,0},{38,37}} 184 | textureRotated 185 | 186 | 187 | 海洋生物10.png 188 | 189 | aliases 190 | 191 | spriteOffset 192 | {0,0} 193 | spriteSize 194 | {160,118} 195 | spriteSourceSize 196 | {160,118} 197 | textureRect 198 | {{652,154},{160,118}} 199 | textureRotated 200 | 201 | 202 | 海洋生物2.png 203 | 204 | aliases 205 | 206 | spriteOffset 207 | {0,0} 208 | spriteSize 209 | {41,34} 210 | spriteSourceSize 211 | {41,34} 212 | textureRect 213 | {{391,0},{41,34}} 214 | textureRotated 215 | 216 | 217 | 海洋生物3.png 218 | 219 | aliases 220 | 221 | spriteOffset 222 | {0,0} 223 | spriteSize 224 | {51,35} 225 | spriteSourceSize 226 | {51,35} 227 | textureRect 228 | {{432,0},{51,35}} 229 | textureRotated 230 | 231 | 232 | 海洋生物4.png 233 | 234 | aliases 235 | 236 | spriteOffset 237 | {0,0} 238 | spriteSize 239 | {50,45} 240 | spriteSourceSize 241 | {50,45} 242 | textureRect 243 | {{521,0},{50,45}} 244 | textureRotated 245 | 246 | 247 | 海洋生物5.png 248 | 249 | aliases 250 | 251 | spriteOffset 252 | {0,0} 253 | spriteSize 254 | {50,49} 255 | spriteSourceSize 256 | {50,49} 257 | textureRect 258 | {{571,0},{50,49}} 259 | textureRotated 260 | 261 | 262 | 海洋生物6.png 263 | 264 | aliases 265 | 266 | spriteOffset 267 | {0,0} 268 | spriteSize 269 | {47,63} 270 | spriteSourceSize 271 | {47,63} 272 | textureRect 273 | {{804,0},{47,63}} 274 | textureRotated 275 | 276 | 277 | 海洋生物7.png 278 | 279 | aliases 280 | 281 | spriteOffset 282 | {0,0} 283 | spriteSize 284 | {55,51} 285 | spriteSourceSize 286 | {55,51} 287 | textureRect 288 | {{621,0},{55,51}} 289 | textureRotated 290 | 291 | 292 | 海洋生物8.png 293 | 294 | aliases 295 | 296 | spriteOffset 297 | {0,0} 298 | spriteSize 299 | {70,72} 300 | spriteSourceSize 301 | {70,72} 302 | textureRect 303 | {{95,66},{70,72}} 304 | textureRotated 305 | 306 | 307 | 海洋生物9.png 308 | 309 | aliases 310 | 311 | spriteOffset 312 | {0,0} 313 | spriteSize 314 | {95,66} 315 | spriteSourceSize 316 | {95,66} 317 | textureRect 318 | {{851,0},{95,66}} 319 | textureRotated 320 | 321 | 322 | 海洋背景.png 323 | 324 | aliases 325 | 326 | spriteOffset 327 | {0,0} 328 | spriteSize 329 | {480,800} 330 | spriteSourceSize 331 | {480,800} 332 | textureRect 333 | {{0,272},{480,800}} 334 | textureRotated 335 | 336 | 337 | 飞船等级1.png 338 | 339 | aliases 340 | 341 | spriteOffset 342 | {0,0} 343 | spriteSize 344 | {85,55} 345 | spriteSourceSize 346 | {85,55} 347 | textureRect 348 | {{676,0},{85,55}} 349 | textureRotated 350 | 351 | 352 | 飞船等级2.png 353 | 354 | aliases 355 | 356 | spriteOffset 357 | {0,0} 358 | spriteSize 359 | {95,66} 360 | spriteSourceSize 361 | {95,66} 362 | textureRect 363 | {{0,66},{95,66}} 364 | textureRotated 365 | 366 | 367 | 飞船等级3.png 368 | 369 | aliases 370 | 371 | spriteOffset 372 | {0,0} 373 | spriteSize 374 | {145,80} 375 | spriteSourceSize 376 | {145,80} 377 | textureRect 378 | {{165,66},{145,80}} 379 | textureRotated 380 | 381 | 382 | 鱼叉.png 383 | 384 | aliases 385 | 386 | spriteOffset 387 | {0,0} 388 | spriteSize 389 | {43,60} 390 | spriteSourceSize 391 | {43,60} 392 | textureRect 393 | {{761,0},{43,60}} 394 | textureRotated 395 | 396 | 397 | 398 | metadata 399 | 400 | format 401 | 3 402 | pixelFormat 403 | RGBA8888 404 | premultiplyAlpha 405 | 406 | realTextureFileName 407 | sprite.png 408 | size 409 | {960,1872} 410 | smartupdate 411 | $TexturePacker:SmartUpdate:ef274956438a9f146dd107dc4498fca1:9fe53e150682e4a50c5f00786b4f31c7:0cbcc0bef9ecb80372fd8169b79a4a7a$ 412 | textureFileName 413 | sprite.png 414 | 415 | 416 | 417 | -------------------------------------------------------------------------------- /assets/res/Texture/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/licydlx/Project-Fishing/4a6dc08373b0cb4a473e4c0ef54d2f7e7ae115b8/assets/res/Texture/sprite.png -------------------------------------------------------------------------------- /assets/res/Texture/yellowGem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/licydlx/Project-Fishing/4a6dc08373b0cb4a473e4c0ef54d2f7e7ae115b8/assets/res/Texture/yellowGem.png -------------------------------------------------------------------------------- /assets/res/fishing.prefab: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "__type__": "cc.Prefab", 4 | "_name": "", 5 | "_objFlags": 0, 6 | "_native": "", 7 | "data": { 8 | "__id__": 1 9 | }, 10 | "optimizationPolicy": 0, 11 | "asyncLoadAssets": false 12 | }, 13 | { 14 | "__type__": "cc.Node", 15 | "_name": "buddhaFishing", 16 | "_objFlags": 0, 17 | "_parent": null, 18 | "_children": [ 19 | { 20 | "__id__": 2 21 | }, 22 | { 23 | "__id__": 60 24 | } 25 | ], 26 | "_active": true, 27 | "_level": 1, 28 | "_components": [ 29 | { 30 | "__id__": 67 31 | } 32 | ], 33 | "_prefab": { 34 | "__id__": 68 35 | }, 36 | "_opacity": 255, 37 | "_color": { 38 | "__type__": "cc.Color", 39 | "r": 255, 40 | "g": 255, 41 | "b": 255, 42 | "a": 255 43 | }, 44 | "_contentSize": { 45 | "__type__": "cc.Size", 46 | "width": 240, 47 | "height": 400 48 | }, 49 | "_anchorPoint": { 50 | "__type__": "cc.Vec2", 51 | "x": 0.5, 52 | "y": 0.5 53 | }, 54 | "_position": { 55 | "__type__": "cc.Vec3", 56 | "x": 0, 57 | "y": 0, 58 | "z": 0 59 | }, 60 | "_scale": { 61 | "__type__": "cc.Vec3", 62 | "x": 1.2, 63 | "y": 1.2, 64 | "z": 1 65 | }, 66 | "_rotationX": 0, 67 | "_rotationY": 0, 68 | "_quat": { 69 | "__type__": "cc.Quat", 70 | "x": 0, 71 | "y": 0, 72 | "z": 0, 73 | "w": 1 74 | }, 75 | "_skewX": 0, 76 | "_skewY": 0, 77 | "groupIndex": 0, 78 | "_id": "" 79 | }, 80 | { 81 | "__type__": "cc.Node", 82 | "_name": "game", 83 | "_objFlags": 0, 84 | "_parent": { 85 | "__id__": 1 86 | }, 87 | "_children": [ 88 | { 89 | "__id__": 3 90 | }, 91 | { 92 | "__id__": 5 93 | }, 94 | { 95 | "__id__": 26 96 | }, 97 | { 98 | "__id__": 33 99 | }, 100 | { 101 | "__id__": 36 102 | }, 103 | { 104 | "__id__": 46 105 | }, 106 | { 107 | "__id__": 49 108 | }, 109 | { 110 | "__id__": 52 111 | } 112 | ], 113 | "_active": true, 114 | "_level": 2, 115 | "_components": [ 116 | { 117 | "__id__": 57 118 | }, 119 | { 120 | "__id__": 58 121 | } 122 | ], 123 | "_prefab": { 124 | "__id__": 59 125 | }, 126 | "_opacity": 255, 127 | "_color": { 128 | "__type__": "cc.Color", 129 | "r": 255, 130 | "g": 255, 131 | "b": 255, 132 | "a": 255 133 | }, 134 | "_contentSize": { 135 | "__type__": "cc.Size", 136 | "width": 240, 137 | "height": 400 138 | }, 139 | "_anchorPoint": { 140 | "__type__": "cc.Vec2", 141 | "x": 0.5, 142 | "y": 0.5 143 | }, 144 | "_position": { 145 | "__type__": "cc.Vec3", 146 | "x": 0, 147 | "y": 0, 148 | "z": 0 149 | }, 150 | "_scale": { 151 | "__type__": "cc.Vec3", 152 | "x": 1, 153 | "y": 1, 154 | "z": 1 155 | }, 156 | "_rotationX": 0, 157 | "_rotationY": 0, 158 | "_quat": { 159 | "__type__": "cc.Quat", 160 | "x": 0, 161 | "y": 0, 162 | "z": 0, 163 | "w": 1 164 | }, 165 | "_skewX": 0, 166 | "_skewY": 0, 167 | "groupIndex": 0, 168 | "_id": "" 169 | }, 170 | { 171 | "__type__": "cc.Node", 172 | "_name": "fishPool", 173 | "_objFlags": 0, 174 | "_parent": { 175 | "__id__": 2 176 | }, 177 | "_children": [], 178 | "_active": true, 179 | "_level": 3, 180 | "_components": [], 181 | "_prefab": { 182 | "__id__": 4 183 | }, 184 | "_opacity": 255, 185 | "_color": { 186 | "__type__": "cc.Color", 187 | "r": 255, 188 | "g": 255, 189 | "b": 255, 190 | "a": 255 191 | }, 192 | "_contentSize": { 193 | "__type__": "cc.Size", 194 | "width": 240, 195 | "height": 400 196 | }, 197 | "_anchorPoint": { 198 | "__type__": "cc.Vec2", 199 | "x": 0.5, 200 | "y": 0.5 201 | }, 202 | "_position": { 203 | "__type__": "cc.Vec3", 204 | "x": 0, 205 | "y": 0, 206 | "z": 0 207 | }, 208 | "_scale": { 209 | "__type__": "cc.Vec3", 210 | "x": 1, 211 | "y": 1, 212 | "z": 1 213 | }, 214 | "_rotationX": 0, 215 | "_rotationY": 0, 216 | "_quat": { 217 | "__type__": "cc.Quat", 218 | "x": 0, 219 | "y": 0, 220 | "z": 0, 221 | "w": 1 222 | }, 223 | "_skewX": 0, 224 | "_skewY": 0, 225 | "groupIndex": 0, 226 | "_id": "" 227 | }, 228 | { 229 | "__type__": "cc.PrefabInfo", 230 | "root": { 231 | "__id__": 1 232 | }, 233 | "asset": { 234 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 235 | }, 236 | "fileId": "1cb3tPjWNERb5XBHriVEe+", 237 | "sync": false 238 | }, 239 | { 240 | "__type__": "cc.Node", 241 | "_name": "flyShip", 242 | "_objFlags": 0, 243 | "_parent": { 244 | "__id__": 2 245 | }, 246 | "_children": [ 247 | { 248 | "__id__": 6 249 | }, 250 | { 251 | "__id__": 9 252 | }, 253 | { 254 | "__id__": 14 255 | }, 256 | { 257 | "__id__": 22 258 | } 259 | ], 260 | "_active": true, 261 | "_level": 3, 262 | "_components": [], 263 | "_prefab": { 264 | "__id__": 25 265 | }, 266 | "_opacity": 255, 267 | "_color": { 268 | "__type__": "cc.Color", 269 | "r": 255, 270 | "g": 255, 271 | "b": 255, 272 | "a": 255 273 | }, 274 | "_contentSize": { 275 | "__type__": "cc.Size", 276 | "width": 0, 277 | "height": 0 278 | }, 279 | "_anchorPoint": { 280 | "__type__": "cc.Vec2", 281 | "x": 0.5, 282 | "y": 0.5 283 | }, 284 | "_position": { 285 | "__type__": "cc.Vec3", 286 | "x": 0, 287 | "y": 0, 288 | "z": 0 289 | }, 290 | "_scale": { 291 | "__type__": "cc.Vec3", 292 | "x": 1, 293 | "y": 1, 294 | "z": 1 295 | }, 296 | "_rotationX": 0, 297 | "_rotationY": 0, 298 | "_quat": { 299 | "__type__": "cc.Quat", 300 | "x": 0, 301 | "y": 0, 302 | "z": 0, 303 | "w": 1 304 | }, 305 | "_skewX": 0, 306 | "_skewY": 0, 307 | "groupIndex": 0, 308 | "_id": "" 309 | }, 310 | { 311 | "__type__": "cc.Node", 312 | "_name": "line", 313 | "_objFlags": 0, 314 | "_parent": { 315 | "__id__": 5 316 | }, 317 | "_children": [], 318 | "_active": true, 319 | "_level": 4, 320 | "_components": [ 321 | { 322 | "__id__": 7 323 | } 324 | ], 325 | "_prefab": { 326 | "__id__": 8 327 | }, 328 | "_opacity": 255, 329 | "_color": { 330 | "__type__": "cc.Color", 331 | "r": 255, 332 | "g": 255, 333 | "b": 255, 334 | "a": 255 335 | }, 336 | "_contentSize": { 337 | "__type__": "cc.Size", 338 | "width": 240, 339 | "height": 400 340 | }, 341 | "_anchorPoint": { 342 | "__type__": "cc.Vec2", 343 | "x": 0.5, 344 | "y": 0.5 345 | }, 346 | "_position": { 347 | "__type__": "cc.Vec3", 348 | "x": 0, 349 | "y": 0, 350 | "z": 0 351 | }, 352 | "_scale": { 353 | "__type__": "cc.Vec3", 354 | "x": 1, 355 | "y": 1, 356 | "z": 1 357 | }, 358 | "_rotationX": 0, 359 | "_rotationY": 0, 360 | "_quat": { 361 | "__type__": "cc.Quat", 362 | "x": 0, 363 | "y": 0, 364 | "z": 0, 365 | "w": 1 366 | }, 367 | "_skewX": 0, 368 | "_skewY": 0, 369 | "groupIndex": 0, 370 | "_id": "" 371 | }, 372 | { 373 | "__type__": "cc.Graphics", 374 | "_name": "", 375 | "_objFlags": 0, 376 | "node": { 377 | "__id__": 6 378 | }, 379 | "_enabled": true, 380 | "_lineWidth": 0.8, 381 | "_strokeColor": { 382 | "__type__": "cc.Color", 383 | "r": 255, 384 | "g": 255, 385 | "b": 255, 386 | "a": 255 387 | }, 388 | "_lineJoin": 2, 389 | "_lineCap": 0, 390 | "_fillColor": { 391 | "__type__": "cc.Color", 392 | "r": 255, 393 | "g": 255, 394 | "b": 255, 395 | "a": 255 396 | }, 397 | "_miterLimit": 180, 398 | "_id": "" 399 | }, 400 | { 401 | "__type__": "cc.PrefabInfo", 402 | "root": { 403 | "__id__": 1 404 | }, 405 | "asset": { 406 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 407 | }, 408 | "fileId": "00s++5/z1Ik4jIBOIdSHO5", 409 | "sync": false 410 | }, 411 | { 412 | "__type__": "cc.Node", 413 | "_name": "omo", 414 | "_objFlags": 0, 415 | "_parent": { 416 | "__id__": 5 417 | }, 418 | "_children": [], 419 | "_active": true, 420 | "_level": 4, 421 | "_components": [ 422 | { 423 | "__id__": 10 424 | }, 425 | { 426 | "__id__": 11 427 | }, 428 | { 429 | "__id__": 12 430 | } 431 | ], 432 | "_prefab": { 433 | "__id__": 13 434 | }, 435 | "_opacity": 255, 436 | "_color": { 437 | "__type__": "cc.Color", 438 | "r": 255, 439 | "g": 255, 440 | "b": 255, 441 | "a": 255 442 | }, 443 | "_contentSize": { 444 | "__type__": "cc.Size", 445 | "width": 24, 446 | "height": 30 447 | }, 448 | "_anchorPoint": { 449 | "__type__": "cc.Vec2", 450 | "x": 0.5, 451 | "y": 0.5 452 | }, 453 | "_position": { 454 | "__type__": "cc.Vec3", 455 | "x": 0, 456 | "y": -150, 457 | "z": 0 458 | }, 459 | "_scale": { 460 | "__type__": "cc.Vec3", 461 | "x": 0.8, 462 | "y": 0.8, 463 | "z": 1 464 | }, 465 | "_rotationX": 0, 466 | "_rotationY": 0, 467 | "_quat": { 468 | "__type__": "cc.Quat", 469 | "x": 0, 470 | "y": 0, 471 | "z": 0, 472 | "w": 1 473 | }, 474 | "_skewX": 0, 475 | "_skewY": 0, 476 | "groupIndex": 0, 477 | "_id": "" 478 | }, 479 | { 480 | "__type__": "cc.Sprite", 481 | "_name": "", 482 | "_objFlags": 0, 483 | "node": { 484 | "__id__": 9 485 | }, 486 | "_enabled": true, 487 | "_srcBlendFactor": 770, 488 | "_dstBlendFactor": 771, 489 | "_spriteFrame": { 490 | "__uuid__": "50a9d4fc-ca70-4ad7-a49b-4c67edd0f3cd" 491 | }, 492 | "_type": 0, 493 | "_sizeMode": 0, 494 | "_fillType": 0, 495 | "_fillCenter": { 496 | "__type__": "cc.Vec2", 497 | "x": 0, 498 | "y": 0 499 | }, 500 | "_fillStart": 0, 501 | "_fillRange": 0, 502 | "_isTrimmedMode": true, 503 | "_state": 0, 504 | "_atlas": { 505 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 506 | }, 507 | "_id": "" 508 | }, 509 | { 510 | "__type__": "cc.CircleCollider", 511 | "_name": "", 512 | "_objFlags": 0, 513 | "node": { 514 | "__id__": 9 515 | }, 516 | "_enabled": true, 517 | "tag": 0, 518 | "_offset": { 519 | "__type__": "cc.Vec2", 520 | "x": 0, 521 | "y": 0 522 | }, 523 | "_radius": 15, 524 | "_id": "" 525 | }, 526 | { 527 | "__type__": "95eaeJwMVdGuruo2qQEGi37", 528 | "_name": "", 529 | "_objFlags": 0, 530 | "node": { 531 | "__id__": 9 532 | }, 533 | "_enabled": true, 534 | "_id": "" 535 | }, 536 | { 537 | "__type__": "cc.PrefabInfo", 538 | "root": { 539 | "__id__": 1 540 | }, 541 | "asset": { 542 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 543 | }, 544 | "fileId": "f3NH4r6VZF9qFBSWsyJhOT", 545 | "sync": false 546 | }, 547 | { 548 | "__type__": "cc.Node", 549 | "_name": "ship", 550 | "_objFlags": 0, 551 | "_parent": { 552 | "__id__": 5 553 | }, 554 | "_children": [ 555 | { 556 | "__id__": 15 557 | } 558 | ], 559 | "_active": true, 560 | "_level": 4, 561 | "_components": [ 562 | { 563 | "__id__": 18 564 | }, 565 | { 566 | "__id__": 19 567 | }, 568 | { 569 | "__id__": 20 570 | } 571 | ], 572 | "_prefab": { 573 | "__id__": 21 574 | }, 575 | "_opacity": 255, 576 | "_color": { 577 | "__type__": "cc.Color", 578 | "r": 255, 579 | "g": 255, 580 | "b": 255, 581 | "a": 255 582 | }, 583 | "_contentSize": { 584 | "__type__": "cc.Size", 585 | "width": 42, 586 | "height": 28 587 | }, 588 | "_anchorPoint": { 589 | "__type__": "cc.Vec2", 590 | "x": 0.5, 591 | "y": 0.5 592 | }, 593 | "_position": { 594 | "__type__": "cc.Vec3", 595 | "x": 0, 596 | "y": -150, 597 | "z": 0 598 | }, 599 | "_scale": { 600 | "__type__": "cc.Vec3", 601 | "x": 0.8, 602 | "y": 0.8, 603 | "z": 1 604 | }, 605 | "_rotationX": 0, 606 | "_rotationY": 0, 607 | "_quat": { 608 | "__type__": "cc.Quat", 609 | "x": 0, 610 | "y": 0, 611 | "z": 0, 612 | "w": 1 613 | }, 614 | "_skewX": 0, 615 | "_skewY": 0, 616 | "groupIndex": 0, 617 | "_id": "" 618 | }, 619 | { 620 | "__type__": "cc.Node", 621 | "_name": "score", 622 | "_objFlags": 0, 623 | "_parent": { 624 | "__id__": 14 625 | }, 626 | "_children": [], 627 | "_active": true, 628 | "_level": 5, 629 | "_components": [ 630 | { 631 | "__id__": 16 632 | } 633 | ], 634 | "_prefab": { 635 | "__id__": 17 636 | }, 637 | "_opacity": 255, 638 | "_color": { 639 | "__type__": "cc.Color", 640 | "r": 255, 641 | "g": 255, 642 | "b": 255, 643 | "a": 255 644 | }, 645 | "_contentSize": { 646 | "__type__": "cc.Size", 647 | "width": 10, 648 | "height": 7 649 | }, 650 | "_anchorPoint": { 651 | "__type__": "cc.Vec2", 652 | "x": -3.5, 653 | "y": 0.5 654 | }, 655 | "_position": { 656 | "__type__": "cc.Vec3", 657 | "x": -25, 658 | "y": 18.75, 659 | "z": 0 660 | }, 661 | "_scale": { 662 | "__type__": "cc.Vec3", 663 | "x": 1.25, 664 | "y": 1.25, 665 | "z": 1.25 666 | }, 667 | "_rotationX": 0, 668 | "_rotationY": 0, 669 | "_quat": { 670 | "__type__": "cc.Quat", 671 | "x": 0, 672 | "y": 0, 673 | "z": 0, 674 | "w": 1 675 | }, 676 | "_skewX": 0, 677 | "_skewY": 0, 678 | "groupIndex": 0, 679 | "_id": "" 680 | }, 681 | { 682 | "__type__": "cc.Sprite", 683 | "_name": "", 684 | "_objFlags": 0, 685 | "node": { 686 | "__id__": 15 687 | }, 688 | "_enabled": true, 689 | "_srcBlendFactor": 770, 690 | "_dstBlendFactor": 771, 691 | "_spriteFrame": null, 692 | "_type": 0, 693 | "_sizeMode": 0, 694 | "_fillType": 0, 695 | "_fillCenter": { 696 | "__type__": "cc.Vec2", 697 | "x": 0, 698 | "y": 0 699 | }, 700 | "_fillStart": 0, 701 | "_fillRange": 0, 702 | "_isTrimmedMode": true, 703 | "_state": 0, 704 | "_atlas": null, 705 | "_id": "" 706 | }, 707 | { 708 | "__type__": "cc.PrefabInfo", 709 | "root": { 710 | "__id__": 1 711 | }, 712 | "asset": { 713 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 714 | }, 715 | "fileId": "a5yI4KNyhMcplD/qR9ajxw", 716 | "sync": false 717 | }, 718 | { 719 | "__type__": "cc.Sprite", 720 | "_name": "", 721 | "_objFlags": 0, 722 | "node": { 723 | "__id__": 14 724 | }, 725 | "_enabled": true, 726 | "_srcBlendFactor": 770, 727 | "_dstBlendFactor": 771, 728 | "_spriteFrame": { 729 | "__uuid__": "8499f7c7-21cf-4571-ab24-fe8dd127a789" 730 | }, 731 | "_type": 0, 732 | "_sizeMode": 0, 733 | "_fillType": 0, 734 | "_fillCenter": { 735 | "__type__": "cc.Vec2", 736 | "x": 0, 737 | "y": 0 738 | }, 739 | "_fillStart": 0, 740 | "_fillRange": 0, 741 | "_isTrimmedMode": true, 742 | "_state": 0, 743 | "_atlas": { 744 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 745 | }, 746 | "_id": "" 747 | }, 748 | { 749 | "__type__": "cc.CircleCollider", 750 | "_name": "", 751 | "_objFlags": 0, 752 | "node": { 753 | "__id__": 14 754 | }, 755 | "_enabled": true, 756 | "tag": 0, 757 | "_offset": { 758 | "__type__": "cc.Vec2", 759 | "x": 0, 760 | "y": 0 761 | }, 762 | "_radius": 30, 763 | "_id": "" 764 | }, 765 | { 766 | "__type__": "a20caY1tFJP26/1jdfcfkqY", 767 | "_name": "", 768 | "_objFlags": 0, 769 | "node": { 770 | "__id__": 14 771 | }, 772 | "_enabled": true, 773 | "_id": "" 774 | }, 775 | { 776 | "__type__": "cc.PrefabInfo", 777 | "root": { 778 | "__id__": 1 779 | }, 780 | "asset": { 781 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 782 | }, 783 | "fileId": "4eCn4MUaZHwZcXpIvhlVqn", 784 | "sync": false 785 | }, 786 | { 787 | "__type__": "cc.Node", 788 | "_name": "harpoon", 789 | "_objFlags": 0, 790 | "_parent": { 791 | "__id__": 5 792 | }, 793 | "_children": [], 794 | "_active": true, 795 | "_level": 4, 796 | "_components": [ 797 | { 798 | "__id__": 23 799 | } 800 | ], 801 | "_prefab": { 802 | "__id__": 24 803 | }, 804 | "_opacity": 255, 805 | "_color": { 806 | "__type__": "cc.Color", 807 | "r": 255, 808 | "g": 255, 809 | "b": 255, 810 | "a": 255 811 | }, 812 | "_contentSize": { 813 | "__type__": "cc.Size", 814 | "width": 43, 815 | "height": 60 816 | }, 817 | "_anchorPoint": { 818 | "__type__": "cc.Vec2", 819 | "x": 0.5, 820 | "y": 0.5 821 | }, 822 | "_position": { 823 | "__type__": "cc.Vec3", 824 | "x": 0, 825 | "y": 0, 826 | "z": 0 827 | }, 828 | "_scale": { 829 | "__type__": "cc.Vec3", 830 | "x": 0.4, 831 | "y": 0.4, 832 | "z": 1 833 | }, 834 | "_rotationX": 0, 835 | "_rotationY": 0, 836 | "_quat": { 837 | "__type__": "cc.Quat", 838 | "x": 0, 839 | "y": 0, 840 | "z": 0, 841 | "w": 1 842 | }, 843 | "_skewX": 0, 844 | "_skewY": 0, 845 | "groupIndex": 0, 846 | "_id": "" 847 | }, 848 | { 849 | "__type__": "cc.Sprite", 850 | "_name": "", 851 | "_objFlags": 0, 852 | "node": { 853 | "__id__": 22 854 | }, 855 | "_enabled": true, 856 | "_srcBlendFactor": 770, 857 | "_dstBlendFactor": 771, 858 | "_spriteFrame": { 859 | "__uuid__": "637b621d-ddad-4b3e-8969-1d3ec8a44e49" 860 | }, 861 | "_type": 0, 862 | "_sizeMode": 1, 863 | "_fillType": 0, 864 | "_fillCenter": { 865 | "__type__": "cc.Vec2", 866 | "x": 0, 867 | "y": 0 868 | }, 869 | "_fillStart": 0, 870 | "_fillRange": 0, 871 | "_isTrimmedMode": true, 872 | "_state": 0, 873 | "_atlas": { 874 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 875 | }, 876 | "_id": "" 877 | }, 878 | { 879 | "__type__": "cc.PrefabInfo", 880 | "root": { 881 | "__id__": 1 882 | }, 883 | "asset": { 884 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 885 | }, 886 | "fileId": "4cOF14hIRJNY5ROe9QFYjz", 887 | "sync": false 888 | }, 889 | { 890 | "__type__": "cc.PrefabInfo", 891 | "root": { 892 | "__id__": 1 893 | }, 894 | "asset": { 895 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 896 | }, 897 | "fileId": "e1WvR6p21GRKlkaTkxAqdR", 898 | "sync": false 899 | }, 900 | { 901 | "__type__": "cc.Node", 902 | "_name": "timeProgress", 903 | "_objFlags": 0, 904 | "_parent": { 905 | "__id__": 2 906 | }, 907 | "_children": [ 908 | { 909 | "__id__": 27 910 | } 911 | ], 912 | "_active": true, 913 | "_level": 3, 914 | "_components": [ 915 | { 916 | "__id__": 30 917 | }, 918 | { 919 | "__id__": 31 920 | } 921 | ], 922 | "_prefab": { 923 | "__id__": 32 924 | }, 925 | "_opacity": 255, 926 | "_color": { 927 | "__type__": "cc.Color", 928 | "r": 255, 929 | "g": 255, 930 | "b": 255, 931 | "a": 255 932 | }, 933 | "_contentSize": { 934 | "__type__": "cc.Size", 935 | "width": 182, 936 | "height": 8 937 | }, 938 | "_anchorPoint": { 939 | "__type__": "cc.Vec2", 940 | "x": 0.5, 941 | "y": 0.5 942 | }, 943 | "_position": { 944 | "__type__": "cc.Vec3", 945 | "x": 23, 946 | "y": -190, 947 | "z": 0 948 | }, 949 | "_scale": { 950 | "__type__": "cc.Vec3", 951 | "x": 1, 952 | "y": 1, 953 | "z": 1 954 | }, 955 | "_rotationX": 0, 956 | "_rotationY": 0, 957 | "_quat": { 958 | "__type__": "cc.Quat", 959 | "x": 0, 960 | "y": 0, 961 | "z": 0, 962 | "w": 1 963 | }, 964 | "_skewX": 0, 965 | "_skewY": 0, 966 | "groupIndex": 0, 967 | "_id": "" 968 | }, 969 | { 970 | "__type__": "cc.Node", 971 | "_name": "bar", 972 | "_objFlags": 0, 973 | "_parent": { 974 | "__id__": 26 975 | }, 976 | "_children": [], 977 | "_active": true, 978 | "_level": 0, 979 | "_components": [ 980 | { 981 | "__id__": 28 982 | } 983 | ], 984 | "_prefab": { 985 | "__id__": 29 986 | }, 987 | "_opacity": 255, 988 | "_color": { 989 | "__type__": "cc.Color", 990 | "r": 0, 991 | "g": 143, 992 | "b": 251, 993 | "a": 255 994 | }, 995 | "_contentSize": { 996 | "__type__": "cc.Size", 997 | "width": 182, 998 | "height": 8 999 | }, 1000 | "_anchorPoint": { 1001 | "__type__": "cc.Vec2", 1002 | "x": 0, 1003 | "y": 0.5 1004 | }, 1005 | "_position": { 1006 | "__type__": "cc.Vec3", 1007 | "x": -91, 1008 | "y": 0, 1009 | "z": 0 1010 | }, 1011 | "_scale": { 1012 | "__type__": "cc.Vec3", 1013 | "x": 1, 1014 | "y": 1, 1015 | "z": 1 1016 | }, 1017 | "_rotationX": 0, 1018 | "_rotationY": 0, 1019 | "_quat": { 1020 | "__type__": "cc.Quat", 1021 | "x": 0, 1022 | "y": 0, 1023 | "z": 0, 1024 | "w": 1 1025 | }, 1026 | "_skewX": 0, 1027 | "_skewY": 0, 1028 | "groupIndex": 0, 1029 | "_id": "" 1030 | }, 1031 | { 1032 | "__type__": "cc.Sprite", 1033 | "_name": "", 1034 | "_objFlags": 0, 1035 | "node": { 1036 | "__id__": 27 1037 | }, 1038 | "_enabled": true, 1039 | "_srcBlendFactor": 770, 1040 | "_dstBlendFactor": 771, 1041 | "_spriteFrame": { 1042 | "__uuid__": "67e68bc9-dad5-4ad9-a2d8-7e03d458e32f" 1043 | }, 1044 | "_type": 1, 1045 | "_sizeMode": 0, 1046 | "_fillType": 0, 1047 | "_fillCenter": { 1048 | "__type__": "cc.Vec2", 1049 | "x": 0, 1050 | "y": 0 1051 | }, 1052 | "_fillStart": 0, 1053 | "_fillRange": 0, 1054 | "_isTrimmedMode": true, 1055 | "_state": 0, 1056 | "_atlas": null, 1057 | "_id": "" 1058 | }, 1059 | { 1060 | "__type__": "cc.PrefabInfo", 1061 | "root": { 1062 | "__id__": 1 1063 | }, 1064 | "asset": { 1065 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1066 | }, 1067 | "fileId": "ea8uOZENdG/Kq44l129XMX", 1068 | "sync": false 1069 | }, 1070 | { 1071 | "__type__": "cc.Sprite", 1072 | "_name": "", 1073 | "_objFlags": 0, 1074 | "node": { 1075 | "__id__": 26 1076 | }, 1077 | "_enabled": true, 1078 | "_srcBlendFactor": 770, 1079 | "_dstBlendFactor": 771, 1080 | "_spriteFrame": { 1081 | "__uuid__": "88e79fd5-96b4-4a77-a1f4-312467171014" 1082 | }, 1083 | "_type": 1, 1084 | "_sizeMode": 0, 1085 | "_fillType": 0, 1086 | "_fillCenter": { 1087 | "__type__": "cc.Vec2", 1088 | "x": 0, 1089 | "y": 0 1090 | }, 1091 | "_fillStart": 0, 1092 | "_fillRange": 0, 1093 | "_isTrimmedMode": true, 1094 | "_state": 0, 1095 | "_atlas": null, 1096 | "_id": "" 1097 | }, 1098 | { 1099 | "__type__": "cc.ProgressBar", 1100 | "_name": "", 1101 | "_objFlags": 0, 1102 | "node": { 1103 | "__id__": 26 1104 | }, 1105 | "_enabled": true, 1106 | "_N$totalLength": 182, 1107 | "_N$barSprite": { 1108 | "__id__": 28 1109 | }, 1110 | "_N$mode": 0, 1111 | "_N$progress": 1, 1112 | "_N$reverse": false, 1113 | "_id": "" 1114 | }, 1115 | { 1116 | "__type__": "cc.PrefabInfo", 1117 | "root": { 1118 | "__id__": 1 1119 | }, 1120 | "asset": { 1121 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1122 | }, 1123 | "fileId": "b63V94TqRLKaxIX/2b9eo6", 1124 | "sync": false 1125 | }, 1126 | { 1127 | "__type__": "cc.Node", 1128 | "_name": "rank", 1129 | "_objFlags": 0, 1130 | "_parent": { 1131 | "__id__": 2 1132 | }, 1133 | "_children": [], 1134 | "_active": true, 1135 | "_level": 3, 1136 | "_components": [ 1137 | { 1138 | "__id__": 34 1139 | } 1140 | ], 1141 | "_prefab": { 1142 | "__id__": 35 1143 | }, 1144 | "_opacity": 255, 1145 | "_color": { 1146 | "__type__": "cc.Color", 1147 | "r": 255, 1148 | "g": 255, 1149 | "b": 255, 1150 | "a": 255 1151 | }, 1152 | "_contentSize": { 1153 | "__type__": "cc.Size", 1154 | "width": 12.22, 1155 | "height": 11.11 1156 | }, 1157 | "_anchorPoint": { 1158 | "__type__": "cc.Vec2", 1159 | "x": 0.5, 1160 | "y": 0.5 1161 | }, 1162 | "_position": { 1163 | "__type__": "cc.Vec3", 1164 | "x": -86, 1165 | "y": 172, 1166 | "z": 0 1167 | }, 1168 | "_scale": { 1169 | "__type__": "cc.Vec3", 1170 | "x": 1, 1171 | "y": 1, 1172 | "z": 1 1173 | }, 1174 | "_rotationX": 0, 1175 | "_rotationY": 0, 1176 | "_quat": { 1177 | "__type__": "cc.Quat", 1178 | "x": 0, 1179 | "y": 0, 1180 | "z": 0, 1181 | "w": 1 1182 | }, 1183 | "_skewX": 0, 1184 | "_skewY": 0, 1185 | "groupIndex": 0, 1186 | "_id": "" 1187 | }, 1188 | { 1189 | "__type__": "cc.Label", 1190 | "_name": "", 1191 | "_objFlags": 0, 1192 | "node": { 1193 | "__id__": 33 1194 | }, 1195 | "_enabled": true, 1196 | "_useOriginalSize": false, 1197 | "_string": "1", 1198 | "_N$string": "1", 1199 | "_fontSize": 20, 1200 | "_lineHeight": 20, 1201 | "_enableWrapText": true, 1202 | "_N$file": { 1203 | "__uuid__": "116d0bd1-dfe6-447f-84d4-cddb65fe9693" 1204 | }, 1205 | "_isSystemFontUsed": false, 1206 | "_spacingX": 0, 1207 | "_batchAsBitmap": false, 1208 | "_N$horizontalAlign": 1, 1209 | "_N$verticalAlign": 1, 1210 | "_N$fontFamily": "Arial", 1211 | "_N$overflow": 0, 1212 | "_N$cacheMode": 0, 1213 | "_id": "" 1214 | }, 1215 | { 1216 | "__type__": "cc.PrefabInfo", 1217 | "root": { 1218 | "__id__": 1 1219 | }, 1220 | "asset": { 1221 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1222 | }, 1223 | "fileId": "48sEvnjJFPerlXgHI7vl4s", 1224 | "sync": false 1225 | }, 1226 | { 1227 | "__type__": "cc.Node", 1228 | "_name": "rankProgress", 1229 | "_objFlags": 0, 1230 | "_parent": { 1231 | "__id__": 2 1232 | }, 1233 | "_children": [ 1234 | { 1235 | "__id__": 37 1236 | }, 1237 | { 1238 | "__id__": 40 1239 | } 1240 | ], 1241 | "_active": true, 1242 | "_level": 3, 1243 | "_components": [ 1244 | { 1245 | "__id__": 43 1246 | }, 1247 | { 1248 | "__id__": 44 1249 | } 1250 | ], 1251 | "_prefab": { 1252 | "__id__": 45 1253 | }, 1254 | "_opacity": 255, 1255 | "_color": { 1256 | "__type__": "cc.Color", 1257 | "r": 255, 1258 | "g": 255, 1259 | "b": 255, 1260 | "a": 255 1261 | }, 1262 | "_contentSize": { 1263 | "__type__": "cc.Size", 1264 | "width": 146, 1265 | "height": 14 1266 | }, 1267 | "_anchorPoint": { 1268 | "__type__": "cc.Vec2", 1269 | "x": 0.5, 1270 | "y": 0.5 1271 | }, 1272 | "_position": { 1273 | "__type__": "cc.Vec3", 1274 | "x": 40, 1275 | "y": 180.5, 1276 | "z": 0 1277 | }, 1278 | "_scale": { 1279 | "__type__": "cc.Vec3", 1280 | "x": 1, 1281 | "y": 1, 1282 | "z": 1 1283 | }, 1284 | "_rotationX": 0, 1285 | "_rotationY": 0, 1286 | "_quat": { 1287 | "__type__": "cc.Quat", 1288 | "x": 0, 1289 | "y": 0, 1290 | "z": 0, 1291 | "w": 1 1292 | }, 1293 | "_skewX": 0, 1294 | "_skewY": 0, 1295 | "groupIndex": 0, 1296 | "_id": "" 1297 | }, 1298 | { 1299 | "__type__": "cc.Node", 1300 | "_name": "bar", 1301 | "_objFlags": 0, 1302 | "_parent": { 1303 | "__id__": 36 1304 | }, 1305 | "_children": [], 1306 | "_active": true, 1307 | "_level": 0, 1308 | "_components": [ 1309 | { 1310 | "__id__": 38 1311 | } 1312 | ], 1313 | "_prefab": { 1314 | "__id__": 39 1315 | }, 1316 | "_opacity": 255, 1317 | "_color": { 1318 | "__type__": "cc.Color", 1319 | "r": 46, 1320 | "g": 195, 1321 | "b": 199, 1322 | "a": 255 1323 | }, 1324 | "_contentSize": { 1325 | "__type__": "cc.Size", 1326 | "width": 0, 1327 | "height": 12 1328 | }, 1329 | "_anchorPoint": { 1330 | "__type__": "cc.Vec2", 1331 | "x": 0, 1332 | "y": 0.5 1333 | }, 1334 | "_position": { 1335 | "__type__": "cc.Vec3", 1336 | "x": -72, 1337 | "y": 0, 1338 | "z": 0 1339 | }, 1340 | "_scale": { 1341 | "__type__": "cc.Vec3", 1342 | "x": 1, 1343 | "y": 1, 1344 | "z": 1 1345 | }, 1346 | "_rotationX": 0, 1347 | "_rotationY": 0, 1348 | "_quat": { 1349 | "__type__": "cc.Quat", 1350 | "x": 0, 1351 | "y": 0, 1352 | "z": 0, 1353 | "w": 1 1354 | }, 1355 | "_skewX": 0, 1356 | "_skewY": 0, 1357 | "groupIndex": 0, 1358 | "_id": "" 1359 | }, 1360 | { 1361 | "__type__": "cc.Sprite", 1362 | "_name": "", 1363 | "_objFlags": 0, 1364 | "node": { 1365 | "__id__": 37 1366 | }, 1367 | "_enabled": true, 1368 | "_srcBlendFactor": 770, 1369 | "_dstBlendFactor": 771, 1370 | "_spriteFrame": { 1371 | "__uuid__": "67e68bc9-dad5-4ad9-a2d8-7e03d458e32f" 1372 | }, 1373 | "_type": 1, 1374 | "_sizeMode": 0, 1375 | "_fillType": 0, 1376 | "_fillCenter": { 1377 | "__type__": "cc.Vec2", 1378 | "x": 0, 1379 | "y": 0 1380 | }, 1381 | "_fillStart": 0, 1382 | "_fillRange": 0, 1383 | "_isTrimmedMode": true, 1384 | "_state": 0, 1385 | "_atlas": null, 1386 | "_id": "" 1387 | }, 1388 | { 1389 | "__type__": "cc.PrefabInfo", 1390 | "root": { 1391 | "__id__": 1 1392 | }, 1393 | "asset": { 1394 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1395 | }, 1396 | "fileId": "e99Aedd3dBxaOtJSzM5H3s", 1397 | "sync": false 1398 | }, 1399 | { 1400 | "__type__": "cc.Node", 1401 | "_name": "New Sprite", 1402 | "_objFlags": 0, 1403 | "_parent": { 1404 | "__id__": 36 1405 | }, 1406 | "_children": [], 1407 | "_active": true, 1408 | "_level": 4, 1409 | "_components": [ 1410 | { 1411 | "__id__": 41 1412 | } 1413 | ], 1414 | "_prefab": { 1415 | "__id__": 42 1416 | }, 1417 | "_opacity": 255, 1418 | "_color": { 1419 | "__type__": "cc.Color", 1420 | "r": 255, 1421 | "g": 255, 1422 | "b": 255, 1423 | "a": 255 1424 | }, 1425 | "_contentSize": { 1426 | "__type__": "cc.Size", 1427 | "width": 146, 1428 | "height": 15 1429 | }, 1430 | "_anchorPoint": { 1431 | "__type__": "cc.Vec2", 1432 | "x": 0.5, 1433 | "y": 0.5 1434 | }, 1435 | "_position": { 1436 | "__type__": "cc.Vec3", 1437 | "x": 0, 1438 | "y": 0, 1439 | "z": 0 1440 | }, 1441 | "_scale": { 1442 | "__type__": "cc.Vec3", 1443 | "x": 1, 1444 | "y": 1, 1445 | "z": 1 1446 | }, 1447 | "_rotationX": 0, 1448 | "_rotationY": 0, 1449 | "_quat": { 1450 | "__type__": "cc.Quat", 1451 | "x": 0, 1452 | "y": 0, 1453 | "z": 0, 1454 | "w": 1 1455 | }, 1456 | "_skewX": 0, 1457 | "_skewY": 0, 1458 | "groupIndex": 0, 1459 | "_id": "" 1460 | }, 1461 | { 1462 | "__type__": "cc.Sprite", 1463 | "_name": "", 1464 | "_objFlags": 0, 1465 | "node": { 1466 | "__id__": 40 1467 | }, 1468 | "_enabled": true, 1469 | "_srcBlendFactor": 770, 1470 | "_dstBlendFactor": 771, 1471 | "_spriteFrame": { 1472 | "__uuid__": "9d3a3975-6c80-48b7-9684-ad9cd7d5a98c" 1473 | }, 1474 | "_type": 0, 1475 | "_sizeMode": 0, 1476 | "_fillType": 0, 1477 | "_fillCenter": { 1478 | "__type__": "cc.Vec2", 1479 | "x": 0, 1480 | "y": 0 1481 | }, 1482 | "_fillStart": 0, 1483 | "_fillRange": 0, 1484 | "_isTrimmedMode": true, 1485 | "_state": 0, 1486 | "_atlas": { 1487 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 1488 | }, 1489 | "_id": "" 1490 | }, 1491 | { 1492 | "__type__": "cc.PrefabInfo", 1493 | "root": { 1494 | "__id__": 1 1495 | }, 1496 | "asset": { 1497 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1498 | }, 1499 | "fileId": "abyTRa8WFFi76VXD3Fu+aE", 1500 | "sync": false 1501 | }, 1502 | { 1503 | "__type__": "cc.Sprite", 1504 | "_name": "", 1505 | "_objFlags": 0, 1506 | "node": { 1507 | "__id__": 36 1508 | }, 1509 | "_enabled": true, 1510 | "_srcBlendFactor": 770, 1511 | "_dstBlendFactor": 771, 1512 | "_spriteFrame": { 1513 | "__uuid__": "5a11320a-501b-48fa-814b-4493eb77181f" 1514 | }, 1515 | "_type": 1, 1516 | "_sizeMode": 0, 1517 | "_fillType": 0, 1518 | "_fillCenter": { 1519 | "__type__": "cc.Vec2", 1520 | "x": 0, 1521 | "y": 0 1522 | }, 1523 | "_fillStart": 0, 1524 | "_fillRange": 0, 1525 | "_isTrimmedMode": true, 1526 | "_state": 0, 1527 | "_atlas": { 1528 | "__uuid__": "7e3fad8d-0e46-4e77-8c2b-5c2191f08e71" 1529 | }, 1530 | "_id": "" 1531 | }, 1532 | { 1533 | "__type__": "cc.ProgressBar", 1534 | "_name": "", 1535 | "_objFlags": 0, 1536 | "node": { 1537 | "__id__": 36 1538 | }, 1539 | "_enabled": true, 1540 | "_N$totalLength": 146, 1541 | "_N$barSprite": { 1542 | "__id__": 38 1543 | }, 1544 | "_N$mode": 0, 1545 | "_N$progress": 0, 1546 | "_N$reverse": false, 1547 | "_id": "" 1548 | }, 1549 | { 1550 | "__type__": "cc.PrefabInfo", 1551 | "root": { 1552 | "__id__": 1 1553 | }, 1554 | "asset": { 1555 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1556 | }, 1557 | "fileId": "2aZdoclCNGzKQSjIw0STMg", 1558 | "sync": false 1559 | }, 1560 | { 1561 | "__type__": "cc.Node", 1562 | "_name": "gameVictory", 1563 | "_objFlags": 0, 1564 | "_parent": { 1565 | "__id__": 2 1566 | }, 1567 | "_children": [], 1568 | "_active": true, 1569 | "_level": 3, 1570 | "_components": [ 1571 | { 1572 | "__id__": 47 1573 | } 1574 | ], 1575 | "_prefab": { 1576 | "__id__": 48 1577 | }, 1578 | "_opacity": 255, 1579 | "_color": { 1580 | "__type__": "cc.Color", 1581 | "r": 255, 1582 | "g": 255, 1583 | "b": 255, 1584 | "a": 255 1585 | }, 1586 | "_contentSize": { 1587 | "__type__": "cc.Size", 1588 | "width": 109.33, 1589 | "height": 17.33 1590 | }, 1591 | "_anchorPoint": { 1592 | "__type__": "cc.Vec2", 1593 | "x": 0.5, 1594 | "y": 0.5 1595 | }, 1596 | "_position": { 1597 | "__type__": "cc.Vec3", 1598 | "x": 0, 1599 | "y": 40, 1600 | "z": 0 1601 | }, 1602 | "_scale": { 1603 | "__type__": "cc.Vec3", 1604 | "x": 1, 1605 | "y": 1, 1606 | "z": 1 1607 | }, 1608 | "_rotationX": 0, 1609 | "_rotationY": 0, 1610 | "_quat": { 1611 | "__type__": "cc.Quat", 1612 | "x": 0, 1613 | "y": 0, 1614 | "z": 0, 1615 | "w": 1 1616 | }, 1617 | "_skewX": 0, 1618 | "_skewY": 0, 1619 | "groupIndex": 0, 1620 | "_id": "" 1621 | }, 1622 | { 1623 | "__type__": "cc.Label", 1624 | "_name": "", 1625 | "_objFlags": 0, 1626 | "node": { 1627 | "__id__": 46 1628 | }, 1629 | "_enabled": true, 1630 | "_useOriginalSize": false, 1631 | "_string": "game win ", 1632 | "_N$string": "game win ", 1633 | "_fontSize": 24, 1634 | "_lineHeight": 26, 1635 | "_enableWrapText": true, 1636 | "_N$file": { 1637 | "__uuid__": "116d0bd1-dfe6-447f-84d4-cddb65fe9693" 1638 | }, 1639 | "_isSystemFontUsed": false, 1640 | "_spacingX": 0, 1641 | "_batchAsBitmap": false, 1642 | "_N$horizontalAlign": 1, 1643 | "_N$verticalAlign": 1, 1644 | "_N$fontFamily": "Arial", 1645 | "_N$overflow": 0, 1646 | "_N$cacheMode": 0, 1647 | "_id": "" 1648 | }, 1649 | { 1650 | "__type__": "cc.PrefabInfo", 1651 | "root": { 1652 | "__id__": 1 1653 | }, 1654 | "asset": { 1655 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1656 | }, 1657 | "fileId": "98I+nie59O96Frohjm3el8", 1658 | "sync": false 1659 | }, 1660 | { 1661 | "__type__": "cc.Node", 1662 | "_name": "gameFail", 1663 | "_objFlags": 0, 1664 | "_parent": { 1665 | "__id__": 2 1666 | }, 1667 | "_children": [], 1668 | "_active": true, 1669 | "_level": 3, 1670 | "_components": [ 1671 | { 1672 | "__id__": 50 1673 | } 1674 | ], 1675 | "_prefab": { 1676 | "__id__": 51 1677 | }, 1678 | "_opacity": 255, 1679 | "_color": { 1680 | "__type__": "cc.Color", 1681 | "r": 255, 1682 | "g": 255, 1683 | "b": 255, 1684 | "a": 255 1685 | }, 1686 | "_contentSize": { 1687 | "__type__": "cc.Size", 1688 | "width": 118.67, 1689 | "height": 17.33 1690 | }, 1691 | "_anchorPoint": { 1692 | "__type__": "cc.Vec2", 1693 | "x": 0.5, 1694 | "y": 0.5 1695 | }, 1696 | "_position": { 1697 | "__type__": "cc.Vec3", 1698 | "x": 0, 1699 | "y": 0, 1700 | "z": 0 1701 | }, 1702 | "_scale": { 1703 | "__type__": "cc.Vec3", 1704 | "x": 1, 1705 | "y": 1, 1706 | "z": 1 1707 | }, 1708 | "_rotationX": 0, 1709 | "_rotationY": 0, 1710 | "_quat": { 1711 | "__type__": "cc.Quat", 1712 | "x": 0, 1713 | "y": 0, 1714 | "z": 0, 1715 | "w": 1 1716 | }, 1717 | "_skewX": 0, 1718 | "_skewY": 0, 1719 | "groupIndex": 0, 1720 | "_id": "" 1721 | }, 1722 | { 1723 | "__type__": "cc.Label", 1724 | "_name": "", 1725 | "_objFlags": 0, 1726 | "node": { 1727 | "__id__": 49 1728 | }, 1729 | "_enabled": true, 1730 | "_useOriginalSize": false, 1731 | "_string": "game over ", 1732 | "_N$string": "game over ", 1733 | "_fontSize": 24, 1734 | "_lineHeight": 26, 1735 | "_enableWrapText": true, 1736 | "_N$file": { 1737 | "__uuid__": "116d0bd1-dfe6-447f-84d4-cddb65fe9693" 1738 | }, 1739 | "_isSystemFontUsed": false, 1740 | "_spacingX": 0, 1741 | "_batchAsBitmap": false, 1742 | "_N$horizontalAlign": 1, 1743 | "_N$verticalAlign": 1, 1744 | "_N$fontFamily": "Arial", 1745 | "_N$overflow": 0, 1746 | "_N$cacheMode": 0, 1747 | "_id": "" 1748 | }, 1749 | { 1750 | "__type__": "cc.PrefabInfo", 1751 | "root": { 1752 | "__id__": 1 1753 | }, 1754 | "asset": { 1755 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1756 | }, 1757 | "fileId": "0bR+Xo/7JFmrT+GwPtYz03", 1758 | "sync": false 1759 | }, 1760 | { 1761 | "__type__": "cc.Node", 1762 | "_name": "restart", 1763 | "_objFlags": 0, 1764 | "_parent": { 1765 | "__id__": 2 1766 | }, 1767 | "_children": [], 1768 | "_active": true, 1769 | "_level": 3, 1770 | "_components": [ 1771 | { 1772 | "__id__": 53 1773 | }, 1774 | { 1775 | "__id__": 54 1776 | } 1777 | ], 1778 | "_prefab": { 1779 | "__id__": 56 1780 | }, 1781 | "_opacity": 255, 1782 | "_color": { 1783 | "__type__": "cc.Color", 1784 | "r": 255, 1785 | "g": 255, 1786 | "b": 255, 1787 | "a": 255 1788 | }, 1789 | "_contentSize": { 1790 | "__type__": "cc.Size", 1791 | "width": 26, 1792 | "height": 30 1793 | }, 1794 | "_anchorPoint": { 1795 | "__type__": "cc.Vec2", 1796 | "x": 0.5, 1797 | "y": 0.5 1798 | }, 1799 | "_position": { 1800 | "__type__": "cc.Vec3", 1801 | "x": 99, 1802 | "y": 146, 1803 | "z": 0 1804 | }, 1805 | "_scale": { 1806 | "__type__": "cc.Vec3", 1807 | "x": 1, 1808 | "y": 1, 1809 | "z": 1 1810 | }, 1811 | "_rotationX": 0, 1812 | "_rotationY": 0, 1813 | "_quat": { 1814 | "__type__": "cc.Quat", 1815 | "x": 0, 1816 | "y": 0, 1817 | "z": 0, 1818 | "w": 1 1819 | }, 1820 | "_skewX": 0, 1821 | "_skewY": 0, 1822 | "groupIndex": 0, 1823 | "_id": "" 1824 | }, 1825 | { 1826 | "__type__": "cc.Sprite", 1827 | "_name": "", 1828 | "_objFlags": 0, 1829 | "node": { 1830 | "__id__": 52 1831 | }, 1832 | "_enabled": true, 1833 | "_srcBlendFactor": 770, 1834 | "_dstBlendFactor": 771, 1835 | "_spriteFrame": { 1836 | "__uuid__": "50a9d4fc-ca70-4ad7-a49b-4c67edd0f3cd" 1837 | }, 1838 | "_type": 1, 1839 | "_sizeMode": 0, 1840 | "_fillType": 0, 1841 | "_fillCenter": { 1842 | "__type__": "cc.Vec2", 1843 | "x": 0, 1844 | "y": 0 1845 | }, 1846 | "_fillStart": 0, 1847 | "_fillRange": 0, 1848 | "_isTrimmedMode": true, 1849 | "_state": 0, 1850 | "_atlas": { 1851 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 1852 | }, 1853 | "_id": "" 1854 | }, 1855 | { 1856 | "__type__": "cc.Button", 1857 | "_name": "", 1858 | "_objFlags": 0, 1859 | "node": { 1860 | "__id__": 52 1861 | }, 1862 | "_enabled": true, 1863 | "duration": 0.1, 1864 | "zoomScale": 1.2, 1865 | "clickEvents": [ 1866 | { 1867 | "__id__": 55 1868 | } 1869 | ], 1870 | "_N$interactable": true, 1871 | "_N$enableAutoGrayEffect": false, 1872 | "_N$transition": 0, 1873 | "transition": 0, 1874 | "_N$normalColor": { 1875 | "__type__": "cc.Color", 1876 | "r": 255, 1877 | "g": 255, 1878 | "b": 255, 1879 | "a": 255 1880 | }, 1881 | "_N$pressedColor": { 1882 | "__type__": "cc.Color", 1883 | "r": 255, 1884 | "g": 255, 1885 | "b": 255, 1886 | "a": 255 1887 | }, 1888 | "pressedColor": { 1889 | "__type__": "cc.Color", 1890 | "r": 255, 1891 | "g": 255, 1892 | "b": 255, 1893 | "a": 255 1894 | }, 1895 | "_N$hoverColor": { 1896 | "__type__": "cc.Color", 1897 | "r": 255, 1898 | "g": 255, 1899 | "b": 255, 1900 | "a": 255 1901 | }, 1902 | "hoverColor": { 1903 | "__type__": "cc.Color", 1904 | "r": 255, 1905 | "g": 255, 1906 | "b": 255, 1907 | "a": 255 1908 | }, 1909 | "_N$disabledColor": { 1910 | "__type__": "cc.Color", 1911 | "r": 255, 1912 | "g": 255, 1913 | "b": 255, 1914 | "a": 255 1915 | }, 1916 | "_N$normalSprite": { 1917 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 1918 | }, 1919 | "_N$pressedSprite": { 1920 | "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" 1921 | }, 1922 | "pressedSprite": { 1923 | "__uuid__": "e9ec654c-97a2-4787-9325-e6a10375219a" 1924 | }, 1925 | "_N$hoverSprite": { 1926 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 1927 | }, 1928 | "hoverSprite": { 1929 | "__uuid__": "f0048c10-f03e-4c97-b9d3-3506e1d58952" 1930 | }, 1931 | "_N$disabledSprite": { 1932 | "__uuid__": "29158224-f8dd-4661-a796-1ffab537140e" 1933 | }, 1934 | "_N$target": { 1935 | "__id__": 52 1936 | }, 1937 | "_id": "" 1938 | }, 1939 | { 1940 | "__type__": "cc.ClickEvent", 1941 | "target": { 1942 | "__id__": 2 1943 | }, 1944 | "component": "", 1945 | "_componentId": "8dae4DjQQNMrIsoXV+fTvBc", 1946 | "handler": "gameFail", 1947 | "customEventData": "" 1948 | }, 1949 | { 1950 | "__type__": "cc.PrefabInfo", 1951 | "root": { 1952 | "__id__": 1 1953 | }, 1954 | "asset": { 1955 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 1956 | }, 1957 | "fileId": "c2P7Kw8IRKq6s0H8Py1pzR", 1958 | "sync": false 1959 | }, 1960 | { 1961 | "__type__": "cc.Sprite", 1962 | "_name": "", 1963 | "_objFlags": 0, 1964 | "node": { 1965 | "__id__": 2 1966 | }, 1967 | "_enabled": true, 1968 | "_srcBlendFactor": 770, 1969 | "_dstBlendFactor": 771, 1970 | "_spriteFrame": { 1971 | "__uuid__": "27798e2c-48a7-4065-a705-707bb9af729f" 1972 | }, 1973 | "_type": 0, 1974 | "_sizeMode": 0, 1975 | "_fillType": 0, 1976 | "_fillCenter": { 1977 | "__type__": "cc.Vec2", 1978 | "x": 0, 1979 | "y": 0 1980 | }, 1981 | "_fillStart": 0, 1982 | "_fillRange": 0, 1983 | "_isTrimmedMode": true, 1984 | "_state": 0, 1985 | "_atlas": { 1986 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 1987 | }, 1988 | "_id": "" 1989 | }, 1990 | { 1991 | "__type__": "8dae4DjQQNMrIsoXV+fTvBc", 1992 | "_name": "", 1993 | "_objFlags": 0, 1994 | "node": { 1995 | "__id__": 2 1996 | }, 1997 | "_enabled": true, 1998 | "fish": [ 1999 | { 2000 | "__uuid__": "c1d0be2a-fbd5-43a8-86c7-51dcabf1feb8" 2001 | }, 2002 | { 2003 | "__uuid__": "3b8c0409-322c-4516-8637-84356babf364" 2004 | }, 2005 | { 2006 | "__uuid__": "7893e642-98ea-4b7a-a7ad-2f071a9c683e" 2007 | }, 2008 | { 2009 | "__uuid__": "1e9e6630-f396-4aca-b9e5-6c65a4603197" 2010 | } 2011 | ], 2012 | "rubbish": { 2013 | "__uuid__": "4a5edd48-d327-4912-bd25-3198ea9d8246" 2014 | }, 2015 | "gem": { 2016 | "__uuid__": "4cc8ce81-6417-4307-91a1-30ccd2c78e60" 2017 | }, 2018 | "timeProgress": { 2019 | "__id__": 31 2020 | }, 2021 | "rankProgress": { 2022 | "__id__": 44 2023 | }, 2024 | "shipSpr": [ 2025 | { 2026 | "__uuid__": "8499f7c7-21cf-4571-ab24-fe8dd127a789" 2027 | }, 2028 | { 2029 | "__uuid__": "c2fb3314-f9ba-41c8-aa0c-b06b4a9e4bc0" 2030 | }, 2031 | { 2032 | "__uuid__": "91160def-64b2-432a-ad17-1174ac059a78" 2033 | } 2034 | ], 2035 | "scoreList": [ 2036 | { 2037 | "__uuid__": "29fe812b-cb79-4216-8090-40be3c79b90b" 2038 | }, 2039 | { 2040 | "__uuid__": "01541909-3a6a-4e2d-a6d8-b5d2b9bcb9dd" 2041 | }, 2042 | { 2043 | "__uuid__": "ab41be03-ae08-4eb1-af5c-55dc15aa90f8" 2044 | } 2045 | ], 2046 | "fishBgm": { 2047 | "__uuid__": "290a5ff6-3d9f-4dea-9c1a-d0a927c9fcb5" 2048 | }, 2049 | "fishGrower": true, 2050 | "_id": "" 2051 | }, 2052 | { 2053 | "__type__": "cc.PrefabInfo", 2054 | "root": { 2055 | "__id__": 1 2056 | }, 2057 | "asset": { 2058 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 2059 | }, 2060 | "fileId": "bcFd/E21ZFwp+J+rvfeShE", 2061 | "sync": false 2062 | }, 2063 | { 2064 | "__type__": "cc.Node", 2065 | "_name": "cover", 2066 | "_objFlags": 0, 2067 | "_parent": { 2068 | "__id__": 1 2069 | }, 2070 | "_children": [ 2071 | { 2072 | "__id__": 61 2073 | } 2074 | ], 2075 | "_active": true, 2076 | "_level": 2, 2077 | "_components": [ 2078 | { 2079 | "__id__": 64 2080 | }, 2081 | { 2082 | "__id__": 65 2083 | } 2084 | ], 2085 | "_prefab": { 2086 | "__id__": 66 2087 | }, 2088 | "_opacity": 255, 2089 | "_color": { 2090 | "__type__": "cc.Color", 2091 | "r": 255, 2092 | "g": 255, 2093 | "b": 255, 2094 | "a": 255 2095 | }, 2096 | "_contentSize": { 2097 | "__type__": "cc.Size", 2098 | "width": 240, 2099 | "height": 400 2100 | }, 2101 | "_anchorPoint": { 2102 | "__type__": "cc.Vec2", 2103 | "x": 0.5, 2104 | "y": 0.5 2105 | }, 2106 | "_position": { 2107 | "__type__": "cc.Vec3", 2108 | "x": 0, 2109 | "y": 0, 2110 | "z": 0 2111 | }, 2112 | "_scale": { 2113 | "__type__": "cc.Vec3", 2114 | "x": 1, 2115 | "y": 1, 2116 | "z": 1 2117 | }, 2118 | "_rotationX": 0, 2119 | "_rotationY": 0, 2120 | "_quat": { 2121 | "__type__": "cc.Quat", 2122 | "x": 0, 2123 | "y": 0, 2124 | "z": 0, 2125 | "w": 1 2126 | }, 2127 | "_skewX": 0, 2128 | "_skewY": 0, 2129 | "groupIndex": 0, 2130 | "_id": "" 2131 | }, 2132 | { 2133 | "__type__": "cc.Node", 2134 | "_name": "start", 2135 | "_objFlags": 0, 2136 | "_parent": { 2137 | "__id__": 60 2138 | }, 2139 | "_children": [], 2140 | "_active": true, 2141 | "_level": 3, 2142 | "_components": [ 2143 | { 2144 | "__id__": 62 2145 | } 2146 | ], 2147 | "_prefab": { 2148 | "__id__": 63 2149 | }, 2150 | "_opacity": 255, 2151 | "_color": { 2152 | "__type__": "cc.Color", 2153 | "r": 255, 2154 | "g": 255, 2155 | "b": 255, 2156 | "a": 255 2157 | }, 2158 | "_contentSize": { 2159 | "__type__": "cc.Size", 2160 | "width": 326, 2161 | "height": 110 2162 | }, 2163 | "_anchorPoint": { 2164 | "__type__": "cc.Vec2", 2165 | "x": 0.5, 2166 | "y": 0.5 2167 | }, 2168 | "_position": { 2169 | "__type__": "cc.Vec3", 2170 | "x": 0, 2171 | "y": -150, 2172 | "z": 0 2173 | }, 2174 | "_scale": { 2175 | "__type__": "cc.Vec3", 2176 | "x": 0.5, 2177 | "y": 0.5, 2178 | "z": 1 2179 | }, 2180 | "_rotationX": 0, 2181 | "_rotationY": 0, 2182 | "_quat": { 2183 | "__type__": "cc.Quat", 2184 | "x": 0, 2185 | "y": 0, 2186 | "z": 0, 2187 | "w": 1 2188 | }, 2189 | "_skewX": 0, 2190 | "_skewY": 0, 2191 | "groupIndex": 0, 2192 | "_id": "" 2193 | }, 2194 | { 2195 | "__type__": "cc.Sprite", 2196 | "_name": "", 2197 | "_objFlags": 0, 2198 | "node": { 2199 | "__id__": 61 2200 | }, 2201 | "_enabled": true, 2202 | "_srcBlendFactor": 770, 2203 | "_dstBlendFactor": 771, 2204 | "_spriteFrame": { 2205 | "__uuid__": "fa22235b-47f0-4795-bb8e-d7d43f784a75" 2206 | }, 2207 | "_type": 0, 2208 | "_sizeMode": 1, 2209 | "_fillType": 0, 2210 | "_fillCenter": { 2211 | "__type__": "cc.Vec2", 2212 | "x": 0, 2213 | "y": 0 2214 | }, 2215 | "_fillStart": 0, 2216 | "_fillRange": 0, 2217 | "_isTrimmedMode": true, 2218 | "_state": 0, 2219 | "_atlas": { 2220 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 2221 | }, 2222 | "_id": "" 2223 | }, 2224 | { 2225 | "__type__": "cc.PrefabInfo", 2226 | "root": { 2227 | "__id__": 1 2228 | }, 2229 | "asset": { 2230 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 2231 | }, 2232 | "fileId": "f8FEhstwdGbpPFNWt3SrJ5", 2233 | "sync": false 2234 | }, 2235 | { 2236 | "__type__": "cc.Sprite", 2237 | "_name": "", 2238 | "_objFlags": 0, 2239 | "node": { 2240 | "__id__": 60 2241 | }, 2242 | "_enabled": true, 2243 | "_srcBlendFactor": 770, 2244 | "_dstBlendFactor": 771, 2245 | "_spriteFrame": { 2246 | "__uuid__": "289c7767-f12e-4a8a-a980-67ff3912eb32" 2247 | }, 2248 | "_type": 0, 2249 | "_sizeMode": 0, 2250 | "_fillType": 0, 2251 | "_fillCenter": { 2252 | "__type__": "cc.Vec2", 2253 | "x": 0, 2254 | "y": 0 2255 | }, 2256 | "_fillStart": 0, 2257 | "_fillRange": 0, 2258 | "_isTrimmedMode": true, 2259 | "_state": 0, 2260 | "_atlas": { 2261 | "__uuid__": "e2e6fea2-428b-4b02-982f-788ac9d28ddb" 2262 | }, 2263 | "_id": "" 2264 | }, 2265 | { 2266 | "__type__": "cc.BlockInputEvents", 2267 | "_name": "", 2268 | "_objFlags": 0, 2269 | "node": { 2270 | "__id__": 60 2271 | }, 2272 | "_enabled": true, 2273 | "_id": "" 2274 | }, 2275 | { 2276 | "__type__": "cc.PrefabInfo", 2277 | "root": { 2278 | "__id__": 1 2279 | }, 2280 | "asset": { 2281 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 2282 | }, 2283 | "fileId": "c1DwOup2lMLoisxM76L4R1", 2284 | "sync": false 2285 | }, 2286 | { 2287 | "__type__": "cc.Mask", 2288 | "_name": "", 2289 | "_objFlags": 0, 2290 | "node": { 2291 | "__id__": 1 2292 | }, 2293 | "_enabled": true, 2294 | "_spriteFrame": null, 2295 | "_type": 0, 2296 | "_segments": 64, 2297 | "_N$alphaThreshold": 0, 2298 | "_N$inverted": false, 2299 | "_id": "" 2300 | }, 2301 | { 2302 | "__type__": "cc.PrefabInfo", 2303 | "root": { 2304 | "__id__": 1 2305 | }, 2306 | "asset": { 2307 | "__uuid__": "94e4ee5b-e057-46e6-b6aa-a77f915e5ba6" 2308 | }, 2309 | "fileId": "a2FfD/R4dDxLzK1shqk3W9", 2310 | "sync": false 2311 | } 2312 | ] -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "experimentalDecorators": true 6 | }, 7 | "exclude": [ 8 | "node_modules", 9 | ".vscode", 10 | "library", 11 | "local", 12 | "settings", 13 | "temp" 14 | ] 15 | } -------------------------------------------------------------------------------- /project.json: -------------------------------------------------------------------------------- 1 | { 2 | "engine": "cocos-creator-js", 3 | "packages": "packages" 4 | } -------------------------------------------------------------------------------- /settings/builder.json: -------------------------------------------------------------------------------- 1 | { 2 | "android-instant": { 3 | "REMOTE_SERVER_ROOT": "", 4 | "host": "", 5 | "pathPattern": "", 6 | "recordPath": "", 7 | "scheme": "https", 8 | "skipRecord": false 9 | }, 10 | "appKey": "", 11 | "appSecret": "", 12 | "encryptJs": true, 13 | "excludeScenes": [], 14 | "fb-instant-games": {}, 15 | "includeAnySDK": false, 16 | "includeSDKBox": false, 17 | "inlineSpriteFrames": true, 18 | "inlineSpriteFrames_native": true, 19 | "jailbreakPlatform": false, 20 | "md5Cache": false, 21 | "mergeStartScene": false, 22 | "oauthLoginServer": "", 23 | "optimizeHotUpdate": false, 24 | "orientation": { 25 | "landscapeLeft": true, 26 | "landscapeRight": true, 27 | "portrait": false, 28 | "upsideDown": false 29 | }, 30 | "packageName": "org.cocos2d.Project-buddhaFishing", 31 | "privateKey": "", 32 | "qqplay": { 33 | "REMOTE_SERVER_ROOT": "", 34 | "orientation": "portrait", 35 | "zip": false 36 | }, 37 | "startScene": "8b55b0ae-c713-4fa8-b104-9a8e2fa66c99", 38 | "title": "Project-buddhaFishing", 39 | "webOrientation": "auto", 40 | "wechatgame": { 41 | "REMOTE_SERVER_ROOT": "", 42 | "appid": "wx6ac3f5090a6b99c5", 43 | "orientation": "portrait", 44 | "subContext": "" 45 | }, 46 | "xxteaKey": "e9b36c42-3f19-42", 47 | "zipCompressJs": true 48 | } -------------------------------------------------------------------------------- /settings/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "start-scene": "current", 3 | "group-list": [ 4 | "default" 5 | ], 6 | "collision-matrix": [ 7 | [ 8 | true 9 | ] 10 | ], 11 | "excluded-modules": [], 12 | "design-resolution-width": 960, 13 | "design-resolution-height": 640, 14 | "fit-width": false, 15 | "fit-height": true, 16 | "use-project-simulator-setting": false, 17 | "simulator-orientation": false, 18 | "use-customize-simulator": false, 19 | "simulator-resolution": { 20 | "width": 960, 21 | "height": 640 22 | }, 23 | "last-module-event-record-time": 0, 24 | "facebook": { 25 | "enable": false, 26 | "appID": "", 27 | "live": { 28 | "enable": false 29 | }, 30 | "audience": { 31 | "enable": false 32 | } 33 | }, 34 | "assets-sort-type": "name" 35 | } --------------------------------------------------------------------------------