feat: group 1.0.0

This commit is contained in:
zzc
2026-05-12 06:46:31 +08:00
parent 493b4709bc
commit 2fc90c1219
55 changed files with 23561 additions and 1767 deletions

View File

@@ -0,0 +1,9 @@
{
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "7738b983-fbbe-4577-950d-29c244d1f918",
"files": [],
"subMetas": {},
"userData": {}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,11 @@
{
"ver": "2.0.1",
"importer": "json",
"imported": true,
"uuid": "51f138ac-4ed7-4818-b035-98577e234a32",
"files": [
".json"
],
"subMetas": {},
"userData": {}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
{"ver":"2.0.1","importer":"json","imported":true,"uuid":"b494a7ea-ca78-409e-a58e-493951f85b5e","files":[".json"],"subMetas":{},"userData":{}}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
{"ver":"2.0.1","importer":"json","imported":true,"uuid":"d031af55-f67e-44ce-a8c9-25fd14a0ee00","files":[".json"],"subMetas":{},"userData":{}}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
{"ver":"2.0.1","importer":"json","imported":true,"uuid":"1123c6f0-0488-431a-89fb-71cfb5f2c8d8","files":[".json"],"subMetas":{},"userData":{}}

View File

@@ -0,0 +1,822 @@
[
{
"trackType": 0,
"timePoint": 1.0105
},
{
"trackType": 0,
"timePoint": 1.1644999999999999
},
{
"trackType": 0,
"timePoint": 1.2271999999992547
},
{
"trackType": 0,
"timePoint": 1.36110000000149
},
{
"trackType": 0,
"timePoint": 1.428699999999255
},
{
"trackType": 1,
"timePoint": 1.694
},
{
"trackType": 1,
"timePoint": 1.7436000000014902
},
{
"trackType": 2,
"timePoint": 2.142800000000745
},
{
"trackType": 1,
"timePoint": 2.4411999999992546
},
{
"trackType": 2,
"timePoint": 2.8788000000007448
},
{
"trackType": 2,
"timePoint": 2.944300000000745
},
{
"trackType": 1,
"timePoint": 3.23060000000149
},
{
"trackType": 0,
"timePoint": 3.577300000000745
},
{
"trackType": 1,
"timePoint": 3.8683000000007453
},
{
"trackType": 0,
"timePoint": 4.165800000000745
},
{
"trackType": 1,
"timePoint": 4.445600000001489
},
{
"trackType": 1,
"timePoint": 4.49410000000149
},
{
"trackType": 1,
"timePoint": 4.79760000000149
},
{
"trackType": 1,
"timePoint": 4.861100000001491
},
{
"trackType": 2,
"timePoint": 5.743199999999256
},
{
"trackType": 2,
"timePoint": 5.794400000002234
},
{
"trackType": 1,
"timePoint": 9.101800000000745
},
{
"trackType": 1,
"timePoint": 9.422500000000001
},
{
"trackType": 1,
"timePoint": 9.460900000002235
},
{
"trackType": 1,
"timePoint": 9.777000000000001
},
{
"trackType": 1,
"timePoint": 9.828199999999255
},
{
"trackType": 1,
"timePoint": 10.071300000000745
},
{
"trackType": 1,
"timePoint": 10.110800000000745
},
{
"trackType": 2,
"timePoint": 10.549800000000745
},
{
"trackType": 2,
"timePoint": 10.594199999999255
},
{
"trackType": 1,
"timePoint": 10.925
},
{
"trackType": 1,
"timePoint": 10.977400000002236
},
{
"trackType": 2,
"timePoint": 11.333199999999255
},
{
"trackType": 2,
"timePoint": 11.394300000000745
},
{
"trackType": 1,
"timePoint": 11.71
},
{
"trackType": 1,
"timePoint": 11.74410000000149
},
{
"trackType": 0,
"timePoint": 12.166500000000001
},
{
"trackType": 1,
"timePoint": 12.54210000000149
},
{
"trackType": 1,
"timePoint": 12.5775
},
{
"trackType": 2,
"timePoint": 12.977800000000746
},
{
"trackType": 2,
"timePoint": 13.0275
},
{
"trackType": 1,
"timePoint": 13.393
},
{
"trackType": 1,
"timePoint": 13.444199999999256
},
{
"trackType": 1,
"timePoint": 13.7735
},
{
"trackType": 1,
"timePoint": 13.8275
},
{
"trackType": 0,
"timePoint": 15.749300000000746
},
{
"trackType": 0,
"timePoint": 15.810900000002237
},
{
"trackType": 0,
"timePoint": 16.127100000001487
},
{
"trackType": 0,
"timePoint": 16.176300000000744
},
{
"trackType": 0,
"timePoint": 16.527800000000745
},
{
"trackType": 0,
"timePoint": 16.593900000002233
},
{
"trackType": 1,
"timePoint": 17.97810000000149
},
{
"trackType": 1,
"timePoint": 18.027600000001488
},
{
"trackType": 1,
"timePoint": 18.094400000002235
},
{
"trackType": 1,
"timePoint": 18.181900000002233
},
{
"trackType": 1,
"timePoint": 18.244400000002233
},
{
"trackType": 2,
"timePoint": 18.581100000001488
},
{
"trackType": 2,
"timePoint": 18.62760000000149
},
{
"trackType": 1,
"timePoint": 18.933199999999253
},
{
"trackType": 1,
"timePoint": 18.994100000001488
},
{
"trackType": 2,
"timePoint": 19.294600000001488
},
{
"trackType": 2,
"timePoint": 19.344900000002234
},
{
"trackType": 1,
"timePoint": 19.69360000000149
},
{
"trackType": 1,
"timePoint": 19.744100000001488
},
{
"trackType": 0,
"timePoint": 20.118800000000743
},
{
"trackType": 0,
"timePoint": 20.160900000002233
},
{
"trackType": 1,
"timePoint": 20.608800000000745
},
{
"trackType": 1,
"timePoint": 20.6605
},
{
"trackType": 1,
"timePoint": 21.058800000000744
},
{
"trackType": 1,
"timePoint": 21.110300000000745
},
{
"trackType": 2,
"timePoint": 21.413900000002233
},
{
"trackType": 1,
"timePoint": 22.058400000002234
},
{
"trackType": 1,
"timePoint": 22.21460000000149
},
{
"trackType": 1,
"timePoint": 22.381400000002234
},
{
"trackType": 1,
"timePoint": 22.67810000000149
},
{
"trackType": 1,
"timePoint": 22.727300000000742
},
{
"trackType": 0,
"timePoint": 23.277699999999253
},
{
"trackType": 0,
"timePoint": 23.327499999999997
},
{
"trackType": 1,
"timePoint": 23.614400000002234
},
{
"trackType": 1,
"timePoint": 23.677300000000745
},
{
"trackType": 0,
"timePoint": 24.0785
},
{
"trackType": 0,
"timePoint": 24.127100000001487
},
{
"trackType": 1,
"timePoint": 24.425600000001488
},
{
"trackType": 1,
"timePoint": 24.4775
},
{
"trackType": 2,
"timePoint": 24.874400000002233
},
{
"trackType": 1,
"timePoint": 25.316800000000743
},
{
"trackType": 1,
"timePoint": 25.7165
},
{
"trackType": 1,
"timePoint": 25.777400000002235
},
{
"trackType": 1,
"timePoint": 26.147699999999254
},
{
"trackType": 1,
"timePoint": 26.193699999999254
},
{
"trackType": 2,
"timePoint": 26.558
},
{
"trackType": 1,
"timePoint": 26.92660000000149
},
{
"trackType": 0,
"timePoint": 27.716400000002235
},
{
"trackType": 0,
"timePoint": 27.7775
},
{
"trackType": 1,
"timePoint": 29.0855
},
{
"trackType": 1,
"timePoint": 29.14410000000149
},
{
"trackType": 1,
"timePoint": 29.309400000002235
},
{
"trackType": 1,
"timePoint": 29.3605
},
{
"trackType": 2,
"timePoint": 30.198300000000742
},
{
"trackType": 2,
"timePoint": 30.260800000000742
},
{
"trackType": 2,
"timePoint": 30.429300000000744
},
{
"trackType": 2,
"timePoint": 30.493900000002235
},
{
"trackType": 1,
"timePoint": 30.909699999999255
},
{
"trackType": 1,
"timePoint": 30.960800000000745
},
{
"trackType": 0,
"timePoint": 31.392199999999256
},
{
"trackType": 0,
"timePoint": 31.44360000000149
},
{
"trackType": 0,
"timePoint": 31.628199999999254
},
{
"trackType": 0,
"timePoint": 31.693699999999254
},
{
"trackType": 1,
"timePoint": 32.209300000000745
},
{
"trackType": 1,
"timePoint": 32.26060000000149
},
{
"trackType": 2,
"timePoint": 32.74280000000074
},
{
"trackType": 2,
"timePoint": 32.79319999999925
},
{
"trackType": 1,
"timePoint": 33.16460000000149
},
{
"trackType": 1,
"timePoint": 33.22710000000149
},
{
"trackType": 1,
"timePoint": 33.3765
},
{
"trackType": 1,
"timePoint": 33.42730000000074
},
{
"trackType": 1,
"timePoint": 33.493600000001486
},
{
"trackType": 1,
"timePoint": 33.560600000001486
},
{
"trackType": 0,
"timePoint": 34.40560000000149
},
{
"trackType": 0,
"timePoint": 34.443100000001486
},
{
"trackType": 0,
"timePoint": 34.5815
},
{
"trackType": 0,
"timePoint": 34.643800000000745
},
{
"trackType": 1,
"timePoint": 34.95890000000223
},
{
"trackType": 1,
"timePoint": 35.01060000000149
},
{
"trackType": 2,
"timePoint": 35.56560000000149
},
{
"trackType": 2,
"timePoint": 35.62680000000074
},
{
"trackType": 1,
"timePoint": 35.91619999999925
},
{
"trackType": 1,
"timePoint": 35.97710000000149
},
{
"trackType": 2,
"timePoint": 36.243900000002235
},
{
"trackType": 2,
"timePoint": 36.294
},
{
"trackType": 1,
"timePoint": 36.58090000000223
},
{
"trackType": 1,
"timePoint": 36.64410000000149
},
{
"trackType": 0,
"timePoint": 36.95619999999926
},
{
"trackType": 0,
"timePoint": 36.99369999999925
},
{
"trackType": 1,
"timePoint": 37.294300000000746
},
{
"trackType": 1,
"timePoint": 37.36060000000149
},
{
"trackType": 1,
"timePoint": 37.69360000000149
},
{
"trackType": 1,
"timePoint": 37.74369999999925
},
{
"trackType": 2,
"timePoint": 38.089400000002236
},
{
"trackType": 2,
"timePoint": 38.143800000000745
},
{
"trackType": 1,
"timePoint": 38.53280000000074
},
{
"trackType": 1,
"timePoint": 38.59410000000149
},
{
"trackType": 1,
"timePoint": 38.9325
},
{
"trackType": 1,
"timePoint": 38.99410000000149
},
{
"trackType": 1,
"timePoint": 39.347900000002234
},
{
"trackType": 1,
"timePoint": 39.410300000000746
},
{
"trackType": 1,
"timePoint": 39.780800000000745
},
{
"trackType": 1,
"timePoint": 41.308800000000744
},
{
"trackType": 1,
"timePoint": 41.71010000000149
},
{
"trackType": 1,
"timePoint": 42.05769999999925
},
{
"trackType": 1,
"timePoint": 42.11030000000074
},
{
"trackType": 1,
"timePoint": 42.43910000000149
},
{
"trackType": 1,
"timePoint": 42.49340000000223
},
{
"trackType": 1,
"timePoint": 42.64760000000149
},
{
"trackType": 1,
"timePoint": 42.710499999999996
},
{
"trackType": 0,
"timePoint": 43.230100000001485
},
{
"trackType": 0,
"timePoint": 43.29380000000074
},
{
"trackType": 0,
"timePoint": 43.677800000000744
},
{
"trackType": 0,
"timePoint": 43.727300000000746
},
{
"trackType": 1,
"timePoint": 44.08469999999925
},
{
"trackType": 1,
"timePoint": 44.144
},
{
"trackType": 2,
"timePoint": 44.48469999999925
},
{
"trackType": 2,
"timePoint": 44.54310000000149
},
{
"trackType": 1,
"timePoint": 44.868199999999256
},
{
"trackType": 1,
"timePoint": 44.926800000000746
},
{
"trackType": 0,
"timePoint": 45.3005
},
{
"trackType": 0,
"timePoint": 45.36040000000224
},
{
"trackType": 0,
"timePoint": 45.70819999999925
},
{
"trackType": 0,
"timePoint": 45.760400000002235
},
{
"trackType": 1,
"timePoint": 46.014199999999256
},
{
"trackType": 1,
"timePoint": 46.076199999999254
},
{
"trackType": 2,
"timePoint": 46.29319999999925
},
{
"trackType": 2,
"timePoint": 46.34380000000074
},
{
"trackType": 1,
"timePoint": 47.425100000001486
},
{
"trackType": 1,
"timePoint": 47.47719999999925
},
{
"trackType": 1,
"timePoint": 47.941600000001486
},
{
"trackType": 1,
"timePoint": 47.994
},
{
"trackType": 2,
"timePoint": 48.225
},
{
"trackType": 2,
"timePoint": 48.27740000000223
},
{
"trackType": 1,
"timePoint": 48.53210000000149
},
{
"trackType": 1,
"timePoint": 48.59369999999925
},
{
"trackType": 2,
"timePoint": 48.84580000000074
},
{
"trackType": 2,
"timePoint": 48.9095
},
{
"trackType": 1,
"timePoint": 49.374900000002235
},
{
"trackType": 1,
"timePoint": 49.42719999999925
},
{
"trackType": 1,
"timePoint": 49.73260000000149
},
{
"trackType": 1,
"timePoint": 49.79380000000074
},
{
"trackType": 1,
"timePoint": 49.8605
},
{
"trackType": 1,
"timePoint": 50.101
},
{
"trackType": 1,
"timePoint": 50.1605
},
{
"trackType": 1,
"timePoint": 50.414199999999255
},
{
"trackType": 1,
"timePoint": 50.477400000002234
},
{
"trackType": 0,
"timePoint": 50.95860000000149
},
{
"trackType": 0,
"timePoint": 51.01
},
{
"trackType": 0,
"timePoint": 51.36060000000149
},
{
"trackType": 0,
"timePoint": 51.41060000000149
},
{
"trackType": 0,
"timePoint": 51.86340000000224
},
{
"trackType": 0,
"timePoint": 52.03030000000074
},
{
"trackType": 0,
"timePoint": 52.18060000000149
},
{
"trackType": 0,
"timePoint": 52.2435
},
{
"trackType": 0,
"timePoint": 52.34769999999925
},
{
"trackType": 0,
"timePoint": 52.49410000000149
},
{
"trackType": 0,
"timePoint": 52.54380000000074
},
{
"trackType": 1,
"timePoint": 53.414
},
{
"trackType": 1,
"timePoint": 53.47719999999925
}
]

View File

@@ -0,0 +1 @@
{"ver":"2.0.1","importer":"json","imported":true,"uuid":"0edf0fee-9660-4c05-9bed-ad7d7e0b05fc","files":[".json"],"subMetas":{},"userData":{}}

View File

@@ -0,0 +1,922 @@
[
{
"trackType": 0,
"timePoint": 8.248699999999253
},
{
"trackType": 0,
"timePoint": 8.312599999997765
},
{
"trackType": 1,
"timePoint": 8.649000000000001
},
{
"trackType": 1,
"timePoint": 8.712499999999999
},
{
"trackType": 1,
"timePoint": 8.847699999999254
},
{
"trackType": 2,
"timePoint": 9.41089999999851
},
{
"trackType": 2,
"timePoint": 9.462800000000744
},
{
"trackType": 2,
"timePoint": 9.594999999999999
},
{
"trackType": 2,
"timePoint": 9.646099999997766
},
{
"trackType": 1,
"timePoint": 10.380300000000744
},
{
"trackType": 1,
"timePoint": 10.445800000000744
},
{
"trackType": 1,
"timePoint": 10.600300000000747
},
{
"trackType": 1,
"timePoint": 10.66239999999851
},
{
"trackType": 0,
"timePoint": 10.819899999998508
},
{
"trackType": 0,
"timePoint": 10.8625
},
{
"trackType": 0,
"timePoint": 10.929099999997764
},
{
"trackType": 1,
"timePoint": 11.030399999998512
},
{
"trackType": 1,
"timePoint": 11.095699999999255
},
{
"trackType": 0,
"timePoint": 11.230800000000745
},
{
"trackType": 0,
"timePoint": 11.295899999998511
},
{
"trackType": 1,
"timePoint": 11.44589999999851
},
{
"trackType": 1,
"timePoint": 11.49589999999851
},
{
"trackType": 1,
"timePoint": 12.65939999999851
},
{
"trackType": 1,
"timePoint": 12.711300000000744
},
{
"trackType": 2,
"timePoint": 12.833699999999254
},
{
"trackType": 1,
"timePoint": 12.867699999999257
},
{
"trackType": 1,
"timePoint": 13.499599999997766
},
{
"trackType": 1,
"timePoint": 13.562399999998512
},
{
"trackType": 0,
"timePoint": 13.697500000000002
},
{
"trackType": 0,
"timePoint": 13.762399999998511
},
{
"trackType": 1,
"timePoint": 14.487800000000743
},
{
"trackType": 1,
"timePoint": 14.545800000000746
},
{
"trackType": 0,
"timePoint": 14.647300000000744
},
{
"trackType": 0,
"timePoint": 14.695599999997764
},
{
"trackType": 0,
"timePoint": 14.762300000000746
},
{
"trackType": 0,
"timePoint": 14.909800000000743
},
{
"trackType": 0,
"timePoint": 14.96239999999851
},
{
"trackType": 1,
"timePoint": 15.11189999999851
},
{
"trackType": 1,
"timePoint": 15.145899999998509
},
{
"trackType": 2,
"timePoint": 15.514300000000745
},
{
"trackType": 1,
"timePoint": 16.6315
},
{
"trackType": 1,
"timePoint": 16.695599999997764
},
{
"trackType": 0,
"timePoint": 16.799699999999255
},
{
"trackType": 0,
"timePoint": 16.862300000000744
},
{
"trackType": 1,
"timePoint": 17.530800000000745
},
{
"trackType": 1,
"timePoint": 17.595499999999998
},
{
"trackType": 0,
"timePoint": 17.635699999999254
},
{
"trackType": 0,
"timePoint": 17.695599999997764
},
{
"trackType": 0,
"timePoint": 17.760899999998507
},
{
"trackType": 2,
"timePoint": 18.44739999999851
},
{
"trackType": 2,
"timePoint": 18.512300000000746
},
{
"trackType": 1,
"timePoint": 18.5865
},
{
"trackType": 1,
"timePoint": 18.629099999997763
},
{
"trackType": 2,
"timePoint": 18.78289999999851
},
{
"trackType": 2,
"timePoint": 18.845599999997763
},
{
"trackType": 2,
"timePoint": 18.912499999999998
},
{
"trackType": 1,
"timePoint": 18.926800000000743
},
{
"trackType": 1,
"timePoint": 18.979099999997764
},
{
"trackType": 1,
"timePoint": 19.244199999999253
},
{
"trackType": 1,
"timePoint": 19.294699999999253
},
{
"trackType": 0,
"timePoint": 19.447199999999253
},
{
"trackType": 0,
"timePoint": 19.528899999998508
},
{
"trackType": 1,
"timePoint": 20.670599999997766
},
{
"trackType": 0,
"timePoint": 20.728300000000743
},
{
"trackType": 1,
"timePoint": 21.436099999997765
},
{
"trackType": 1,
"timePoint": 21.478800000000746
},
{
"trackType": 1,
"timePoint": 21.635099999997763
},
{
"trackType": 1,
"timePoint": 21.67889999999851
},
{
"trackType": 1,
"timePoint": 22.445099999997765
},
{
"trackType": 1,
"timePoint": 22.4955
},
{
"trackType": 1,
"timePoint": 22.562199999999255
},
{
"trackType": 2,
"timePoint": 22.666399999998507
},
{
"trackType": 0,
"timePoint": 22.720099999997764
},
{
"trackType": 0,
"timePoint": 22.762099999997766
},
{
"trackType": 2,
"timePoint": 22.953099999997765
},
{
"trackType": 2,
"timePoint": 23.011699999999255
},
{
"trackType": 1,
"timePoint": 24.446099999997763
},
{
"trackType": 0,
"timePoint": 24.753800000000744
},
{
"trackType": 0,
"timePoint": 24.812099999997763
},
{
"trackType": 1,
"timePoint": 25.276300000000745
},
{
"trackType": 0,
"timePoint": 25.563699999999255
},
{
"trackType": 1,
"timePoint": 25.752099999997764
},
{
"trackType": 1,
"timePoint": 25.811699999999256
},
{
"trackType": 2,
"timePoint": 26.5875
},
{
"trackType": 2,
"timePoint": 26.62889999999851
},
{
"trackType": 1,
"timePoint": 26.924300000000745
},
{
"trackType": 2,
"timePoint": 27.201
},
{
"trackType": 1,
"timePoint": 27.426300000000744
},
{
"trackType": 1,
"timePoint": 27.462199999999253
},
{
"trackType": 1,
"timePoint": 27.694499999999998
},
{
"trackType": 1,
"timePoint": 27.744800000000744
},
{
"trackType": 0,
"timePoint": 28.601499999999998
},
{
"trackType": 0,
"timePoint": 28.678699999999253
},
{
"trackType": 1,
"timePoint": 28.993
},
{
"trackType": 0,
"timePoint": 29.40139999999851
},
{
"trackType": 0,
"timePoint": 29.461300000000744
},
{
"trackType": 1,
"timePoint": 29.6745
},
{
"trackType": 1,
"timePoint": 29.712099999997765
},
{
"trackType": 0,
"timePoint": 30.177199999999253
},
{
"trackType": 1,
"timePoint": 30.698699999999253
},
{
"trackType": 2,
"timePoint": 31.130199999999252
},
{
"trackType": 1,
"timePoint": 31.698300000000746
},
{
"trackType": 0,
"timePoint": 32.19439999999851
},
{
"trackType": 1,
"timePoint": 32.645500000000006
},
{
"trackType": 1,
"timePoint": 32.695800000000744
},
{
"trackType": 2,
"timePoint": 33.14719999999926
},
{
"trackType": 1,
"timePoint": 33.68289999999851
},
{
"trackType": 1,
"timePoint": 33.7455
},
{
"trackType": 0,
"timePoint": 34.642300000000745
},
{
"trackType": 0,
"timePoint": 34.695399999998514
},
{
"trackType": 0,
"timePoint": 34.93030000000075
},
{
"trackType": 0,
"timePoint": 34.9955
},
{
"trackType": 0,
"timePoint": 35.1295
},
{
"trackType": 0,
"timePoint": 35.1785
},
{
"trackType": 1,
"timePoint": 35.44589999999851
},
{
"trackType": 2,
"timePoint": 35.74569999999926
},
{
"trackType": 1,
"timePoint": 36.609199999999255
},
{
"trackType": 1,
"timePoint": 36.661800000000746
},
{
"trackType": 0,
"timePoint": 37.13130000000075
},
{
"trackType": 0,
"timePoint": 37.195099999997765
},
{
"trackType": 1,
"timePoint": 37.59389999999851
},
{
"trackType": 1,
"timePoint": 37.64559999999777
},
{
"trackType": 2,
"timePoint": 38.12980000000075
},
{
"trackType": 1,
"timePoint": 38.60089999999851
},
{
"trackType": 1,
"timePoint": 38.662099999997764
},
{
"trackType": 0,
"timePoint": 39.128099999997765
},
{
"trackType": 0,
"timePoint": 39.178599999997765
},
{
"trackType": 0,
"timePoint": 39.483000000000004
},
{
"trackType": 0,
"timePoint": 39.54530000000075
},
{
"trackType": 0,
"timePoint": 39.71509999999777
},
{
"trackType": 0,
"timePoint": 39.778599999997766
},
{
"trackType": 1,
"timePoint": 40.55409999999777
},
{
"trackType": 1,
"timePoint": 40.61119999999926
},
{
"trackType": 2,
"timePoint": 42.186099999997765
},
{
"trackType": 2,
"timePoint": 42.44189999999851
},
{
"trackType": 2,
"timePoint": 42.495000000000005
},
{
"trackType": 1,
"timePoint": 42.73019999999926
},
{
"trackType": 1,
"timePoint": 42.794599999997764
},
{
"trackType": 0,
"timePoint": 43.185199999999256
},
{
"trackType": 1,
"timePoint": 43.649399999998515
},
{
"trackType": 1,
"timePoint": 43.712
},
{
"trackType": 2,
"timePoint": 43.926800000000746
},
{
"trackType": 1,
"timePoint": 44.16169999999926
},
{
"trackType": 1,
"timePoint": 44.21209999999777
},
{
"trackType": 0,
"timePoint": 44.58480000000075
},
{
"trackType": 1,
"timePoint": 44.86589999999851
},
{
"trackType": 1,
"timePoint": 44.92869999999926
},
{
"trackType": 2,
"timePoint": 45.14730000000075
},
{
"trackType": 1,
"timePoint": 45.40019999999926
},
{
"trackType": 1,
"timePoint": 45.462
},
{
"trackType": 0,
"timePoint": 45.89209999999777
},
{
"trackType": 0,
"timePoint": 45.945399999998514
},
{
"trackType": 0,
"timePoint": 46.466199999999255
},
{
"trackType": 1,
"timePoint": 46.826099999997766
},
{
"trackType": 1,
"timePoint": 46.86169999999926
},
{
"trackType": 2,
"timePoint": 47.169599999997764
},
{
"trackType": 2,
"timePoint": 47.22869999999926
},
{
"trackType": 1,
"timePoint": 47.463199999999254
},
{
"trackType": 1,
"timePoint": 47.51180000000075
},
{
"trackType": 0,
"timePoint": 47.72319999999926
},
{
"trackType": 0,
"timePoint": 47.777199999999254
},
{
"trackType": 1,
"timePoint": 48.017
},
{
"trackType": 1,
"timePoint": 48.078500000000005
},
{
"trackType": 1,
"timePoint": 48.21109999999777
},
{
"trackType": 1,
"timePoint": 48.26189999999851
},
{
"trackType": 2,
"timePoint": 48.69180000000075
},
{
"trackType": 2,
"timePoint": 48.74539999999851
},
{
"trackType": 1,
"timePoint": 49.330000000000005
},
{
"trackType": 1,
"timePoint": 49.7635
},
{
"trackType": 1,
"timePoint": 49.82859999999777
},
{
"trackType": 1,
"timePoint": 49.98469999999926
},
{
"trackType": 1,
"timePoint": 50.045199999999255
},
{
"trackType": 1,
"timePoint": 50.21709999999777
},
{
"trackType": 0,
"timePoint": 50.681599999997765
},
{
"trackType": 1,
"timePoint": 51.19669999999926
},
{
"trackType": 1,
"timePoint": 51.261199999999256
},
{
"trackType": 0,
"timePoint": 51.64419999999926
},
{
"trackType": 0,
"timePoint": 51.69459999999777
},
{
"trackType": 2,
"timePoint": 52.42659999999777
},
{
"trackType": 2,
"timePoint": 52.477599999997764
},
{
"trackType": 1,
"timePoint": 52.694500000000005
},
{
"trackType": 0,
"timePoint": 53.06009999999777
},
{
"trackType": 0,
"timePoint": 53.11189999999851
},
{
"trackType": 1,
"timePoint": 53.28219999999926
},
{
"trackType": 1,
"timePoint": 53.34519999999926
},
{
"trackType": 2,
"timePoint": 53.5525
},
{
"trackType": 2,
"timePoint": 53.6115
},
{
"trackType": 1,
"timePoint": 55.16219999999926
},
{
"trackType": 0,
"timePoint": 55.525899999998515
},
{
"trackType": 1,
"timePoint": 55.76919999999926
},
{
"trackType": 1,
"timePoint": 55.827899999998515
},
{
"trackType": 2,
"timePoint": 56.4285
},
{
"trackType": 1,
"timePoint": 56.713800000000745
},
{
"trackType": 1,
"timePoint": 56.7785
},
{
"trackType": 1,
"timePoint": 56.97830000000075
},
{
"trackType": 1,
"timePoint": 57.0285
},
{
"trackType": 0,
"timePoint": 58.2305
},
{
"trackType": 1,
"timePoint": 58.71369999999926
},
{
"trackType": 1,
"timePoint": 58.7785
},
{
"trackType": 0,
"timePoint": 59.17780000000075
},
{
"trackType": 0,
"timePoint": 59.228399999998516
},
{
"trackType": 1,
"timePoint": 59.48219999999926
},
{
"trackType": 1,
"timePoint": 59.54489999999851
},
{
"trackType": 2,
"timePoint": 59.729699999999255
},
{
"trackType": 2,
"timePoint": 59.79480000000075
},
{
"trackType": 1,
"timePoint": 60.130500000000005
},
{
"trackType": 1,
"timePoint": 60.195099999997765
},
{
"trackType": 0,
"timePoint": 60.679199999999256
},
{
"trackType": 1,
"timePoint": 60.95359999999777
},
{
"trackType": 1,
"timePoint": 61.01169999999926
},
{
"trackType": 2,
"timePoint": 61.228500000000004
},
{
"trackType": 2,
"timePoint": 61.2785
},
{
"trackType": 1,
"timePoint": 61.70980000000075
},
{
"trackType": 1,
"timePoint": 61.944
},
{
"trackType": 1,
"timePoint": 61.99480000000075
},
{
"trackType": 1,
"timePoint": 62.18409999999777
},
{
"trackType": 1,
"timePoint": 62.245000000000005
},
{
"trackType": 0,
"timePoint": 62.69819999999926
},
{
"trackType": 1,
"timePoint": 63.141899999998515
},
{
"trackType": 1,
"timePoint": 63.19489999999851
},
{
"trackType": 2,
"timePoint": 63.62769999999925
},
{
"trackType": 2,
"timePoint": 63.67839999999852
},
{
"trackType": 1,
"timePoint": 63.93000000000001
},
{
"trackType": 1,
"timePoint": 63.99489999999851
},
{
"trackType": 0,
"timePoint": 64.19319999999925
},
{
"trackType": 0,
"timePoint": 64.26180000000075
},
{
"trackType": 1,
"timePoint": 64.65559999999776
},
{
"trackType": 1,
"timePoint": 64.7115
},
{
"trackType": 1,
"timePoint": 66.00080000000075
},
{
"trackType": 1,
"timePoint": 66.06180000000074
}
]

View File

@@ -0,0 +1 @@
{"ver":"2.0.1","importer":"json","imported":true,"uuid":"0d03e770-76b5-44d2-b493-6c49880e2b12","files":[".json"],"subMetas":{},"userData":{}}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
{"ver":"2.0.1","importer":"json","imported":true,"uuid":"bbb837bb-de1b-4190-bdde-6f108abc9e42","files":[".json"],"subMetas":{},"userData":{}}

View File

@@ -0,0 +1,978 @@
[
{
"trackType": 0,
"timePoint": 5.03510000000149
},
{
"trackType": 0,
"timePoint": 5.084300000000745
},
{
"trackType": 1,
"timePoint": 5.852699999999254
},
{
"trackType": 1,
"timePoint": 6.816300000000745
},
{
"trackType": 1,
"timePoint": 6.86710000000149
},
{
"trackType": 2,
"timePoint": 7.25089999999851
},
{
"trackType": 2,
"timePoint": 7.316699999999254
},
{
"trackType": 1,
"timePoint": 7.767399999998509
},
{
"trackType": 0,
"timePoint": 8.233500000000001
},
{
"trackType": 0,
"timePoint": 8.282800000000746
},
{
"trackType": 0,
"timePoint": 8.83289999999851
},
{
"trackType": 0,
"timePoint": 8.9
},
{
"trackType": 0,
"timePoint": 9.476500000000001
},
{
"trackType": 0,
"timePoint": 9.533800000000745
},
{
"trackType": 0,
"timePoint": 9.833600000001491
},
{
"trackType": 1,
"timePoint": 10.96560000000149
},
{
"trackType": 1,
"timePoint": 11.01639999999851
},
{
"trackType": 1,
"timePoint": 11.399699999999255
},
{
"trackType": 1,
"timePoint": 12.139000000000001
},
{
"trackType": 0,
"timePoint": 12.45260000000149
},
{
"trackType": 0,
"timePoint": 12.517100000001491
},
{
"trackType": 1,
"timePoint": 12.851800000000745
},
{
"trackType": 1,
"timePoint": 12.916800000000746
},
{
"trackType": 0,
"timePoint": 13.252600000001491
},
{
"trackType": 0,
"timePoint": 13.31689999999851
},
{
"trackType": 1,
"timePoint": 13.799000000000001
},
{
"trackType": 1,
"timePoint": 13.850800000000746
},
{
"trackType": 0,
"timePoint": 14.317199999999255
},
{
"trackType": 0,
"timePoint": 14.36689999999851
},
{
"trackType": 0,
"timePoint": 14.433500000000002
},
{
"trackType": 1,
"timePoint": 14.834699999999255
},
{
"trackType": 1,
"timePoint": 14.900500000000001
},
{
"trackType": 2,
"timePoint": 15.2895
},
{
"trackType": 2,
"timePoint": 15.350199999999255
},
{
"trackType": 0,
"timePoint": 15.6345
},
{
"trackType": 0,
"timePoint": 15.7
},
{
"trackType": 1,
"timePoint": 16.967000000000002
},
{
"trackType": 1,
"timePoint": 17.016800000000746
},
{
"trackType": 0,
"timePoint": 17.836800000000746
},
{
"trackType": 0,
"timePoint": 17.900199999999256
},
{
"trackType": 0,
"timePoint": 17.991199999999257
},
{
"trackType": 0,
"timePoint": 18.050300000000746
},
{
"trackType": 1,
"timePoint": 18.318399999998512
},
{
"trackType": 1,
"timePoint": 18.38360000000149
},
{
"trackType": 1,
"timePoint": 18.90210000000149
},
{
"trackType": 0,
"timePoint": 19.323300000000746
},
{
"trackType": 0,
"timePoint": 19.3825
},
{
"trackType": 1,
"timePoint": 19.819699999999255
},
{
"trackType": 1,
"timePoint": 19.883199999999256
},
{
"trackType": 2,
"timePoint": 20.369199999999257
},
{
"trackType": 2,
"timePoint": 20.433699999999256
},
{
"trackType": 1,
"timePoint": 20.851800000000747
},
{
"trackType": 1,
"timePoint": 20.916699999999256
},
{
"trackType": 0,
"timePoint": 21.382800000000746
},
{
"trackType": 0,
"timePoint": 21.43360000000149
},
{
"trackType": 1,
"timePoint": 21.822199999999256
},
{
"trackType": 1,
"timePoint": 21.883199999999256
},
{
"trackType": 0,
"timePoint": 22.36810000000149
},
{
"trackType": 0,
"timePoint": 22.433500000000002
},
{
"trackType": 1,
"timePoint": 22.80110000000149
},
{
"trackType": 1,
"timePoint": 22.866800000000747
},
{
"trackType": 2,
"timePoint": 23.24760000000149
},
{
"trackType": 2,
"timePoint": 23.299199999999257
},
{
"trackType": 2,
"timePoint": 23.36539999999851
},
{
"trackType": 1,
"timePoint": 24.471300000000745
},
{
"trackType": 1,
"timePoint": 24.53339999999851
},
{
"trackType": 0,
"timePoint": 24.685699999999255
},
{
"trackType": 0,
"timePoint": 24.750199999999257
},
{
"trackType": 1,
"timePoint": 25.3545
},
{
"trackType": 1,
"timePoint": 25.415800000000747
},
{
"trackType": 0,
"timePoint": 25.81889999999851
},
{
"trackType": 0,
"timePoint": 25.8835
},
{
"trackType": 1,
"timePoint": 26.23810000000149
},
{
"trackType": 1,
"timePoint": 26.30010000000149
},
{
"trackType": 2,
"timePoint": 26.76810000000149
},
{
"trackType": 2,
"timePoint": 26.832699999999257
},
{
"trackType": 1,
"timePoint": 27.31939999999851
},
{
"trackType": 1,
"timePoint": 27.38339999999851
},
{
"trackType": 0,
"timePoint": 27.82060000000149
},
{
"trackType": 0,
"timePoint": 27.88310000000149
},
{
"trackType": 1,
"timePoint": 28.321600000001492
},
{
"trackType": 1,
"timePoint": 28.383300000000744
},
{
"trackType": 1,
"timePoint": 28.820699999999256
},
{
"trackType": 1,
"timePoint": 28.883300000000744
},
{
"trackType": 1,
"timePoint": 29.26760000000149
},
{
"trackType": 1,
"timePoint": 29.3325
},
{
"trackType": 1,
"timePoint": 29.400000000000002
},
{
"trackType": 0,
"timePoint": 29.804199999999256
},
{
"trackType": 0,
"timePoint": 29.866699999999256
},
{
"trackType": 1,
"timePoint": 30.25260000000149
},
{
"trackType": 1,
"timePoint": 30.316
},
{
"trackType": 1,
"timePoint": 30.754300000000747
},
{
"trackType": 1,
"timePoint": 30.816600000001493
},
{
"trackType": 1,
"timePoint": 30.88219999999926
},
{
"trackType": 1,
"timePoint": 30.949899999998507
},
{
"trackType": 1,
"timePoint": 31.334300000000745
},
{
"trackType": 1,
"timePoint": 31.400100000001494
},
{
"trackType": 0,
"timePoint": 31.813300000000744
},
{
"trackType": 0,
"timePoint": 31.866100000001488
},
{
"trackType": 0,
"timePoint": 31.933199999999253
},
{
"trackType": 0,
"timePoint": 32.33989999999851
},
{
"trackType": 0,
"timePoint": 32.400100000001494
},
{
"trackType": 0,
"timePoint": 32.466800000000745
},
{
"trackType": 0,
"timePoint": 32.607699999999255
},
{
"trackType": 0,
"timePoint": 32.66669999999925
},
{
"trackType": 0,
"timePoint": 32.73339999999851
},
{
"trackType": 0,
"timePoint": 32.80019999999926
},
{
"trackType": 1,
"timePoint": 33.248
},
{
"trackType": 1,
"timePoint": 33.3
},
{
"trackType": 1,
"timePoint": 33.366699999999256
},
{
"trackType": 0,
"timePoint": 33.76810000000149
},
{
"trackType": 0,
"timePoint": 33.8335
},
{
"trackType": 0,
"timePoint": 33.900100000001494
},
{
"trackType": 1,
"timePoint": 34.168
},
{
"trackType": 1,
"timePoint": 34.2335
},
{
"trackType": 1,
"timePoint": 34.3
},
{
"trackType": 2,
"timePoint": 34.60330000000074
},
{
"trackType": 2,
"timePoint": 34.66669999999925
},
{
"trackType": 2,
"timePoint": 34.733300000000746
},
{
"trackType": 2,
"timePoint": 34.80010000000149
},
{
"trackType": 2,
"timePoint": 34.94110000000149
},
{
"trackType": 2,
"timePoint": 35.002
},
{
"trackType": 2,
"timePoint": 35.066199999999256
},
{
"trackType": 2,
"timePoint": 35.1555
},
{
"trackType": 2,
"timePoint": 35.2165
},
{
"trackType": 2,
"timePoint": 35.28239999999851
},
{
"trackType": 1,
"timePoint": 35.785300000000746
},
{
"trackType": 1,
"timePoint": 35.84989999999851
},
{
"trackType": 0,
"timePoint": 36.26330000000075
},
{
"trackType": 0,
"timePoint": 36.316199999999256
},
{
"trackType": 1,
"timePoint": 36.71810000000149
},
{
"trackType": 1,
"timePoint": 36.78310000000149
},
{
"trackType": 1,
"timePoint": 36.93780000000075
},
{
"trackType": 1,
"timePoint": 36.99989999999851
},
{
"trackType": 1,
"timePoint": 37.303300000000746
},
{
"trackType": 1,
"timePoint": 37.366399999998514
},
{
"trackType": 0,
"timePoint": 37.80110000000149
},
{
"trackType": 0,
"timePoint": 37.86589999999851
},
{
"trackType": 1,
"timePoint": 38.22439999999851
},
{
"trackType": 1,
"timePoint": 38.28330000000074
},
{
"trackType": 1,
"timePoint": 38.34939999999851
},
{
"trackType": 2,
"timePoint": 38.762800000000745
},
{
"trackType": 2,
"timePoint": 38.8165
},
{
"trackType": 1,
"timePoint": 39.213800000000745
},
{
"trackType": 1,
"timePoint": 39.26660000000149
},
{
"trackType": 1,
"timePoint": 39.39960000000149
},
{
"trackType": 1,
"timePoint": 39.450199999999256
},
{
"trackType": 0,
"timePoint": 40.04989999999851
},
{
"trackType": 0,
"timePoint": 40.09989999999851
},
{
"trackType": 0,
"timePoint": 40.31680000000075
},
{
"trackType": 0,
"timePoint": 40.36660000000149
},
{
"trackType": 1,
"timePoint": 40.83639999999851
},
{
"trackType": 1,
"timePoint": 40.9
},
{
"trackType": 1,
"timePoint": 41.50160000000149
},
{
"trackType": 1,
"timePoint": 41.566199999999256
},
{
"trackType": 1,
"timePoint": 41.707800000000745
},
{
"trackType": 1,
"timePoint": 41.76660000000149
},
{
"trackType": 0,
"timePoint": 41.8845
},
{
"trackType": 0,
"timePoint": 42.335
},
{
"trackType": 0,
"timePoint": 42.39989999999851
},
{
"trackType": 1,
"timePoint": 42.835
},
{
"trackType": 1,
"timePoint": 42.9
},
{
"trackType": 1,
"timePoint": 42.97410000000149
},
{
"trackType": 1,
"timePoint": 43.04930000000075
},
{
"trackType": 0,
"timePoint": 43.39089999999851
},
{
"trackType": 0,
"timePoint": 43.449699999999254
},
{
"trackType": 0,
"timePoint": 43.82180000000075
},
{
"trackType": 0,
"timePoint": 43.883199999999256
},
{
"trackType": 0,
"timePoint": 43.95
},
{
"trackType": 1,
"timePoint": 44.30610000000149
},
{
"trackType": 1,
"timePoint": 44.3665
},
{
"trackType": 1,
"timePoint": 44.81239999999851
},
{
"trackType": 1,
"timePoint": 44.8665
},
{
"trackType": 1,
"timePoint": 44.931899999998514
},
{
"trackType": 2,
"timePoint": 45.23530000000075
},
{
"trackType": 2,
"timePoint": 45.29989999999851
},
{
"trackType": 1,
"timePoint": 45.83380000000074
},
{
"trackType": 1,
"timePoint": 45.899800000000745
},
{
"trackType": 0,
"timePoint": 46.8
},
{
"trackType": 0,
"timePoint": 46.85
},
{
"trackType": 1,
"timePoint": 47.271
},
{
"trackType": 1,
"timePoint": 47.333100000001494
},
{
"trackType": 1,
"timePoint": 47.81519999999926
},
{
"trackType": 1,
"timePoint": 47.8665
},
{
"trackType": 2,
"timePoint": 48.25310000000149
},
{
"trackType": 2,
"timePoint": 48.31660000000149
},
{
"trackType": 2,
"timePoint": 48.38310000000149
},
{
"trackType": 1,
"timePoint": 48.45280000000074
},
{
"trackType": 1,
"timePoint": 48.51630000000075
},
{
"trackType": 1,
"timePoint": 48.802399999998514
},
{
"trackType": 1,
"timePoint": 48.866399999998514
},
{
"trackType": 0,
"timePoint": 49.35389999999851
},
{
"trackType": 0,
"timePoint": 49.4155
},
{
"trackType": 1,
"timePoint": 49.884199999999254
},
{
"trackType": 1,
"timePoint": 49.94989999999851
},
{
"trackType": 0,
"timePoint": 50.349300000000746
},
{
"trackType": 0,
"timePoint": 50.399800000000745
},
{
"trackType": 0,
"timePoint": 50.46639999999851
},
{
"trackType": 0,
"timePoint": 50.75360000000149
},
{
"trackType": 0,
"timePoint": 50.8165
},
{
"trackType": 0,
"timePoint": 50.98639999999851
},
{
"trackType": 0,
"timePoint": 51.156
},
{
"trackType": 0,
"timePoint": 51.21639999999851
},
{
"trackType": 1,
"timePoint": 51.72169999999925
},
{
"trackType": 1,
"timePoint": 51.78289999999851
},
{
"trackType": 0,
"timePoint": 52.29839999999851
},
{
"trackType": 0,
"timePoint": 52.34989999999851
},
{
"trackType": 1,
"timePoint": 52.802699999999255
},
{
"trackType": 1,
"timePoint": 52.86560000000149
},
{
"trackType": 1,
"timePoint": 53.07419999999926
},
{
"trackType": 1,
"timePoint": 53.13260000000149
},
{
"trackType": 2,
"timePoint": 53.45130000000074
},
{
"trackType": 2,
"timePoint": 53.5165
},
{
"trackType": 1,
"timePoint": 53.803899999998514
},
{
"trackType": 1,
"timePoint": 53.86560000000149
},
{
"trackType": 1,
"timePoint": 54.00410000000149
},
{
"trackType": 1,
"timePoint": 54.0665
},
{
"trackType": 0,
"timePoint": 54.34839999999851
},
{
"trackType": 0,
"timePoint": 54.39969999999926
},
{
"trackType": 1,
"timePoint": 54.850800000000746
},
{
"trackType": 0,
"timePoint": 55.35110000000149
},
{
"trackType": 0,
"timePoint": 55.41580000000074
},
{
"trackType": 1,
"timePoint": 55.869800000000744
},
{
"trackType": 1,
"timePoint": 55.93289999999851
},
{
"trackType": 1,
"timePoint": 56.287699999999255
},
{
"trackType": 1,
"timePoint": 56.34980000000075
},
{
"trackType": 2,
"timePoint": 56.841800000000745
},
{
"trackType": 2,
"timePoint": 56.89969999999926
},
{
"trackType": 2,
"timePoint": 56.96639999999851
},
{
"trackType": 2,
"timePoint": 57.251
},
{
"trackType": 2,
"timePoint": 57.3165
},
{
"trackType": 2,
"timePoint": 57.38230000000075
},
{
"trackType": 1,
"timePoint": 57.78460000000149
},
{
"trackType": 1,
"timePoint": 57.84960000000149
},
{
"trackType": 1,
"timePoint": 57.91619999999926
},
{
"trackType": 0,
"timePoint": 58.303
},
{
"trackType": 0,
"timePoint": 58.36619999999925
},
{
"trackType": 0,
"timePoint": 58.848
},
{
"trackType": 0,
"timePoint": 58.8995
},
{
"trackType": 1,
"timePoint": 59.38660000000149
},
{
"trackType": 1,
"timePoint": 59.44919999999926
},
{
"trackType": 2,
"timePoint": 60.50210000000149
},
{
"trackType": 2,
"timePoint": 60.566199999999256
},
{
"trackType": 2,
"timePoint": 60.63280000000075
}
]

View File

@@ -0,0 +1 @@
{"ver":"2.0.1","importer":"json","imported":true,"uuid":"fedd11a3-255c-4dea-b917-03bc44c4f7a3","files":[".json"],"subMetas":{},"userData":{}}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
{"ver":"2.0.1","importer":"json","imported":true,"uuid":"639ed4f8-7767-4ba8-bc7a-7aca2d0fec31","files":[".json"],"subMetas":{},"userData":{}}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "74db4778-0b44-44ec-83ea-167033113c78",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "mood_list_item"
}
}

View File

@@ -0,0 +1,464 @@
[
{
"__type__": "cc.Prefab",
"_name": "tip",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"data": {
"__id__": 1
},
"optimizationPolicy": 0,
"persistent": false
},
{
"__type__": "cc.Node",
"_name": "tip",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 8
}
],
"_active": true,
"_components": [
{
"__id__": 14
},
{
"__id__": 16
},
{
"__id__": 18
}
],
"_prefab": {
"__id__": 20
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": -818.589,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.Node",
"_name": "bg",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
},
{
"__id__": 5
}
],
"_prefab": {
"__id__": 7
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 4
},
"_contentSize": {
"__type__": "cc.Size",
"width": 720,
"height": 100
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "e8SSCqaMZMh6jecm8z1eeG"
},
{
"__type__": "cc.Sprite",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": {
"__id__": 6
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 75
},
"_spriteFrame": {
"__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941",
"__expectedType__": "cc.SpriteFrame"
},
"_type": 0,
"_fillType": 0,
"_sizeMode": 0,
"_fillCenter": {
"__type__": "cc.Vec2",
"x": 0,
"y": 0
},
"_fillStart": 0,
"_fillRange": 0,
"_isTrimmedMode": true,
"_useGrayscale": false,
"_atlas": null,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "a3+2coDnlK0ZGLDxdF2QX5"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "f08QhY3aJLc5AjzIltk66x",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.Node",
"_name": "msg",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 9
},
{
"__id__": 11
}
],
"_prefab": {
"__id__": 13
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": ""
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 8
},
"_enabled": true,
"__prefab": {
"__id__": 10
},
"_contentSize": {
"__type__": "cc.Size",
"width": 160,
"height": 50.4
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "2202fDBf1Dt4C5wtADnZe5"
},
{
"__type__": "cc.Label",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 8
},
"_enabled": true,
"__prefab": {
"__id__": 12
},
"_customMaterial": null,
"_srcBlendFactor": 2,
"_dstBlendFactor": 4,
"_color": {
"__type__": "cc.Color",
"r": 255,
"g": 255,
"b": 255,
"a": 255
},
"_string": "提示信息",
"_horizontalAlign": 1,
"_verticalAlign": 1,
"_actualFontSize": 40,
"_fontSize": 40,
"_fontFamily": "Arial",
"_lineHeight": 40,
"_overflow": 0,
"_enableWrapText": true,
"_font": null,
"_isSystemFontUsed": true,
"_spacingX": 0,
"_isItalic": false,
"_isBold": false,
"_isUnderline": false,
"_underlineHeight": 2,
"_cacheMode": 0,
"_enableOutline": false,
"_outlineColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_outlineWidth": 2,
"_enableShadow": false,
"_shadowColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 255
},
"_shadowOffset": {
"__type__": "cc.Vec2",
"x": 2,
"y": 2
},
"_shadowBlur": 2,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "10xS2PhnJH84dBIZmrYXyS"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "99FAfnf0lI6rpthRu+47oY",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 15
},
"_contentSize": {
"__type__": "cc.Size",
"width": 720,
"height": 100
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "f2xNQTvnZNbZkl6Oo1fNXY"
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 17
},
"_alignFlags": 40,
"_target": null,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 720,
"_originalHeight": 0,
"_alignMode": 2,
"_lockFlags": 0,
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "cbo7vXr25B6ZuSx7aJCaXH"
},
{
"__type__": "2e7b5ZDWCdNV7ieWAwFw+hH",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 19
},
"tipLabel": {
"__id__": 11
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "79XNSnUK5EbK9z8WednFOw"
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 1
},
"asset": {
"__id__": 0
},
"fileId": "13pAn18qxOAaR3itoUZNlk",
"instance": null,
"targetOverrides": null
}
]

View File

@@ -0,0 +1,13 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "4f1dbd4f-85da-4f5d-8464-f51ee59d8eac",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "tip"
}
}

File diff suppressed because it is too large Load Diff

1340
assets/scenes/loading.scene Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,11 @@
{
"ver": "1.1.50",
"importer": "scene",
"imported": true,
"uuid": "102c29ee-1426-4681-ad31-e281ff720080",
"files": [
".json"
],
"subMetas": {},
"userData": {}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,7 @@ import {
Prefab,
instantiate,
director,
Color,
} from "cc";
import { NoteControl } from "./NoteControl";
import { BombEffect } from "../effects/BombEffectControl";
@@ -43,6 +44,8 @@ export class DinoControl extends Component {
lineNode: Node = null;
onLoad() {
// 设置小恐龙颜色
this.setDinoColor();
// 监听继续游戏事件
EventDispatcher.getTarget().on(
EventDispatcher.GAME_RESUME,
@@ -130,6 +133,10 @@ export class DinoControl extends Component {
// 设置这个空节点的父节点
neckChild.parent = this.node.getChildByName("dino_neck_box");
// 设置脖子的颜色
neckChild.getComponent(Sprite).color = new Color(
GlobalData.currentDinoInfo.dinoColor,
);
// 获取小恐龙身体
const bodyNode = this.node.getChildByName("dino_body");
@@ -216,5 +223,19 @@ export class DinoControl extends Component {
}
}
// 设置小恐龙颜色
setDinoColor() {
// 获取当前小恐龙信息
const dinoInfo = GlobalData.currentDinoInfo;
// 获取小恐龙颜色
const dinoColor = new Color(dinoInfo.dinoColor);
// 设置小恐龙身体颜色
this.node.getChildByName("dino_body").getComponent(Sprite).color =
dinoColor;
// 设置小恐龙头部颜色
this.node.getChildByName("dino_head").getComponent(Sprite).color =
dinoColor;
}
update(deltaTime: number) {}
}

View File

@@ -21,6 +21,8 @@ export class NoteControl extends Component {
// 是否开始下落
private isEnableFall: boolean = false;
start() {
// 设置小恐龙脖子颜色
this.setDinoNeckColor();
// 监听清除可视区域音符事件
EventDispatcher.getTarget().on(
EventDispatcher.CLEAR_SCREEN_NOTE,
@@ -59,6 +61,7 @@ export class NoteControl extends Component {
const noteHitSprite = this.node
.getChildByName("note_img")
.getComponent(Sprite);
// 4. 获取音符的颜色
const noteColor = new Color("ffffff");
// 5. 操作音符闪烁
@@ -70,7 +73,7 @@ export class NoteControl extends Component {
color: new Color(noteColor.r, noteColor.g, noteColor.b, 0),
})
.to(0.2, {
color: noteColor,
color: new Color(GlobalData.currentDinoInfo.dinoColor),
}),
)
.call(() => {
@@ -144,6 +147,18 @@ export class NoteControl extends Component {
return false;
}
// 设置小恐龙脖子颜色
private setDinoNeckColor() {
// 获取当前小恐龙信息
const dinoInfo = GlobalData.currentDinoInfo;
// 获取小恐龙脖子节点
const dinoNeckNode = this.node.getChildByName("note_img");
// 获取小恐龙脖子节点下的 Sprite 组件
const dinoNeckSprite = dinoNeckNode.getComponent(Sprite);
// 设置小恐龙脖子颜色
dinoNeckSprite.color = new Color(dinoInfo.dinoColor);
}
update(deltaTime: number) {
// 游戏未开始,不更新音符位置
if (!this.isEnableFall || GlobalData.gameState != GameState.PLAYING) {

View File

@@ -18,6 +18,24 @@ export class GlobalData {
public static speedRate: number = 1;
// 每次闯关增加的速率
public static speedRateAdd: number = 0.2;
//获取当前选择的音乐的信息
public static get currentMusicInfo(): any {
//从本地缓存中获取(默认)
return (
Utils.getCache(GameStorageKeyConfig.CurrentMusicInfo) || {
id: 1,
title: "Like A Dino!",
bestScore: 0,
isLocked: 0,
unlockGold: 0,
}
);
}
//设置当前选择的音乐的信息
public static set currentMusicInfo(value) {
//存储到本地缓存中
Utils.setCache(GameStorageKeyConfig.CurrentMusicInfo, value);
}
// 获取当前选择的音乐 id
public static get selectedMusicID(): number {
return Utils.getCache(GameStorageKeyConfig.SelectedMusicID) || 1;
@@ -27,6 +45,55 @@ export class GlobalData {
//存储到本地缓存中
Utils.setCache(GameStorageKeyConfig.SelectedMusicID, value);
}
//获取当前选择的小恐龙ID(默认是1)
public static get selectedDinoID() {
return parseInt(Utils.getCache(GameStorageKeyConfig.SelectedDinoID)) || 1;
}
//设置当前选择的小恐龙ID
public static set selectedDinoID(value) {
//存储到本地缓存中
Utils.setCache(GameStorageKeyConfig.SelectedDinoID, value);
}
//获取解锁了哪些音乐的ID列表
public static get unlockMusicIDList() {
//从本地缓存中获取(默认)
return Utils.getCache(GameStorageKeyConfig.UnlockMusicIDList) || [];
}
//存储解锁了哪些音乐的ID列表
public static set unlockMusicIDList(value) {
//存储到本地缓存中
Utils.setCache(GameStorageKeyConfig.UnlockMusicIDList, value);
}
//获取当前选择的小恐龙的信息
public static get currentDinoInfo(): any {
//从本地缓存中获取(默认)
return (
Utils.getCache(GameStorageKeyConfig.CurrentDinoInfo) || {
id: 1,
name: "小恐龙1",
desc: "Dino:Will you marry me?",
isLocked: 0,
unlockGold: 0,
dinoColor: "#ffffff",
bgColor: "#cce5cd",
}
);
}
//设置当前选择的小恐龙的信息
public static set currentDinoInfo(value) {
//存储到本地缓存中
Utils.setCache(GameStorageKeyConfig.CurrentDinoInfo, value);
}
//获取解锁了哪些小恐龙的ID列表
public static get unlockDinoIDList() {
//从本地缓存中获取(默认)
return Utils.getCache(GameStorageKeyConfig.UnlockDinoIDList) || [];
}
//存储解锁了哪些小恐龙的ID列表
public static set unlockDinoIDList(value) {
//存储到本地缓存中
Utils.setCache(GameStorageKeyConfig.UnlockDinoIDList, value);
}
//获取玩家累计的总得分(总的金币数)
public static get totalScore() {
//从本地缓存中获取

View File

@@ -0,0 +1,92 @@
/**
* 游戏开发者:程序员加菲猫
* 游戏名称Like A Dino!
*/
import { Color, Node, Sprite } from "cc";
import { GlobalData } from "../config/GlobalData";
import { DataManager } from "./DataManager";
//公共业务方法类
export default class Common {
/**
* 加载对应的音乐音符数据
* @param musicID 音乐ID
* @returns 音乐音符数据对象
*/
public static async loadMusicNoteData(musicID: number): Promise<any | null> {
return await DataManager.loadJson<any>(`data/music_${musicID}`);
}
/**
* 检查是否解锁了指定的音乐
* @param musicID 音乐ID
* @returns 是否解锁了指定的音乐
*/
public static isMusicUnlocked(musicID: number): boolean {
return GlobalData.unlockMusicIDList?.includes(musicID);
}
/**
* 解锁指定的音乐
* @param musicID 音乐ID
*/
public static unlockMusic(musicID: number) {
//如果已经解锁了,则直接返回
if (Common.isMusicUnlocked(musicID)) {
return;
}
let unlockMusicIDList = GlobalData.unlockMusicIDList || [];
//解锁音乐,并存储到本地缓存中
unlockMusicIDList?.push(musicID);
//更新本地缓存
GlobalData.unlockMusicIDList = unlockMusicIDList;
}
/**
* 检查是否解锁了指定的小恐龙
* @param dinoID 小恐龙ID
* @returns 是否解锁了指定的小恐龙
*/
public static isDinoUnlocked(dinoID: number): boolean {
return GlobalData.unlockDinoIDList?.includes(dinoID);
}
/**
* 解锁指定的小恐龙
* @param dinoID 小恐龙ID
*/
public static unlockDino(dinoID: number) {
//如果已经解锁了,则直接返回
if (Common.isDinoUnlocked(dinoID)) {
return;
}
let unlockDinoIDList = GlobalData.unlockDinoIDList || [];
//解锁小恐龙,并存储到本地缓存中
unlockDinoIDList?.push(dinoID);
//更新本地缓存
GlobalData.unlockDinoIDList = unlockDinoIDList;
}
/**
* 设置页面背景色
* @param node 页面节点
* @param color 背景色
*/
public static setPageBackgroundColor(node: Node, color: Color) {
node.getComponent(Sprite).color = color;
}
/**
* 设置页面背景色和小恐龙背景色相同
* @param node 页面节点
*/
public static setPageBackgroundColorAsDino(node: Node) {
// 获取当前小恐龙信息
const dinoInfo = GlobalData.currentDinoInfo;
// 获取背景色
const backgroundColor = new Color(dinoInfo.bgColor);
// 设置页面的背景颜色
this.setPageBackgroundColor(node.getChildByName("bg"), backgroundColor);
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "b80b50f7-99b8-4174-9ee1-e3a0b698d4ea",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,22 @@
import { _decorator, JsonAsset, resources } from "cc";
const { ccclass, property } = _decorator;
@ccclass("DataManager")
export class DataManager {
/**
* 从resources目录读取JSON文件
* @param path 文件路径(不包含扩展名)
*/
public static async loadJson<T>(path: string): Promise<T | null> {
return new Promise((resolve) => {
resources.load(path, JsonAsset, (err, asset) => {
if (err) {
console.error(`加载JSON文件失败: ${path}`, err);
resolve(null);
return;
}
resolve(asset.json as T);
});
});
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "de375e5e-601f-472d-bbe7-e9ada0277697",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -34,6 +34,12 @@ export class EventDispatcher {
public static readonly SHOW_PAUSE_MODAL = "show_pause_modal";
// 显示继续游戏弹窗事件
public static readonly SHOW_CONTINUE_MODAL = "show_continue_modal";
// 提示消息事件
public static readonly TIP_MSG = "tip_msg";
// 选中音乐列表某一个 item 事件
public static readonly SELECT_MOOD_ITEM = "select_mood_item";
// 解锁音乐列表某一个 item 事件
public static readonly UNLOCK_MOOD_ITEM = "unlock_mood_item";
static getTarget() {
if (EventDispatcher.data == null) {

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,20 @@
import { _decorator, Component, google, Label, Node } from "cc";
import {
_decorator,
Color,
Component,
google,
Label,
Node,
Sprite,
tween,
UITransform,
Vec3,
} from "cc";
import { GlobalData } from "../config/GlobalData";
import { EventDispatcher } from "../libs/EventDispatcher";
import { GameState } from "../config/Config";
import { MusicManager } from "../managers/MusicManager";
import Common from "../libs/Common";
const { ccclass, property } = _decorator;
@ccclass("GameSceneControl")
@@ -15,6 +27,14 @@ export class GameSceneControl extends Component {
@property(Label)
lifeNumLabel: Label = null;
// 开始游戏提示label
@property(Node)
startGameNode: Node = null;
// 速度提升游戏节点
@property(Node)
speedUpNode: Node = null;
// ui 节点
@property(Node)
uiNode: Node = null;
@@ -22,7 +42,14 @@ export class GameSceneControl extends Component {
// 音频管理器
musicManager: MusicManager = null;
// 屏幕宽度
screenWidth: number = 0;
onLoad() {
// 设置游戏背景和界面小恐龙头颜色
this.setPageBackgroundColor();
// 获取屏幕宽度
this.screenWidth = this.node.getComponent(UITransform).width;
// 获取音频管理器
this.musicManager = this.node.getComponent(MusicManager);
@@ -66,6 +93,7 @@ export class GameSceneControl extends Component {
// 设置游戏状态为进行中
GlobalData.gameState = GameState.PLAYING;
// 开始游戏提示动画
this.showStartGameTip();
// 1 s 后正式开始游戏
this.scheduleOnce(() => {
@@ -97,7 +125,12 @@ export class GameSceneControl extends Component {
}
// 更新速度显示
updateSpeed() {}
updateSpeed() {
this.uiNode
.getChildByName("note_info")
.getChildByName("speed")
.getComponent(Label).string = "速度: x" + GlobalData.speedRate;
}
// 暂停游戏
pauseGame() {
@@ -122,4 +155,90 @@ export class GameSceneControl extends Component {
playMusic() {
this.musicManager.play();
}
// 显示开始游戏提示
showStartGameTip() {
if (GlobalData.speedRate > 1) {
// 显示速度提升提示
this.speedUpTipAnim();
} else {
// 首次开始游戏动画
this.firstStartGameAnim();
}
}
// 显示速度提升提示
speedUpTipAnim() {
// 设置速度提升提示文字
this.speedUpNode.getComponent(Label).string =
`速度提升: (x ${GlobalData.speedRate})`;
// 首先显示节点
this.speedUpNode.active = true;
// 获取原有位置
const oriPos = this.speedUpNode.getPosition().clone();
// tween 向右移动半屏距离 然后停留 0.5 s 消失
tween(this.speedUpNode)
.to(0.3, {
position: new Vec3(oriPos.x + this.screenWidth / 2 + 200, oriPos.y, 0),
})
.delay(0.5)
.to(0.3, {
position: new Vec3(oriPos.x + this.screenWidth + 200, oriPos.y, 0),
})
.call(() => {
// 消失节点
this.speedUpNode.active = false;
// 重置当前节点的位置
this.speedUpNode.setPosition(oriPos);
})
.start();
}
// 首次开始游戏动画
firstStartGameAnim() {
// 首先显示节点
this.startGameNode.active = true;
// 获取原有位置
const oriPos = this.startGameNode.getPosition().clone();
// tween 向右移动半屏距离 然后停留 0.5 s 消失
tween(this.startGameNode)
.to(0.3, {
position: new Vec3(oriPos.x + this.screenWidth / 2 + 200, oriPos.y, 0),
})
.delay(0.5)
.to(0.3, {
position: new Vec3(oriPos.x + this.screenWidth + 200, oriPos.y, 0),
})
.call(() => {
// 消失节点
this.startGameNode.active = false;
// 重置当前节点的位置
this.startGameNode.setPosition(oriPos);
})
.start();
}
// 设置页面的背景颜色
setPageBackgroundColor() {
// 获取当前小恐龙信息
const dinoInfo = GlobalData.currentDinoInfo;
// 获取背景色
const backgroundColor = new Color(dinoInfo.bgColor);
// 获取小恐龙颜色
const dinoColor = new Color(dinoInfo.dinoColor);
// 获取小恐龙 ui 头节点
const dinoHeadNode = this.uiNode
.getChildByName("life")
.getChildByName("dino_head");
// 设置小恐龙 ui 头节点的颜色
dinoHeadNode.getComponent(Sprite).color = dinoColor;
// 设置页面的背景颜色
Common.setPageBackgroundColor(
this.node.getChildByName("bg"),
backgroundColor,
);
}
}

View File

@@ -1,5 +1,7 @@
import { _decorator, Component, director, Node } from "cc";
import { _decorator, Color, Component, director, Node } from "cc";
import AudioEffect from "../libs/AudioEffect";
import { GlobalData } from "../config/GlobalData";
import Common from "../libs/Common";
const { ccclass, property } = _decorator;
@ccclass("HomeSceneCon")
@@ -11,6 +13,8 @@ export class HomeSceneCon extends Component {
start() {
// 监听滑动区域事件
this.swipeNode.on(Node.EventType.TOUCH_START, this.goToGameScene, this);
// 设置页面的背景颜色
this.setPageBackgroundColor();
}
// 跳转到游戏场景
@@ -44,5 +48,18 @@ export class HomeSceneCon extends Component {
});
}
// 设置页面的背景颜色
setPageBackgroundColor() {
// 获取当前小恐龙信息
const dinoInfo = GlobalData.currentDinoInfo;
// 获取背景色
const backgroundColor = new Color(dinoInfo.bgColor);
// 设置页面的背景颜色
Common.setPageBackgroundColor(
this.node.getChildByName("bg"),
backgroundColor,
);
}
update(deltaTime: number) {}
}

View File

@@ -0,0 +1,176 @@
import {
_decorator,
AudioClip,
Color,
Component,
director,
Label,
Node,
resources,
Sprite,
tween,
Vec3,
} from "cc";
import Common from "../libs/Common";
import { GlobalData } from "../config/GlobalData";
import AudioEffect from "../libs/AudioEffect";
const { ccclass, property } = _decorator;
@ccclass("LoadingSceneControl")
export class LoadingSceneControl extends Component {
// 小恐龙节点
@property(Node)
dinoNode: Node = null;
// 加载文案 Label
@property(Label)
loadingLabel: Label = null;
// 开始按钮节点
@property(Node)
startButtonNode: Node = null;
// 资源目录(图片资源和预制体资源)
private resourceDir = ["images", "prefabs"];
// 定义总的需要加载资源的数量
private totalResourceCount: number = 5;
// 标记加载进度
private loadingProgress: number = 0;
// 标记是否完成加载
private isFinished: boolean = false;
start() {
// 设置当前页面的背景颜色
Common.setPageBackgroundColorAsDino(this.node);
// 设置小恐龙颜色
this.setDinoColor();
// 播放小恐龙动画
this.playDinoAnimation();
// 播放加载文案动画
this.playLoadingAnimation();
// 预加载资源
this.preloadResources();
}
setDinoColor() {
this.dinoNode.getComponent(Sprite).color = new Color(
GlobalData.currentDinoInfo.dinoColor,
);
}
playDinoAnimation() {
// 获取小恐龙当前的位置
const position = this.dinoNode.getPosition();
// 执行小恐龙动画
//执行缓动动画
tween(this.dinoNode)
.repeatForever(
tween()
.set({ scale: new Vec3(-1, 1, 1) })
.to(1, {
position: new Vec3(150, position.y, position.z),
})
.set({ scale: new Vec3(1, 1, 1) })
.to(1, {
position: new Vec3(-150, position.y, position.z),
}),
) //无限循环
.start();
}
playLoadingAnimation() {
//每隔1秒修改一次loading...文案,主要是修改后面的三个点
tween(this.loadingLabel)
.repeatForever(
tween()
.set({ string: "加载中." })
.delay(0.5)
.set({ string: "加载中.." })
.delay(0.5)
.set({ string: "加载中..." })
.delay(0.5),
) //无限循环
.start();
}
preloadResources() {
// 1. 预加载首页场景
director.preloadScene("home", (err) => {
// 修改进度
this.loadingProgress += 1;
});
// 2. 预加载游戏场景
director.preloadScene("game", (err) => {
// 修改进度
this.loadingProgress += 1;
});
// 3. 预加载图片和预制体资源
this.preloadImageResources();
// 4. 预加载音频资源
this.preloadAudioResources();
}
// 预加载图片和预制体资源
preloadImageResources() {
// 预加载图片资源
this.resourceDir.forEach((dir) => {
resources.loadDir(dir, (err, assets) => {
// 修改进度
this.loadingProgress += 1;
});
});
}
// 预加载音频资源
preloadAudioResources() {
// 只加载当前选择的音乐
// 获取当前选择的音乐 id
const musicId = GlobalData.selectedMusicID;
// 获取音乐文件的路径
const musicPath = `audios/music/music_${musicId}`;
resources.load(musicPath, AudioClip, (err, asset) => {
// 修改进度
this.loadingProgress += 1;
});
}
// 跳转到首页
onStartGame() {
// 播放点击音效
AudioEffect.playClickAudio();
// 跳转到首页场景
this.scheduleOnce(() => {
director.loadScene("home");
}, 0.2);
}
// 开放开始按钮
openStartButton() {
// 隐藏加载文案节点
this.loadingLabel.node.active = false;
// 开始按钮显示
this.startButtonNode.active = true;
// 设置按钮动画
tween(this.startButtonNode)
.repeatForever(
tween()
.to(0.5, { scale: new Vec3(1.1, 1.1, 1.1) })
.to(0.5, { scale: new Vec3(1, 1, 1) }),
) //无限循环
.start();
}
update(deltaTime: number) {
// 如果已经完成加载
if (this.isFinished) return;
// 如果加载进度等于预定的数量 就是完成了
if (this.loadingProgress >= this.totalResourceCount) {
this.isFinished = true;
// 开放开始按钮
this.openStartButton();
}
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "7a7f50a5-1539-45b6-aea3-5d73d073b046",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,243 @@
import {
_decorator,
Color,
Component,
director,
Label,
Node,
PageView,
Sprite,
} from "cc";
import { GlobalData } from "../config/GlobalData";
import Common from "../libs/Common";
import AudioEffect from "../libs/AudioEffect";
import { EventDispatcher } from "../libs/EventDispatcher";
const { ccclass, property } = _decorator;
@ccclass("LoveStorySceneControl")
export class LoveStorySceneControl extends Component {
// 总金币的标签
@property(Label)
totalScoreLabel: Label = null;
// 故事简介的标签
@property(Label)
storyDescLabel: Label = null;
// pageview 组件
@property(PageView)
pageviewComp: PageView = null;
// 按钮组节点
@property(Node)
buttonGroupNode: Node = null;
// 临时保存当前小恐龙的 id
private selectDinoID: number = 0;
//恐龙列表
dinoList: any[] = [
{
id: 1,
name: "小恐龙1",
desc: "爱你",
isLocked: 0,
unlockGold: 0,
dinoColor: "#ffffff",
bgColor: "#cce5cd",
},
{
id: 2,
name: "小恐龙2",
desc: "我的宝",
isLocked: 1,
unlockGold: 1000,
dinoColor: "#FFE064",
bgColor: "#f3ffc8",
},
{
id: 3,
name: "小恐龙3",
desc: "哎萌萌",
isLocked: 1,
unlockGold: 2000,
dinoColor: "#FD6445",
bgColor: "#ffaf6d",
},
{
id: 4,
name: "小恐龙4",
desc: "嘻嘻",
isLocked: 1,
unlockGold: 3000,
dinoColor: "#9164FF",
bgColor: "#a4a2ff",
},
{
id: 5,
name: "小恐龙5",
desc: "cccc",
isLocked: 1,
unlockGold: 4000,
dinoColor: "#FD64F2",
bgColor: "#f19dff",
},
];
onLoad() {
// 设置页面背景色
this.setBackgroundColor();
// 初始化小恐龙列表的解锁状态
this.initDinoListLockStatus();
}
start() {
// 设置总的金币数标签
this.setTotalScoreLabel();
// 初始刷pageView
this.initPageView();
}
private setTotalScoreLabel() {
this.totalScoreLabel.string = GlobalData.totalScore.toString();
}
// 初始化小恐龙列表的解锁状态
private initDinoListLockStatus() {
// 默认解锁小恐龙id为1的小恐龙
Common.unlockDino(1);
// 遍历小恐龙列表设置哪几个小恐龙解锁了
this.dinoList.forEach((item) => {
item.isLocked = Common.isDinoUnlocked(item.id) ? 0 : 1;
});
}
// 设置当前页面的背景色
private setBackgroundColor() {
// 获取当前小恐龙信息
const dionInfo = GlobalData.currentDinoInfo;
const bgColor = dionInfo.bgColor;
Common.setPageBackgroundColor(
this.node.getChildByName("bg"),
new Color(bgColor),
);
}
// 三个按钮方法
// 回到首页
onBackToHome() {
// 播放点击音效
AudioEffect.playClickAudio();
// 加载首页
director.loadScene("home");
}
// 购买小恐龙
onBuyDino() {
// 播放点击音效
AudioEffect.playClickAudio();
// 获取当前选择的小恐龙信息
const dionInfo = this.dinoList.find(
(item) => item.id === this.selectDinoID,
);
if (!dionInfo) {
return;
}
// 当前金币数如果大于所需要的金币数
if (GlobalData.totalScore >= dionInfo.unlockGold) {
// 扣除所需要的金币数
GlobalData.totalScore -= dionInfo.unlockGold;
// 更新总的金币数标签
this.setTotalScoreLabel();
// 解锁当前小恐龙
Common.unlockDino(dionInfo.id);
// 获取当前选中小恐龙索引
const currentIndex = this.selectDinoID - 1;
// 设置当前选中的小恐龙信息为解锁状态
this.dinoList[currentIndex].isLocked = 0;
// 刷新按钮显示
this.refreshButtonDisplay(currentIndex);
} else {
// 发送提示消息
EventDispatcher.getTarget().emit(EventDispatcher.TIP_MSG, "金币不足");
}
}
// 确认购买
onConfirmBuyDino() {
// 播放点击音效
AudioEffect.playClickAudio();
// 设置当前选择小恐龙的 id
if (this.selectDinoID > 0) {
GlobalData.selectedDinoID = this.selectDinoID;
// 设置小恐龙信息
GlobalData.currentDinoInfo = this.dinoList[this.selectDinoID - 1];
}
// 回到首页
this.scheduleOnce(() => {
director.loadScene("home");
}, 0.4);
}
// 轮播滑动事件
onSlideEvent(event: any) {
// 获取当前的索引
const currentIndex = parseInt(event.curPageIdx);
// 获取选中小恐龙信息
const dionInfo = this.dinoList[currentIndex];
// 更新当前临时选择的小恐龙 id
this.selectDinoID = dionInfo.id || 1;
// 设置故事简介
this.storyDescLabel.string = dionInfo.desc;
// 设置页面的背景颜色
Common.setPageBackgroundColor(
this.node.getChildByName("bg"),
new Color(dionInfo.bgColor),
);
// 刷新按钮显示
this.refreshButtonDisplay(currentIndex);
}
// 刷新按钮显示
private refreshButtonDisplay(currentIndex: number) {
// 保存当前临时保存的小恐龙 id
this.selectDinoID = this.dinoList[currentIndex].id || 1;
// 获取当前选中的小恐龙信息
const dionInfo = this.dinoList[currentIndex];
// 如果当前小恐龙未解锁
if (dionInfo.isLocked) {
this.buttonGroupNode.getChildByName("button_buy").active = true;
this.buttonGroupNode.getChildByName("button_cancel").active = true;
this.buttonGroupNode.getChildByName("button_ok").active = false;
// 设置购买的金额
this.buttonGroupNode
.getChildByName("button_buy")
.getChildByName("gold_num")
.getComponent(Label).string = dionInfo.unlockGold.toString() ?? "0";
} else {
this.buttonGroupNode.getChildByName("button_buy").active = false;
this.buttonGroupNode.getChildByName("button_cancel").active = false;
this.buttonGroupNode.getChildByName("button_ok").active = true;
}
}
// 初始化 pageview 组件
private initPageView() {
// 设置默认显示第几个小恐龙 index
const index = this.dinoList.findIndex(
(item) => item.id === GlobalData.selectedDinoID,
);
if (index !== -1) {
this.pageviewComp.setCurrentPageIndex(index);
// 获取小恐龙信息
const dionInfo = this.dinoList[index];
// 设置故事简介
this.storyDescLabel.string = dionInfo.desc;
// 刷新按钮显示
this.refreshButtonDisplay(index);
}
}
update(deltaTime: number) {}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "bc8722c5-dfec-4bca-b4c2-747bb434fd54",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -0,0 +1,282 @@
import {
_decorator,
AudioClip,
AudioSource,
Component,
director,
instantiate,
Label,
Node,
Prefab,
resources,
} from "cc";
import Common from "../libs/Common";
import Utils from "../libs/Utils";
import { GameStorageKeyConfig } from "../config/Config";
import { GlobalData } from "../config/GlobalData";
import { MoodListItem } from "../ui/MoodListItem";
import AudioEffect from "../libs/AudioEffect";
import { EventDispatcher } from "../libs/EventDispatcher";
const { ccclass, property } = _decorator;
@ccclass("MoodSceneControl")
export class MoodSceneControl extends Component {
// 列表项预制体
@property(Prefab)
moodItemPrefab: Prefab = null;
// 内容列表父节点(挂载点)
@property(Node)
contentNode: Node = null;
// 总的金币数标签 Label
@property(Label)
totalScoreLabel: Label = null;
// 按钮组节点
@property(Node)
buttonGroupNode: Node = null;
// 保存当前用户临时选择的音乐 id
selectedMusicId: number = 0;
// 音频播放器
private audioSource: AudioSource = null;
// 标记有没有点击过按钮
private isClickedButton: boolean = false;
//歌曲列表
musicList: any[] = [
{
id: 1,
title: "Like A Dino!",
bestScore: 0,
isLocked: 0,
unlockGold: 0,
},
{
id: 2,
title: "It's Ok,Not To Be Ok!",
bestScore: 0,
isLocked: 1,
unlockGold: 1000,
},
{
id: 3,
title: "Good Luck Today!",
bestScore: 0,
isLocked: 1,
unlockGold: 2000,
},
{
id: 4,
title: "A Piece Of Cake!",
bestScore: 0,
isLocked: 1,
unlockGold: 3000,
},
{
id: 5,
title: "Im So Excited!",
bestScore: 0,
isLocked: 1,
unlockGold: 4000,
},
{
id: 6,
title: "It Is What It Is!",
bestScore: 0,
isLocked: 1,
unlockGold: 5000,
},
{
id: 7,
title: "A Silver Lining!",
bestScore: 0,
isLocked: 1,
unlockGold: 6000,
},
{
id: 8,
title: "So Suβ!",
bestScore: 0,
isLocked: 1,
unlockGold: 7000,
},
{
id: 9,
title: "You Made My Day!",
bestScore: 0,
isLocked: 1,
unlockGold: 8000,
},
];
onLoad() {
// 初始化音频播放器
this.audioSource = this.getComponent(AudioSource);
// 初始化音乐了列表解锁状态
this.initMusicListLockStatus();
}
start() {
// 监听选中音乐列表某一个 item 事件
EventDispatcher.getTarget().on(
EventDispatcher.SELECT_MOOD_ITEM,
this.refedButtonDisplay,
this,
);
// 设置页面的背景颜色
Common.setPageBackgroundColorAsDino(this.node);
// 设置总的金币数标签
this.setTotalScoreLabel();
// 初始化音乐列表
this.addMoodListItems();
}
// 设置总的金币数标签
setTotalScoreLabel() {
this.totalScoreLabel.string = GlobalData.totalScore.toString();
}
initMusicListLockStatus() {
// 获取每个歌曲的最佳成绩
const bestScoreMap: any =
Utils.getCache(GameStorageKeyConfig.BestScore) || {};
// 默认解锁第一条音乐
Common.unlockMusic(1);
// 遍历音乐列表
this.musicList.forEach((item) => {
// 更新解锁信息
item.isLocked = Common.isMusicUnlocked(item.id) ? 0 : 1;
// 更新最佳成绩
item.bestScore = bestScoreMap[item.id] || 0;
});
}
// 初始化音乐列表
addMoodListItems() {
// 遍历音乐列表
this.musicList.forEach((item) => {
// 实例化列表项
const moodItem = instantiate(this.moodItemPrefab);
// 初始化列表项节点
moodItem.getComponent(MoodListItem).init(item);
// 挂载到内容列表父节点
moodItem.parent = this.contentNode;
});
}
refedButtonDisplay(musicId: number) {
this.selectedMusicId = musicId;
// 找到当前选中的音乐
const musicItem = this.musicList.find((item) => item.id == musicId);
if (!musicItem) return;
// 判断音乐是否解锁
if (musicItem.isLocked) {
// 未解锁
this.buttonGroupNode.getChildByName("button_buy").active = true;
this.buttonGroupNode.getChildByName("button_cancel").active = true;
this.buttonGroupNode.getChildByName("button_ok").active = false;
// 设置购买的金额
this.buttonGroupNode
.getChildByName("button_buy")
.getChildByName("gold_num")
.getComponent(Label).string = musicItem.unlockGold.toString() ?? "0";
} else {
// 已解锁
this.buttonGroupNode.getChildByName("button_buy").active = false;
this.buttonGroupNode.getChildByName("button_cancel").active = false;
this.buttonGroupNode.getChildByName("button_ok").active = true;
}
// 播放音乐
this.playMusic();
}
// 播放音乐
playMusic() {
// 判断有没有临时选择的音乐 id
if (!this.selectedMusicId) return;
// 获取音乐文件路径
const musicPath = "audios/music/music_" + this.selectedMusicId;
// 播放音乐
if (this.audioSource) {
resources.load(musicPath, (err, clip: AudioClip) => {
if (err) {
console.error("加载音乐失败", err, musicPath);
return;
}
// 停止播放 防止其他音乐在播放
this.audioSource.stop();
this.audioSource.clip = clip;
this.audioSource.play();
// 设置声音高度
this.audioSource.volume = 1;
});
}
}
// 三个按钮方法
// 回到首页
onBackToHome() {
// 播放点击音效
AudioEffect.playClickAudio();
// 加载首页
director.loadScene("home");
}
// 购买音乐
onBuyMusic() {
// 判断有没有点击过按钮
if (this.isClickedButton) return;
this.isClickedButton = true;
this.scheduleOnce(() => {
this.isClickedButton = false;
}, 0.2);
// 获取当前选择的音乐
const musicInfo = this.musicList.find(
(item) => item.id === this.selectedMusicId,
);
if (!musicInfo) {
return;
}
// 当前金币数如果大于所需要的金币数
if (GlobalData.totalScore >= musicInfo.unlockGold) {
// 扣除所需要的金币数
GlobalData.totalScore -= musicInfo.unlockGold;
// 更新总的金币数标签
this.setTotalScoreLabel();
// 解锁当前音乐
EventDispatcher.getTarget().emit(
EventDispatcher.UNLOCK_MOOD_ITEM,
this.selectedMusicId,
);
} else {
// 发送提示消息
EventDispatcher.getTarget().emit(EventDispatcher.TIP_MSG, "金币不足");
}
}
// 确认购买
onConfirmBuyMusic() {
// 播放点击音效
AudioEffect.playClickAudio();
// 设置当前选择音乐的 id
if (this.selectedMusicId > 0) {
GlobalData.selectedMusicID = this.selectedMusicId;
// 设置音乐信息
GlobalData.currentMusicInfo = this.musicList[this.selectedMusicId - 1];
}
// 回到首页
this.scheduleOnce(() => {
director.loadScene("home");
}, 0.4);
}
update(deltaTime: number) {}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "035f9fa4-604d-4bd2-9c33-b13438b287be",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -1,7 +1,17 @@
import { _decorator, Component, Node, tween, UITransform, Vec3 } from "cc";
import {
_decorator,
Color,
Component,
Node,
Sprite,
tween,
UITransform,
Vec3,
} from "cc";
import { EventDispatcher } from "../libs/EventDispatcher";
import { GlobalData } from "../config/GlobalData";
import { GameState } from "../config/Config";
import Common from "../libs/Common";
const { ccclass, property } = _decorator;
@ccclass("ContonueModal")
@@ -37,6 +47,8 @@ export class ContonueModal extends Component {
showModal() {
// 游戏暂停
GlobalData.gameState = GameState.PAUSED;
// 设置 页面 背景色
Common.setPageBackgroundColorAsDino(this.node);
// 显示继续游戏弹窗
this.node.active = true;
// 操作提示动画
@@ -76,6 +88,11 @@ export class ContonueModal extends Component {
// 播放提示1的动画
playTipAnimation(tNode: Node) {
// 设置小恐龙颜色
tNode.getChildByName("dino").getComponent(Sprite).color = new Color(
GlobalData.currentDinoInfo.dinoColor,
);
// 显示提示1
tNode.active = true;
// 获取提示节点的位置

View File

@@ -0,0 +1,163 @@
import {
_decorator,
Color,
Component,
Label,
Node,
Sprite,
tween,
UIOpacity,
Vec3,
} from "cc";
import { GlobalData } from "../config/GlobalData";
import AudioEffect from "../libs/AudioEffect";
import { EventDispatcher } from "../libs/EventDispatcher";
import Common from "../libs/Common";
const { ccclass, property } = _decorator;
interface MoodItem {
id: number;
title: string;
bestScore: number;
isLocked: number;
unlockGold: number;
}
@ccclass("MoodListItem")
export class MoodListItem extends Component {
// 保存当前列表项数据对象
private itemObj: MoodItem = null;
start() {
// 监听当前节点的点击事件
this.node.on(Node.EventType.TOUCH_END, this.onClickMusicItem, this);
// 监听选中音乐列表某一个 item 事件
EventDispatcher.getTarget().on(
EventDispatcher.SELECT_MOOD_ITEM,
this.onSelectMusicItem,
this,
);
// 监听解锁音乐列表某一个 item 事件
EventDispatcher.getTarget().on(
EventDispatcher.UNLOCK_MOOD_ITEM,
this.onUnlockMusicItem,
this,
);
// 设置小恐龙颜色
this.setDionColor();
}
onClickMusicItem() {
// 播放点击音效
AudioEffect.playClickAudio();
// 选中当前列表项
this.setSelected();
// 设置动画 先缩小到 0.9 再还原到 1
tween(this.node)
.to(0.1, { scale: new Vec3(0.9, 0.9, 1) })
.to(0.1, { scale: new Vec3(1, 1, 1) })
.start();
}
onUnlockMusicItem(id: number) {
// 如果当前列表项的 id 与不是解锁的音乐 id 不处理
if (this.itemObj?.id != id) return;
// 设置当前音乐项未解锁状态
this.itemObj.isLocked = 0;
// 刷新有无锁定状态显示
this.setLockState(this.itemObj);
// 设置选中状态
this.setSelected();
// 存储解锁状态
Common.unlockMusic(id);
}
// 选中音乐列表某一个 item 事件
onSelectMusicItem(id: number) {
if (this.itemObj.id == id) return;
// 设置未选中状态
this.setUnSelected();
}
// 初始化列表项节点
init(item: MoodItem) {
// 保存当前列表项数据对象
this.itemObj = item;
// 设置列表项的标题
this.node.getChildByName("music_title").getComponent(Label).string =
item.title;
// 设置有无锁定状态显示
this.setLockState(item);
// 如果当前列表项是默认选中项 则设置选中状态
if (item.id == GlobalData.selectedMusicID) {
this.setSelected();
}
// // 设置列表项的金币数;
// this.node.getChildByName("gold").getComponent(Label).string =
// this.itemObj.unlockGold.toString();
// 监听点击事件
// moodItem.on(Node.EventType.TOUCH_END, this.onClickMusicItem, this);
}
// 设置有无锁定状态显示
setLockState(item: MoodItem) {
if (item.isLocked == 0) {
// 解锁状态
this.node.getChildByName("best_score").active = true;
this.node.getChildByName("locked").active = false;
this.node
.getChildByName("best_score")
.getChildByName("score_num")
.getComponent(Label).string = this.itemObj.bestScore.toString();
} else {
// 锁定状态
this.node.getChildByName("best_score").active = false;
this.node.getChildByName("locked").active = true;
}
}
// 设置选中状态
setSelected() {
// 获取透明度组件
const opacity = this.node
.getChildByName("list_item_bg")
.getComponent(UIOpacity);
// 设置透明度为255
opacity.opacity = 200;
// 获取选中图标节点
const selectNode = this.node.getChildByName("dino");
selectNode.active = true;
// 派发选中某一个 item 事件
EventDispatcher.getTarget().emit(
EventDispatcher.SELECT_MOOD_ITEM,
this.itemObj.id,
);
}
// 设置未选中状态
setUnSelected() {
// 获取透明度组件
const opacity = this.node
.getChildByName("list_item_bg")
.getComponent(UIOpacity);
// 设置透明度为255
opacity.opacity = 255;
// 获取选中图标节点
const selectNode = this.node.getChildByName("dino");
selectNode.active = false;
}
// 设置小恐龙颜色
setDionColor() {
// 获取选中图标节点
const selectNode = this.node.getChildByName("dino");
// 设置选中图标节点的颜色为小恐龙颜色
selectNode.getComponent(Sprite).color = new Color(
GlobalData.currentDinoInfo.dinoColor,
);
}
update(deltaTime: number) {}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "bca91580-94ca-4df5-9706-eb1184b1846d",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -1,5 +1,6 @@
import { _decorator, Component, director, Node } from "cc";
import { EventDispatcher } from "../libs/EventDispatcher";
import Common from "../libs/Common";
const { ccclass, property } = _decorator;
@ccclass("PauseModal")
@@ -20,6 +21,8 @@ export class PauseModal extends Component {
// 显示弹窗
showModal() {
this.node.active = true;
// 设置暂停游戏背景色
Common.setPageBackgroundColorAsDino(this.node);
// 暂停游戏
director.pause();
// 发送暂停游戏事件

View File

@@ -1,9 +1,11 @@
import {
_decorator,
Color,
Component,
director,
Label,
Node,
Sprite,
tween,
UITransform,
Vec3,
@@ -157,6 +159,12 @@ export class ResultModal extends Component {
// 执行提示动画
playTipAni() {
// 设置提示 dino 颜色
const dinoInfo = GlobalData.currentDinoInfo;
const dinoColor = new Color(dinoInfo.dinoColor);
// 设置提示 dino 颜色
this.tipNode.getChildByName("dino").getComponent(Sprite).color = dinoColor;
// 开启提示
this.tipNode.active = true;
// 获取提示的位置

View File

@@ -0,0 +1,35 @@
import { _decorator, Component, Label, Node, tween, Vec3 } from "cc";
import { EventDispatcher } from "../libs/EventDispatcher";
const { ccclass, property } = _decorator;
@ccclass("TipControl")
export class TipControl extends Component {
//提示标签
@property(Label)
tipLabel: Label | null = null;
start() {
//默认位置,屏幕外
this.node.setPosition(0, -1000);
//监听tips msg事件
EventDispatcher.getTarget().on(
EventDispatcher.TIP_MSG,
this.showTips,
this,
);
}
//显示提示
showTips(msg: string) {
this.tipLabel.string = msg;
tween(this.node)
.to(0.2, { position: new Vec3(0, 0, 0) })
.delay(1)
.to(0.2, { position: new Vec3(0, 1000, 0) })
.call(() => {
this.node.setPosition(0, -1000);
})
.start();
}
update(deltaTime: number) {}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "2e7b5643-5827-4d57-b89e-580c05c3e847",
"files": [],
"subMetas": {},
"userData": {}
}