Commit 4d051813 authored by 熊东起's avatar 熊东起

aa

parent 08fbade8
......@@ -14,3 +14,4 @@ import {...} from '@spark/compoundFish'
## Publish
`npm run pub`
yuer.png
size: 697,697
size: 1024,1024
format: RGBA8888
filter: Linear,Linear
repeat: none
10/10_kehuan_jian
rotate: false
xy: 107, 551
rotate: true
xy: 258, 1002
size: 19, 65
orig: 27, 66
offset: 2, 1
index: -1
10/10_kehuan_jianba
rotate: false
xy: 340, 587
rotate: true
xy: 31, 1012
size: 9, 16
orig: 9, 16
offset: 0, 0
index: -1
10/10_kehuan_xiu1
rotate: false
xy: 196, 87
rotate: true
xy: 873, 933
size: 33, 37
orig: 35, 39
offset: 1, 1
index: -1
10/10_kehuan_xiu2
rotate: true
xy: 433, 578
rotate: false
xy: 908, 998
size: 31, 23
orig: 33, 25
offset: 1, 1
index: -1
10/10_kehuan_yi
rotate: true
xy: 560, 405
rotate: false
xy: 206, 609
size: 101, 80
orig: 103, 82
offset: 1, 1
index: -1
10/10_kehuan_yj
rotate: true
xy: 639, 125
rotate: false
xy: 294, 853
size: 92, 48
orig: 94, 50
offset: 1, 1
index: -1
11/11_meng_mao
rotate: true
xy: 333, 205
rotate: false
xy: 658, 753
size: 97, 74
orig: 99, 76
offset: 1, 1
index: -1
11/11_meng_mao1
rotate: true
xy: 107, 35
xy: 155, 947
size: 29, 30
orig: 31, 32
offset: 1, 1
index: -1
11/11_meng_mao2
rotate: false
xy: 307, 286
rotate: true
xy: 166, 978
size: 24, 30
orig: 26, 32
offset: 1, 1
index: -1
11/11_meng_tao1
rotate: true
xy: 325, 96
xy: 570, 970
size: 27, 29
orig: 29, 31
offset: 1, 1
index: -1
11/11_meng_tao2
rotate: true
xy: 589, 99
rotate: false
xy: 754, 999
size: 23, 22
orig: 25, 24
offset: 1, 1
index: -1
11/11_meng_xiu1
rotate: false
xy: 341, 4
rotate: true
xy: 915, 968
size: 28, 29
orig: 30, 31
offset: 1, 1
index: -1
11/11_meng_xiu2
rotate: true
xy: 433, 545
rotate: false
xy: 941, 998
size: 31, 23
orig: 33, 25
offset: 1, 1
index: -1
11/11_meng_yi
rotate: true
xy: 458, 346
rotate: false
xy: 483, 680
size: 101, 79
orig: 103, 81
offset: 1, 1
index: -1
12/12 _luyou_xiangji
rotate: false
xy: 207, 42
rotate: true
xy: 759, 935
size: 32, 34
orig: 38, 37
offset: 1, 1
index: -1
12/12 _luyou_xiu1
rotate: true
xy: 219, 151
rotate: false
xy: 912, 933
size: 34, 33
orig: 36, 35
offset: 1, 1
index: -1
12/12 _luyou_xiu2
rotate: true
xy: 433, 512
rotate: false
xy: 974, 998
size: 31, 23
orig: 33, 25
offset: 1, 1
index: -1
12/12 _luyou_yanj
rotate: true
xy: 664, 535
rotate: false
xy: 346, 941
size: 79, 29
orig: 82, 35
offset: 0, 2
index: -1
12/12 _luyou_yi
rotate: true
xy: 562, 508
rotate: false
xy: 586, 672
size: 103, 79
orig: 105, 81
offset: 1, 1
index: -1
13/13 _shopping_dai
rotate: false
xy: 374, 141
rotate: true
xy: 946, 968
size: 28, 62
orig: 30, 64
offset: 1, 1
index: -1
13/13 _shopping_xiu1
rotate: false
xy: 371, 4
rotate: true
xy: 2, 955
size: 28, 29
orig: 30, 31
offset: 1, 1
index: -1
13/13 _shopping_xiu2
rotate: true
xy: 433, 479
rotate: false
xy: 29, 985
size: 31, 23
orig: 33, 25
offset: 1, 1
index: -1
13/13 _shopping_yi
rotate: true
xy: 127, 401
rotate: false
xy: 309, 604
size: 100, 80
orig: 102, 82
offset: 1, 1
index: -1
13/13_shopping_gu
rotate: false
xy: 490, 83
rotate: true
xy: 258, 975
size: 25, 27
orig: 27, 29
offset: 1, 1
index: -1
13/13_shopping_gu1
rotate: true
xy: 45, 16
rotate: false
xy: 427, 941
size: 73, 29
orig: 75, 31
offset: 1, 1
index: -1
13/13_shopping_gu2
rotate: true
xy: 490, 61
xy: 348, 1001
size: 20, 24
orig: 22, 26
offset: 1, 1
index: -1
14/14_yun_bei
rotate: false
xy: 639, 15
rotate: true
xy: 455, 901
size: 38, 41
orig: 40, 43
offset: 1, 1
index: -1
14/14_yun_kous
rotate: false
xy: 81, 172
rotate: true
xy: 320, 974
size: 25, 51
orig: 27, 53
offset: 1, 1
index: -1
14/14_yun_mao
rotate: true
xy: 404, 124
rotate: false
xy: 2, 914
size: 58, 34
orig: 60, 36
offset: 1, 1
index: -1
14/14_yun_xiu1
rotate: false
xy: 401, 4
rotate: true
xy: 33, 950
size: 28, 29
orig: 30, 31
offset: 1, 1
index: -1
14/14_yun_xiu2
rotate: true
xy: 209, 436
rotate: false
xy: 779, 999
size: 31, 22
orig: 33, 24
offset: 1, 1
index: -1
14/14_yun_yi
rotate: false
xy: 233, 458
xy: 691, 667
size: 102, 79
orig: 104, 81
offset: 1, 1
index: -1
15/15_cosplay_er
rotate: true
xy: 233, 273
rotate: false
xy: 187, 781
size: 103, 72
orig: 105, 74
offset: 1, 1
index: -1
15/15_cosplay_hudj
rotate: true
xy: 610, 60
rotate: false
xy: 601, 970
size: 35, 27
orig: 37, 29
offset: 1, 1
index: -1
15/15_cosplay_xiu1
rotate: false
xy: 265, 119
xy: 64, 950
size: 28, 28
orig: 30, 30
offset: 1, 1
index: -1
15/15_cosplay_xiu2
rotate: true
xy: 615, 147
rotate: false
xy: 812, 999
size: 30, 22
orig: 32, 24
offset: 1, 1
index: -1
15/15_cosplay_yi
rotate: false
xy: 458, 449
xy: 621, 584
size: 100, 81
orig: 102, 83
offset: 1, 1
index: -1
16/16_shaiche_touk
rotate: true
xy: 337, 405
rotate: false
xy: 723, 576
size: 98, 82
orig: 100, 84
offset: 1, 1
index: -1
16/16_shaiche_xiu1
rotate: false
xy: 295, 119
xy: 94, 950
size: 28, 28
orig: 30, 31
offset: 1, 1
index: -1
16/16_shaiche_xiu2
rotate: true
xy: 84, 257
rotate: false
xy: 844, 999
size: 30, 22
orig: 32, 24
offset: 1, 1
index: -1
16/16_shaiche_yi
rotate: false
xy: 2, 448
xy: 823, 576
size: 102, 82
orig: 104, 84
offset: 1, 1
index: -1
17/17_yiyue_gu
rotate: false
xy: 409, 184
rotate: true
xy: 334, 903
size: 36, 66
orig: 38, 69
offset: 1, 2
index: -1
17/17_yiyue_mao
rotate: false
xy: 2, 383
xy: 2, 797
size: 106, 63
orig: 108, 65
offset: 1, 1
index: -1
17/17_yiyue_yi1
rotate: true
xy: 449, 250
rotate: false
xy: 927, 575
size: 94, 83
orig: 96, 85
offset: 1, 1
index: -1
17/17_yiyue_yi2
rotate: false
xy: 562, 613
xy: 2, 535
size: 100, 82
orig: 102, 84
offset: 1, 1
index: -1
18/18_kongjie_mao
rotate: true
xy: 563, 24
rotate: false
xy: 402, 903
size: 51, 36
orig: 53, 39
offset: 1, 2
index: -1
18/18_kongjie_xiu1
rotate: false
xy: 139, 35
xy: 315, 943
size: 29, 29
orig: 31, 31
offset: 1, 1
index: -1
18/18_kongjie_xiu2
rotate: true
xy: 307, 253
rotate: false
xy: 62, 980
size: 31, 23
orig: 33, 25
offset: 1, 1
index: -1
18/18_kongjie_yi
rotate: false
xy: 354, 611
xy: 104, 523
size: 102, 84
orig: 104, 86
offset: 1, 1
index: -1
19/19_xiaoyuan_jita
rotate: false
xy: 128, 503
rotate: true
xy: 883, 660
size: 79, 106
orig: 81, 108
offset: 1, 1
index: -1
19/19_xiaoyuan_yi
rotate: false
xy: 129, 611
xy: 208, 518
size: 103, 84
orig: 105, 86
offset: 1, 1
index: -1
20/20_huaxue_ban
rotate: true
xy: 234, 622
xy: 538, 761
size: 73, 118
orig: 75, 120
offset: 1, 1
index: -1
20/20_huaxue_xiu1
rotate: false
xy: 220, 4
xy: 502, 940
size: 29, 29
orig: 31, 31
offset: 1, 1
index: -1
20/20_huaxue_xiu2
rotate: true
xy: 84, 289
rotate: false
xy: 95, 980
size: 31, 23
orig: 33, 25
offset: 1, 1
index: -1
20/20_huaxue_yanj
rotate: true
xy: 642, 364
rotate: false
xy: 459, 845
size: 91, 50
orig: 93, 52
offset: 1, 1
index: -1
20/20_huaxue_yi
rotate: false
xy: 2, 532
xy: 313, 511
size: 103, 84
orig: 105, 86
offset: 1, 1
index: -1
21/21_caisheng_mao
rotate: true
xy: 639, 219
rotate: false
xy: 552, 836
size: 143, 54
orig: 143, 54
offset: 0, 0
index: -1
21/21_caisheng_ruyi
rotate: false
xy: 639, 58
rotate: true
xy: 139, 858
size: 48, 65
orig: 50, 67
offset: 1, 1
index: -1
21/21_caisheng_xiu1
rotate: false
xy: 254, 179
xy: 124, 949
size: 29, 28
orig: 31, 31
offset: 1, 1
index: -1
21/21_caisheng_xiu2
rotate: true
xy: 84, 225
rotate: false
xy: 876, 999
size: 30, 22
orig: 32, 24
offset: 1, 1
index: -1
21/21_caisheng_yi
rotate: true
xy: 447, 157
rotate: false
xy: 289, 691
size: 91, 78
orig: 93, 80
offset: 1, 1
index: -1
21/21_caisheng_yuanbao
rotate: true
xy: 209, 573
rotate: false
xy: 128, 979
size: 36, 23
orig: 38, 25
offset: 1, 1
index: -1
22/22_wenyi_erji
rotate: false
xy: 2, 322
xy: 796, 827
size: 103, 59
orig: 105, 61
offset: 1, 1
index: -1
22/22_wenyi_huat
rotate: false
xy: 170, 36
rotate: true
xy: 62, 913
size: 35, 40
orig: 38, 42
offset: 1, 1
index: -1
22/22_wenyi_jiqi
rotate: true
xy: 159, 86
rotate: false
xy: 104, 912
size: 38, 35
orig: 40, 37
offset: 1, 1
index: -1
22/22_wenyi_xiu1
rotate: true
xy: 294, 90
xy: 638, 970
size: 27, 28
orig: 29, 30
offset: 1, 1
index: -1
22/22_wenyi_xiu2
rotate: true
xy: 307, 187
rotate: false
xy: 490, 1000
size: 31, 21
orig: 33, 23
offset: 1, 1
index: -1
22/22_wenyi_yi
rotate: false
xy: 534, 243
xy: 382, 686
size: 99, 78
orig: 104, 80
offset: 4, 1
index: -1
2yan_bai
rotate: false
xy: 340, 559
xy: 2, 1014
size: 7, 7
orig: 7, 7
offset: 0, 0
index: -1
2yu_bi
rotate: true
xy: 485, 14
rotate: false
xy: 187, 945
size: 45, 29
orig: 45, 29
offset: 0, 0
index: -1
2yu_lian
rotate: false
xy: 527, 155
xy: 795, 660
size: 86, 86
orig: 86, 86
offset: 0, 0
index: -1
2yu_shen
rotate: false
xy: 2, 618
xy: 757, 748
size: 125, 77
orig: 125, 77
offset: 0, 0
index: -1
2yu_shengzi
rotate: false
xy: 340, 605
rotate: true
xy: 49, 1010
size: 11, 15
orig: 11, 15
offset: 0, 0
index: -1
2yu_shou1
rotate: false
xy: 601, 8
rotate: true
xy: 282, 905
size: 36, 50
orig: 36, 50
offset: 0, 0
index: -1
2yu_shou2
rotate: true
xy: 404, 82
rotate: false
xy: 948, 932
size: 40, 34
orig: 40, 34
offset: 0, 0
index: -1
2yu_touyi
rotate: true
xy: 374, 78
rotate: false
xy: 668, 969
size: 61, 28
orig: 61, 28
offset: 0, 0
index: -1
2yu_weij
rotate: false
xy: 232, 209
xy: 901, 820
size: 73, 62
orig: 73, 62
offset: 0, 0
index: -1
2yu_xiu1
rotate: false
xy: 113, 3
xy: 533, 938
size: 34, 30
orig: 34, 30
offset: 0, 0
index: -1
2yu_xiu2
rotate: true
xy: 209, 370
rotate: false
xy: 523, 999
size: 30, 22
orig: 32, 24
offset: 1, 1
index: -1
2yu_yan1
rotate: true
xy: 185, 3
xy: 569, 938
size: 30, 33
orig: 30, 33
offset: 0, 0
index: -1
2yu_yan2
rotate: true
xy: 149, 3
xy: 604, 938
size: 30, 34
orig: 30, 34
offset: 0, 0
index: -1
2yu_yanzhuzi1
rotate: false
xy: 643, 540
rotate: true
xy: 85, 1005
size: 16, 21
orig: 18, 22
offset: 1, 1
index: -1
2yu_yanzhuzi2
rotate: false
xy: 643, 518
rotate: true
xy: 108, 1005
size: 16, 20
orig: 17, 21
offset: 0, 0
index: -1
2yu_yifu
rotate: true
xy: 2, 244
xy: 377, 771
size: 76, 80
orig: 76, 81
offset: 0, 1
index: -1
2yu_zui
rotate: true
xy: 563, 84
xy: 374, 1000
size: 21, 22
orig: 23, 24
offset: 1, 1
index: -1
3/3_riliao_sao
rotate: false
xy: 209, 535
rotate: true
xy: 555, 999
size: 22, 36
orig: 24, 38
offset: 1, 1
index: -1
3/3_riliao_shousi
rotate: false
xy: 613, 97
xy: 398, 1000
size: 23, 21
orig: 25, 24
offset: 1, 2
index: -1
3/3_riliao_touj
rotate: true
xy: 421, 319
rotate: false
xy: 373, 972
size: 87, 26
orig: 89, 28
offset: 1, 1
index: -1
3/3_riliao_xiu1
rotate: false
xy: 281, 4
rotate: true
xy: 731, 969
size: 28, 29
orig: 30, 31
offset: 1, 1
index: -1
3/3_riliao_xiu2
rotate: true
xy: 209, 502
rotate: false
xy: 593, 999
size: 31, 22
orig: 33, 24
offset: 1, 1
index: -1
3/3_riliao_yifu
rotate: false
xy: 234, 539
xy: 411, 597
size: 104, 81
orig: 104, 81
offset: 0, 0
index: -1
4/4_xinnian_juanz
rotate: false
xy: 191, 301
rotate: true
xy: 498, 897
size: 39, 67
orig: 39, 67
offset: 0, 0
index: -1
4/4_xinnian_mao
rotate: true
xy: 664, 616
rotate: false
xy: 234, 944
size: 79, 29
orig: 81, 31
offset: 1, 1
index: -1
4/4_xinnian_xiu1
rotate: false
xy: 311, 4
rotate: true
xy: 762, 969
size: 28, 29
orig: 30, 31
offset: 1, 1
index: -1
4/4_xinnian_xiu2
rotate: true
xy: 209, 469
rotate: false
xy: 626, 999
size: 31, 22
orig: 33, 24
offset: 1, 1
index: -1
4/4_xinnian_yifu
rotate: false
xy: 539, 323
xy: 2, 635
size: 98, 80
orig: 100, 82
offset: 1, 1
index: -1
5/5_bangqiu_
rotate: true
xy: 333, 304
rotate: false
xy: 884, 741
size: 99, 77
orig: 103, 79
offset: 3, 1
index: -1
5/5_bangqiu_mao
rotate: true
xy: 2, 91
xy: 110, 784
size: 72, 75
orig: 74, 78
offset: 1, 1
index: -1
5/5_bangqiu_maoyan
rotate: true
xy: 661, 457
rotate: false
xy: 795, 934
size: 76, 33
orig: 76, 33
offset: 0, 0
index: -1
5/5_bangqiu_pai
rotate: false
xy: 2, 9
rotate: true
xy: 659, 892
size: 41, 80
orig: 43, 82
offset: 1, 1
index: -1
5/5_bangqiu_qiu
rotate: false
xy: 587, 77
xy: 325, 1001
size: 21, 20
orig: 23, 22
offset: 1, 1
index: -1
5/5_bangqiu_xiu1
rotate: true
xy: 251, 3
rotate: false
xy: 793, 969
size: 30, 28
orig: 33, 30
offset: 1, 1
index: -1
5/5_bangqiu_xiu2
rotate: true
xy: 307, 220
rotate: false
xy: 423, 1000
size: 31, 21
orig: 33, 23
offset: 1, 1
index: -1
6/6_bos_mao
rotate: true
xy: 412, 252
rotate: false
xy: 144, 908
size: 65, 35
orig: 67, 37
offset: 1, 1
index: -1
6/6_bos_xiu1
rotate: false
xy: 265, 89
rotate: true
xy: 540, 970
size: 27, 28
orig: 29, 30
offset: 1, 1
index: -1
6/6_bos_xiu2
rotate: true
xy: 209, 402
rotate: false
xy: 456, 1000
size: 32, 21
orig: 34, 23
offset: 1, 1
index: -1
6/6_bos_yifu
rotate: false
xy: 458, 614
xy: 517, 589
size: 102, 81
orig: 104, 83
offset: 1, 1
index: -1
6/6_bos_zheng
rotate: false
xy: 421, 408
rotate: true
xy: 211, 907
size: 35, 69
orig: 37, 71
offset: 1, 1
index: -1
7/7_shusheng_bi
rotate: false
xy: 330, 125
rotate: true
xy: 741, 890
size: 42, 78
orig: 44, 80
offset: 1, 1
index: -1
7/7_shusheng_mao
rotate: true
xy: 169, 126
rotate: false
xy: 206, 855
size: 86, 48
orig: 88, 50
offset: 1, 1
index: -1
7/7_shusheng_mao1
rotate: true
xy: 106, 473
rotate: false
xy: 225, 1002
size: 31, 19
orig: 33, 21
offset: 1, 1
index: -1
7/7_shusheng_mao2
rotate: true
xy: 107, 506
rotate: false
xy: 158, 1004
size: 43, 17
orig: 45, 19
offset: 1, 1
index: -1
7/7_shusheng_shan
rotate: true
xy: 79, 93
rotate: false
xy: 462, 972
size: 44, 26
orig: 46, 28
offset: 1, 1
index: -1
7/7_shusheng_xiu1
rotate: false
xy: 254, 149
xy: 825, 969
size: 28, 28
orig: 31, 31
offset: 1, 1
index: -1
7/7_shusheng_xiu2
rotate: true
xy: 615, 211
rotate: false
xy: 659, 999
size: 30, 22
orig: 32, 24
offset: 1, 1
index: -1
7/7_shusheng_yifu
rotate: false
xy: 233, 378
xy: 2, 717
size: 98, 78
orig: 100, 80
offset: 1, 1
index: -1
8/8_wansheng_guang
rotate: true
xy: 517, 62
xy: 821, 889
size: 43, 44
orig: 45, 46
offset: 1, 1
index: -1
8/8_wansheng_guangdian
rotate: false
xy: 613, 120
rotate: true
xy: 2, 987
size: 24, 25
orig: 28, 27
offset: 2, 1
index: -1
8/8_wansheng_mao
rotate: true
xy: 108, 137
rotate: false
xy: 697, 829
size: 97, 59
orig: 99, 61
offset: 1, 1
index: -1
8/8_wansheng_nangua
rotate: false
xy: 231, 90
rotate: true
xy: 724, 935
size: 32, 33
orig: 47, 49
offset: 8, 8
index: -1
8/8_wansheng_shao
rotate: false
xy: 184, 214
rotate: true
xy: 2, 865
size: 46, 85
orig: 48, 87
offset: 1, 1
index: -1
8/8_wansheng_xinng
rotate: false
xy: 440, 62
xy: 89, 862
size: 48, 48
orig: 56, 56
offset: 4, 4
index: -1
8/8_wansheng_xiu1
rotate: false
xy: 284, 149
xy: 855, 969
size: 28, 28
orig: 28, 28
offset: 0, 0
index: -1
8/8_wansheng_xiu2
rotate: true
xy: 615, 179
rotate: false
xy: 691, 999
size: 30, 22
orig: 32, 24
offset: 1, 1
index: -1
8/8_wansheng_yi
rotate: true
xy: 353, 505
rotate: false
xy: 183, 701
size: 104, 78
orig: 106, 80
offset: 1, 1
index: -1
9/9_yanzhou_la
rotate: true
xy: 440, 112
xy: 867, 888
size: 43, 75
orig: 45, 77
offset: 1, 1
index: -1
9/9_yanzhou_mao
rotate: false
xy: 517, 107
xy: 944, 884
size: 70, 46
orig: 72, 48
offset: 1, 1
index: -1
9/9_yanzhou_qing
rotate: false
xy: 107, 66
rotate: true
xy: 388, 849
size: 50, 69
orig: 52, 71
offset: 1, 1
index: -1
9/9_yanzhou_xiu1
rotate: false
xy: 241, 48
xy: 885, 968
size: 28, 28
orig: 28, 29
offset: 0, 0
index: -1
9/9_yanzhou_xiu2
rotate: true
xy: 589, 124
rotate: false
xy: 723, 999
size: 29, 22
orig: 31, 24
offset: 1, 1
index: -1
9/9_yanzhou_yi
rotate: false
xy: 458, 532
xy: 102, 619
size: 102, 80
orig: 104, 82
offset: 1, 1
index: -1
biyan
rotate: true
xy: 643, 499
rotate: false
xy: 66, 1008
size: 17, 13
orig: 17, 13
offset: 0, 0
index: -1
jinbi
rotate: false
xy: 2, 165
xy: 459, 766
size: 77, 77
orig: 80, 79
offset: 1, 1
index: -1
yu_bi
rotate: false
xy: 436, 20
xy: 610, 895
size: 47, 40
orig: 47, 40
offset: 0, 0
index: -1
yu_lian
rotate: false
xy: 109, 236
rotate: true
xy: 292, 778
size: 73, 83
orig: 75, 85
offset: 1, 1
index: -1
yu_ling
rotate: false
xy: 307, 318
rotate: true
xy: 198, 976
size: 24, 58
orig: 26, 60
offset: 1, 1
index: -1
yu_mao
rotate: true
xy: 404, 35
rotate: false
xy: 640, 937
size: 45, 30
orig: 47, 32
offset: 1, 1
index: -1
yu_quan1
rotate: false
xy: 340, 577
xy: 21, 1013
size: 8, 8
orig: 10, 10
offset: 1, 1
index: -1
yu_quan2
rotate: true
xy: 340, 568
xy: 11, 1014
size: 7, 8
orig: 9, 10
offset: 1, 1
index: -1
yu_shener
rotate: true
xy: 110, 321
xy: 102, 704
size: 78, 79
orig: 78, 79
offset: 0, 0
index: -1
yu_shou1
rotate: false
xy: 516, 21
xy: 567, 897
size: 41, 39
orig: 43, 41
offset: 1, 1
index: -1
yu_shou2
rotate: false
xy: 76, 2
xy: 687, 936
size: 35, 31
orig: 37, 33
offset: 1, 1
index: -1
yu_shouzhang
rotate: false
xy: 643, 585
rotate: true
xy: 130, 1005
size: 16, 26
orig: 18, 28
offset: 1, 1
index: -1
yu_yan1
rotate: false
xy: 79, 61
rotate: true
xy: 508, 971
size: 26, 30
orig: 28, 32
offset: 1, 1
index: -1
yu_yan2
rotate: false
xy: 81, 139
rotate: true
xy: 287, 975
size: 25, 31
orig: 27, 33
offset: 1, 1
index: -1
yu_zui
rotate: false
xy: 643, 563
rotate: true
xy: 203, 1003
size: 18, 20
orig: 20, 22
offset: 1, 1
......
This source diff could not be displayed because it is too large. You can view the blob instead.
scripts/yuer.png

655 KB | W: | H:

scripts/yuer.png

123 KB | W: | H:

scripts/yuer.png
scripts/yuer.png
scripts/yuer.png
scripts/yuer.png
  • 2-up
  • Swipe
  • Onion skin
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
scripts/幼年鱼完整拆分新.png

490 KB | W: | H:

scripts/幼年鱼完整拆分新.png

93.9 KB | W: | H:

scripts/幼年鱼完整拆分新.png
scripts/幼年鱼完整拆分新.png
scripts/幼年鱼完整拆分新.png
scripts/幼年鱼完整拆分新.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -9,8 +9,8 @@ export class GameStage extends GAME.WidgetBase {
private async _setup() {
await loadSpine([
"//yun.duiba.com.cn/aurora/assets/6e7380da60c7b6ea1a2cf4d632c8acd2344bfa61.spi",
"//yun.duiba.com.cn/aurora/assets/b3be7191bda93fd1006dfdb5c0a349765634f026.spi"
"//yun.duiba.com.cn/aurora/assets/d9d572f862ca57f72bea13b42ec06d1b4eaeffa4.spi",
"//yun.duiba.com.cn/aurora/assets/d9d572f862ca57f72bea13b42ec06d1b4eaeffa4.spi"
]);
// await loadSpineOnce("//yun.duiba.com.cn/aurora/assets/210e9484fce76f282f7bc6f99f985e589062cd46.spi");
const gameIndex = new GameIndex();
......
import { timer } from './game.type';
/**
* Created by _xdq on 2021/10/09.
* 鱼
......@@ -36,7 +37,7 @@ export class Fish extends GAME.Container {
/** 等级 */
private _level: number = 0;
/** 碰撞半径 */
public R: number = 50;
public R: number = 50 * 0.85;
/** 本次是否改变方向 */
public isChangeDir: boolean = false;
/** 等级文字框 */
......@@ -46,7 +47,7 @@ export class Fish extends GAME.Container {
/** 鱼的状态 */
public fishStatus: FishStatus = FishStatus.common;
/** 每秒产生的鱼币 */
private _production: number = 1;
private _production: number = 0;
/** 上浮的金币 */
private floatCoin: Graphics = null;
/** 动效 */
......@@ -63,6 +64,8 @@ export class Fish extends GAME.Container {
public fishName: string = ""
/** 产量文字 */
private proText: TextField = null;
/** 动画 */
private aniClip: any = null;
get production(): number {
return this._production;
......@@ -71,8 +74,6 @@ export class Fish extends GAME.Container {
set production(v: number) {
if (this._production == v) return;
this._production = v;
this.updateFloatCoin();
this.proText && (this.proText.text = `+${GUtils.changeUnit(v)}`);
}
......@@ -82,15 +83,15 @@ export class Fish extends GAME.Container {
}
public set horizontalDir(v: FishDir) {
if(this._horizontalDir == v) return;
if (this._horizontalDir == v) return;
this._horizontalDir = v;
if (v === FishDir.right) {
this.scaleX = -1;
this.scaleX = -0.85;
this.levelCon.scaleX = -1;
this.floatCoin && (this.floatCoin.scaleX = -1);
} else if (v === FishDir.left) {
this, this.scaleX = 1;
this.scaleX = 0.85;
this.levelCon.scaleX = 1;
this.floatCoin && (this.floatCoin.scaleX = 1);
}
......@@ -142,7 +143,7 @@ export class Fish extends GAME.Container {
levelCon.drawCircle(0, 0, 16);
levelCon.endFill();
levelCon.endStroke();
levelCon.position.set(60, 70);
levelCon.position.set(35, 60);
this.levelCon = levelCon;
const leveltxt = getText(levelCon, "0", 20, "0xffffff", TEXT_ALIGN.CENTER, 40, -19, -10.5);
......@@ -156,7 +157,7 @@ export class Fish extends GAME.Container {
/** 加载鱼动画 */
async loadSpine() {
const spineDataSmall = await loadSpineOnce("//yun.duiba.com.cn/aurora/assets/6e7380da60c7b6ea1a2cf4d632c8acd2344bfa61.spi");
const spineDataSmall = await loadSpineOnce("//yun.duiba.com.cn/aurora/assets/d9d572f862ca57f72bea13b42ec06d1b4eaeffa4.spi");
if (this.spinePlayer) return;
const spinePlayer = new Spine(spineDataSmall, false);
......@@ -166,7 +167,9 @@ export class Fish extends GAME.Container {
this.addChild(spinePlayer);
spinePlayer.position.set(0, 60);
spinePlayer.setSkin(this.level + "");
spinePlayer.animationManager.showAni('animation', 0);
// spinePlayer.animationManager.showAni('animation', 0);
// spinePlayer.setSkin("2");
// spinePlayer.animationManager.showAni('qingnian', 0);
}
......@@ -183,8 +186,10 @@ export class Fish extends GAME.Container {
if (!this.spinePlayer)
await this.initUi();
if (this.level > 24) {
const spineDataBig = await loadSpineOnce("//yun.duiba.com.cn/aurora/assets/b3be7191bda93fd1006dfdb5c0a349765634f026.spi");
let spiStr = this.level > 24 ? "//yun.duiba.com.cn/aurora/assets/850b54a695922273b0ec12af26838222495967fb.spi" :
"//yun.duiba.com.cn/aurora/assets/d9d572f862ca57f72bea13b42ec06d1b4eaeffa4.spi";
const spineDataBig = await loadSpineOnce(spiStr);
this.removeChild(this.spinePlayer);
const spinePlayer = new Spine(spineDataBig, false);
this.spinePlayer = spinePlayer;
......@@ -192,9 +197,39 @@ export class Fish extends GAME.Container {
// console.log(spinePlayer.skinNames);
this.addChild(spinePlayer);
spinePlayer.position.set(0, 60);
spinePlayer.animationManager.showAni('qingnian', 0);
// this.level > 24 ? spinePlayer.animationManager.showAni('qingnian', 0) : spinePlayer.animationManager.showAni('animation', 0);
if (this.level > 24) {
let aniClip1 = spinePlayer.animationManager.showAni('qingnian2');
this.aniClip = aniClip1;
spinePlayer.position.set(0, 60);
// aniClip1.stop();
// console.log("时间---",aniClip1.totalTime)
aniClip1.startAniRange(GUtils.getRandom(0, 0.5), aniClip1.totalTime, 0);
} else {
let aniClip2 = spinePlayer.animationManager.showAni('biyan');
spinePlayer.position.set(-20, 80);
// spinePlayer.animationManager.stop();
this.aniClip = aniClip2;
// aniClip2.stop();
aniClip2.startAniRange(GUtils.getRandom(0, 0.5), aniClip2.totalTime, 0);
}
// if(data.isCall){
// this.onRemoveAni();
// }
// this.onRemoveAni();
// this.addChild(this.compoundAni);
this.compoundAni.visible = false;
this.addChild(this.levelCon);
......@@ -217,7 +252,7 @@ export class Fish extends GAME.Container {
/** 刷新头顶鱼币 */
private updateFloatCoin() {
// console.log("更新鱼币-----999999>>>>>>>>>");
if (this.floatCoin) {
TWEEN.removeTweens(this.floatCoin);
this.removeChild(this.floatCoin);
......@@ -240,16 +275,21 @@ export class Fish extends GAME.Container {
this.floatCoin.alpha = 0;
if (this.horizontalDir === FishDir.right) {
this.scaleX = -0.85;
this.floatCoin && (this.floatCoin.scaleX = -1);
this.levelCon && (this.levelCon.scaleX = -1);
} else if (this.horizontalDir === FishDir.left) {
this.scaleX = 0.85;
this.floatCoin && (this.floatCoin.scaleX = 1);
this.levelCon && (this.levelCon.scaleX = 1);
}
TWEEN.get(this, { loop: false })
TWEEN.get(this.floatCoin, { loop: false },null,true)
.wait(GUtils.getRandom(4000, 0))
.call(() => {
this.floatCoin && TWEEN.get(this.floatCoin, { loop: true })
TWEEN.removeTweens(this.floatCoin);
this.floatCoin && TWEEN.get(this.floatCoin, { loop: true },null,true)
.set({ y: originY, alpha: 1 })
.to({ y: originY - 40, alpha: 0.1 }, 1000)
.set({ y: originY, alpha: 0 })
......@@ -262,19 +302,34 @@ export class Fish extends GAME.Container {
showCanCompoundAni() {
if (this.compoundAni && this.compoundAni.visible) return;
if (this.compoundAni) {
this.addChild(this.compoundAni);
// this.addChild(this.compoundAni);
this.compoundAni.visible = true;
} else {
// console.log("展示合成动画------>>>>>>")
this.compoundAni = this.addChild(new MovieClip(getAssetByUUID("round-light")));
this.compoundAni.position.set(-112, -70);
this.compoundAni.visible = true;
}
}
/** 移除动画--闭眼 */
onRemoveAni() {
this.aniClip && this.aniClip.stop();
// window["aaa"] = this.aniClip;
}
/** 播放动画 */
onStartAni() {
this.aniClip && this.aniClip.stop();
this.aniClip && this.aniClip.startAniRange(GUtils.getRandom(0, 0.3), this.aniClip.totalTime, 0);
}
/** 移除 */
onRecyle() {
try {
// console.log("移除鱼--------->>")
this.level = 0;
this.fishId = "";
this.price = 0;
......
......@@ -6,9 +6,9 @@ export default class GameCfg {
/** 鱼的数量 */
static MAX_FISH_COUNT: number = 12;
/** 鱼的最大速度 */
static FISH_MAX_SPEED: number = 0.38;
static FISH_MAX_SPEED: number = 0.28;
/** 鱼的最小速度 */
static FISH_MIN_SPEED: number = 0.22;
static FISH_MIN_SPEED: number = 0.28;
/** 派发事件 -- 点击解锁 */
static GAME_UN_LOCK: string = "game-unlock";
/** 选中拖动的鱼 */
......
......@@ -69,7 +69,7 @@ export default class GameIndex extends Container {
const _workerSite: WorkeSite = this.addChild(new WorkeSite());
const offsetY = document.body.clientWidth / 750 * 1624 - document.body.clientHeight;
const adapterY = offsetY > 0 ? 40 : 0;
_workerSite.position.set(item.x, item.y + 260 + offsetY / 2);
_workerSite.position.set(item.x, item.y + 260 + offsetY / 3);
_workerSite.mouseChildren = true;
_workerSite.mouseEnable = true;
_workerSite.id = item.id;
......@@ -85,9 +85,9 @@ export default class GameIndex extends Container {
const offsetY = document.body.clientWidth / 750 * 1624 - document.body.clientHeight;
this.fishArea = this.fishery.addChild(new Graphics());
this.fishArea.beginFill(0x000, 0);
this.fishArea.drawRect(0, 0, 750, 500 - offsetY / 3);
this.fishArea.drawRect(0, 0, 750, 620 - offsetY / 2);
this.fishArea.endFill();
this.fishArea.position.set(0, 580 + offsetY / 3);
this.fishArea.position.set(0, 540 + offsetY / 3);
// console.log(this.fishArea.x, this.fishArea.y)
......@@ -102,14 +102,15 @@ export default class GameIndex extends Container {
this.onAddEvents();
}
/** 事件监听 */
private onAddEvents() {
this.addEventListener(Event.ENTER_FRAME, this.onFarme, this);
this.addEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown, this);
this.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove, this);
this.addEventListener(MouseEvent.MOUSE_UP, this.onMouseUp, this);
// this.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove, this);
// this.addEventListener(MouseEvent.MOUSE_UP, this.onMouseUp, this);
}
/** 事件移除 */
......@@ -122,6 +123,7 @@ export default class GameIndex extends Container {
/** 更新渔场 */
updateFishery(payload: any) {
const { fishData, workerSiteData, guideStep } = payload;
const { x: areaX, y: areaY, width: areaW, height: areaH } = this.fishArea;
this.guideStep = guideStep;
this.updateWorkerSite(workerSiteData);
......@@ -136,7 +138,7 @@ export default class GameIndex extends Container {
production: item.efficiency,
fishName: item.fishName,
price: item.price,
position: { x: 100 + 184 * Math.floor(i % 4), y: 660 + 165 * Math.floor(i / 4) },
position: { x: 100 + 180 * Math.floor(i % 4), y: areaY + 56 + 160 * Math.floor(i / 4) },
speed: {
verticalSpeed: GUtils.getRandom(GameCfg.FISH_MAX_SPEED, GameCfg.FISH_MIN_SPEED),
horizontalSpeed: GUtils.getRandom(GameCfg.FISH_MAX_SPEED, GameCfg.FISH_MIN_SPEED)
......@@ -175,10 +177,22 @@ export default class GameIndex extends Container {
item.price = fishInfoItem.price;
item.level = fishInfoItem.level;
this.workerSites[+fishInfoItem.speed - 1].workingFish = item;
this.workerSites[+fishInfoItem.speed - 1].production = fishInfoItem.efficiency;
} else {
item.production = fishInfoItem.efficiency;
item.price = fishInfoItem.price;
item.level = fishInfoItem.level;
if (item.fishStatus == FishStatus.working) {
console.log("打工鱼======098")
TWEEN.get(item, { loop: false },null,true)
.to({ y: 880 }, 300)
.call(() => {
item.fishStatus = FishStatus.common;
this.onChangeFishPosition(item);
});
}
}
flag = true;
break;
......@@ -214,7 +228,12 @@ export default class GameIndex extends Container {
if (!flag) {
this.allFishesList.splice(i, 1);
item.onRecyle();
i = 0;
try {
this.fishery.removeChild(item);
} catch (error) {
}
// i = 0;
}
}
setTimeout(() => {
......@@ -249,6 +268,8 @@ export default class GameIndex extends Container {
fishGroup[1].showCanCompoundAni();
fishGroup[0].position.set(250, 900);
fishGroup[1].position.set(550, 900);
this.onChangeFishPosition(fishGroup[0]);
this.onChangeFishPosition(fishGroup[1]);
this.guideShowUi = getGuideAni(this, step, { x: fishGroup[0].position.x, y: fishGroup[0].position.y });
}
......@@ -269,6 +290,8 @@ export default class GameIndex extends Container {
fishGroup[1].showCanCompoundAni();
fishGroup[0].position.set(375, 780);
fishGroup[1].position.set(375, 1020);
this.onChangeFishPosition(fishGroup[0]);
this.onChangeFishPosition(fishGroup[1]);
this.guideShowUi = getGuideAni(this, step, { x: fishGroup[0].position.x, y: fishGroup[0].position.y });
}
......@@ -277,6 +300,7 @@ export default class GameIndex extends Container {
/** 打工台状态更新 */
updateWorkerSite(data: any[]) {
// console.log("更新打工台----000000000")
// console.log("999", this.workerSites)
if (this.workerSites.length <= 0) return;
data.forEach((item, index) => {
......@@ -285,10 +309,12 @@ export default class GameIndex extends Container {
if (item?.status == 0) {
_worksite.workerStatus = WorkerStatus.lock;
_worksite.workingFish = null;
_worksite.production = 0;
}
if (item?.status == 1) {
_worksite.workerStatus = WorkerStatus.alreadyKLocked;
_worksite.workingFish = null;
_worksite.production = 0;
}
if (item?.status == 2) {
_worksite.workerStatus = WorkerStatus.working;
......@@ -308,6 +334,7 @@ export default class GameIndex extends Container {
if (this.allFishesList.length >= GameCfg.MAX_FISH_COUNT) {
return;
}
// console.log("召唤鱼-----------》〉》〉》〉");
let options = {
fishId: params.fishId,
level: params.level,
......@@ -320,16 +347,18 @@ export default class GameIndex extends Container {
speed: {
verticalSpeed: GUtils.getRandom(GameCfg.FISH_MAX_SPEED, GameCfg.FISH_MIN_SPEED),
horizontalSpeed: GUtils.getRandom(GameCfg.FISH_MAX_SPEED, GameCfg.FISH_MIN_SPEED)
}
},
isCall: true
} as FishOptions;
const fish = this.onCreateNewFish(options);
fish.fishStatus = FishStatus.summon;
TWEEN.removeTweens(fish);
TWEEN.get(fish, { loop: false })
TWEEN.get(fish, { loop: false },null,true)
.set({ y: 0 })
.to({ y: 880 }, 300)
.call(() => {
fish.onStartAni();
fish.fishStatus = FishStatus.common;
this.onChangeFishPosition(fish);
});
......@@ -337,7 +366,8 @@ export default class GameIndex extends Container {
/** 召回打工的鱼 */
private onCallBackWorkingFish(_workeSite: WorkeSite) {
// console.log("召回鱼=====", _workeSite);
_workeSite.workerStatus = WorkerStatus.alreadyKLocked;
console.log("召回鱼=====", _workeSite);
const { workingFish } = _workeSite;
const self = this;
if (workingFish && workingFish instanceof Fish) {
......@@ -348,7 +378,7 @@ export default class GameIndex extends Container {
workingFish.visible = true;
_workeSite.workerStatus = WorkerStatus.alreadyKLocked;
_workeSite.workingFish = null;
TWEEN.get(workingFish, { loop: false })
TWEEN.get(workingFish, { loop: false },null,true)
.to({ y: 880 }, 300)
.call(() => {
workingFish.fishStatus = FishStatus.common;
......@@ -404,7 +434,11 @@ export default class GameIndex extends Container {
if (fishItem.fishStatus !== FishStatus.common) {
;
} else {
this.detectBorderCollision(fishItem);
this.detectBorderCollision(fishItem)
// if (this.detectBorderCollision(fishItem)) {
//边界挤开, 防止鬼畜
// this.onChangeFishPosition(fishItem);
// }
const { verticalDir, horizontalDir, verticalSpeed, horizontalSpeed, x, y, width: fishW, height: fishH } = fishItem;
const _x = x + horizontalSpeed * this.getSpeeddir(horizontalDir);
const _y = y + verticalSpeed * this.getSpeeddir(verticalDir);
......@@ -441,7 +475,7 @@ export default class GameIndex extends Container {
break;
}
}
if (fishA && fishB && fishA.level === fishB.level) {
if (fishA && fishB && fishA.level === fishB.level && fishA.level != 45 && fishB.level != 45) {
fishA.showCanCompoundAni();
fishB.showCanCompoundAni();
break;
......@@ -454,6 +488,7 @@ export default class GameIndex extends Container {
let group: { [k: string]: Fish }[] = [];
for (let i = 0; i < this.allFishesList.length; i++) {
let item1 = this.allFishesList[i];
if (!item1.isChangeDir) {
//两条鱼碰撞转向
for (let j = i + 1; j < this.allFishesList.length; j++) {
let item2 = this.allFishesList[j];
......@@ -461,27 +496,22 @@ export default class GameIndex extends Container {
&& item1.fishStatus === FishStatus.common
&& item2.fishStatus === FishStatus.common
) {
item1.isChangeDir = true;
item2.isChangeDir = true;
group.push({ A: item1, B: item2 });
break;
}
}
}
}
if (group.length > 0) {
group.forEach(item => {
let fishA = item.A, fishB = item.B;
if (!fishB.isChangeDir) {
fishB.horizontalDir = this.changeDir(fishB.horizontalDir);
fishB.verticalDir = this.changeDir(fishB.verticalDir);
fishB.isChangeDir = true;
// fishA.isChangeDir = true;
}
if (!fishA.isChangeDir) {
fishA.horizontalDir = this.changeDir(fishA.horizontalDir);
fishA.verticalDir = this.changeDir(fishA.verticalDir);
fishA.isChangeDir = true;
// fishB.isChangeDir = true;
}
})
}
// console.log("00", group);
......@@ -517,6 +547,7 @@ export default class GameIndex extends Container {
if (_y + 10 > areaY + areaH - R) {
obj.verticalDir = FishDir.up;
}
}
/** 方向转换 */
......@@ -545,6 +576,9 @@ export default class GameIndex extends Container {
/** 鼠标按下 */
private onMouseDown(e: any) {
if (this.currentSelectedFish) return;
this.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove, this);
this.once(MouseEvent.MOUSE_UP, this.onMouseUp, this);
if (this.mouseDraging) return;
this.mouseDraging = true;
// console.log("鼠标按下--->>>", e);
......@@ -573,6 +607,7 @@ export default class GameIndex extends Container {
//寻找发光鱼
this.findLightfish(this.currentSelectedFish);
}
}
/** 寻找选中发光鱼 */
......@@ -585,14 +620,17 @@ export default class GameIndex extends Container {
&& fish.fishId != this.allFishesList[i].fishId
&& fish.fishStatus != FishStatus.working
&& this.allFishesList[i].fishStatus != FishStatus.working
&& fish.level != 45
) {
fish.showCanCompoundAni();
this.allFishesList[i].showCanCompoundAni();
return;
}
}
if (this.currentSelectedFish.level != 45) {
this.currentSelectedFish.showCanCompoundAni();
}
}
/** 判断是否父级是fish */
private isParent(target: any) {
......@@ -618,6 +656,7 @@ export default class GameIndex extends Container {
/** 鼠标抬起 */
private onMouseUp(e: any) {
this.removeEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMove, this);
// console.log("鼠标抬起--->>>", e.localX, e.localY);
GameMgr.gameStage.emitEvent(GameCfg.LOOSEN_FISH, {
x: e.localX, y: e.localY
......@@ -646,6 +685,7 @@ export default class GameIndex extends Container {
fishA: this.currentSelectedFish.fishId,
fishB: fishItem.fishId,
suc: (params: any) => {
console.log("合成鱼-----------》〉》〉》〉000000000");
if (self.guideShowUi) {
self.removeChild(self.guideShowUi);
self.guideShowUi = null;
......@@ -718,7 +758,9 @@ export default class GameIndex extends Container {
) {
//打工台
let flag = this.checkFish2WorkerStage(this.currentSelectedFish);
// console.log("8888=====拖到打工台",flag)
if (flag) {
// console.log("9999=====拖到打工台")
let self = this;
GameMgr.gameStage.emitEvent(GameCfg.GET_WORKER_FISH, {
fishId: self.currentSelectedFish.fishId,
......@@ -730,6 +772,8 @@ export default class GameIndex extends Container {
flag.workingFish = self.currentSelectedFish;
self.currentSelectedFish = null;
self.mouseDraging = false;
console.log("成功---1111")
},
fail: () => {
self.currentSelectedFish && self.currentSelectedFish.position.set(self.currentFishStartPoint?.x || 0, self.currentFishStartPoint?.y || 0);
......@@ -762,6 +806,7 @@ export default class GameIndex extends Container {
}
//找出需要碰撞的鱼
let mark = false;
for (let i = this.allFishesList.length - 1; i >= 0; i--) {
const fishItem = this.allFishesList[i];
if (this.checkCollision(this.currentSelectedFish, fishItem)
......@@ -807,13 +852,16 @@ export default class GameIndex extends Container {
this.mouseDraging = false;
}
mark = true;
return;
}
}
if (!mark) {
this.currentSelectedFish.fishStatus = FishStatus.common;
this.currentSelectedFish = null;
this.mouseDraging = false;
}
}
/** 卖鱼成功回调 */
sellFishCallBack(flag: boolean) {
......@@ -902,11 +950,14 @@ export default class GameIndex extends Container {
fish.mouseEnable = true;
this.fishery.addChild(fish);
fish.fishStatus = FishStatus.common;
fish.scaleX = 0.85;
fish.scaleY = 0.85;
return fish;
}
/** 改变鱼的位置, 挤开不同的鱼 */
private onChangeFishPosition(targetFish: Fish) {
// console.log("挤开鱼-------000000")
this.pause = true
let allColliderfishes: { [k: string]: Fish }[] = [];
for (let i = 0; i < this.allFishesList.length; i++) {
......@@ -1015,27 +1066,29 @@ export default class GameIndex extends Container {
/** 排序 */
onSortFish(time: number = 10000) {
this.pause = true;
const { x: areaX, y: areaY, width: areaW, height: areaH } = this.fishArea;
let workingCount = 0;
let offsetX = 100, offsetY = 660;
let offsetX = 100, offsetY = areaY + 56;
this.workerSites.forEach(item => {
if (item.workingFish) {
workingCount++;
}
});
const sortData = (objA: Fish, objB: Fish) => {
return objA.level - objB.level;
return objB.level - objA.level;
}
this.allFishesList.sort(sortData);
let newList = [];
this.allFishesList.forEach((item, index) => {
if (item.fishStatus == FishStatus.common) {
newList.push(item);
item.horizontalDir = FishDir.left;
}
});
newList.forEach((item, index) => {
let _x = offsetX + 184 * Math.floor(index % 4);
let _y = offsetY + 165 * Math.floor(index / 4);
let _x = offsetX + 180 * Math.floor(index % 4);
let _y = offsetY + 160 * Math.floor(index / 4);
item.position.set(_x, _y)
});
setTimeout(() => {
......
......@@ -73,7 +73,7 @@ const loadSpineData = async (url: string) => {
try {
GAME.loadSpine(url, (spineData: any) => {
resolve(spineData);
console.log("9889",spineData)
// console.log("9889",spineData)
});
} catch (error) {
reject(error);
......
......@@ -9,6 +9,10 @@ export class GUtils {
static getRandom(max: number, min: number): number {
return Number((Math.random() * (max - min) + min).toFixed(2));
}
/** 随机数 */
static getRandomInt(max: number, min: number): number {
return Math.floor((Math.random() * (max - min) + min));
}
/** 获取角度 */
static getAngle(dy: number, dx: number): number {
const angle = Math.atan2(dy, dx) / Math.PI * 180;
......
......@@ -39,6 +39,8 @@ export default class WorkeSite extends Container {
private floatCoin: Graphics = null;
/** 上浮文字 */
private floatText: TextField = null;
/** 产量 */
private _production: number = 0;
public get workerStatus(): WorkerStatus {
return this._workerStatus;
}
......@@ -108,7 +110,35 @@ export default class WorkeSite extends Container {
set workingFish(v: Fish) {
if (this._workingFish == v) return;
// console.log("打工台更新------");
this._workingFish = v;
// setTimeout(() => {
// this.updateFloatCoin();
// });
}
get workingFish(): Fish {
return this._workingFish;
}
get production(): number {
return this._production;
}
set production(v: number) {
if (this._production == v) return;
this._production = v;
setTimeout(() => {
// console.log("99999==1111",v)
this.updateFloatCoin();
this.floatText && (this.floatText.text = `+${GUtils.changeUnit(v)}`);
})
}
updateFloatCoin() {
// console.log("99999==1111",this.workingFish.production)
//飘金币
if (this.floatCoin) {
TWEEN.removeTweens(this.floatCoin);
......@@ -133,20 +163,15 @@ export default class WorkeSite extends Container {
this.floatCoin.alpha = 0;
TWEEN.get(this, { loop: false })
.wait(GUtils.getRandom(4000, 0))
.wait(GUtils.getRandom(2000, 0))
.call(() => {
this.floatCoin && TWEEN.get(this.floatCoin, { loop: true })
.set({ y: originY, alpha: 1 })
.to({ y: originY - 20, alpha: 0.1 }, 800)
.set({ y: originY, alpha: 0 })
.wait(4000);
.wait(2000);
});
}
}
get workingFish(): Fish {
return this._workingFish;
}
......
......@@ -6,6 +6,8 @@ export type FishType = { [key: string]: number };
export type CommonType = { [key: string]: number };
export type timer = typeof setInterval;
/** 对象池 */
export const fishPoolName = "fish-pool";
......@@ -30,7 +32,8 @@ export interface FishOptions {
dir: { [key: string]: FishDir }
production: number,
price: number,
fishName: string
fishName: string,
isCall?: boolean
}
/** 打工状态 */
......
......@@ -27,7 +27,13 @@ function App() {
function onReady(widget) {
console.log('CanvasWidget ready!')
document.body.addEventListener(
'touchmove',
function (e) {
e.preventDefault();
},
{ passive: false }
);
}
/**
......
#root {
position: fixed;
width: 100vw;
height: 100vh;
}
body{
position: fixed;
width: 100vw;
height: 100vh;
}
.App {
position: fixed;
width: 100%;
height: 100%;
width: 100vw;
height: 100vh;
label{
display: flex;
......@@ -10,13 +22,28 @@
}
.canvas-widget {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
canvas{
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
width: 100%;
height: 100%;
}
}
.control-bar {
position: absolute;
right: 10px;
bottom: 10px;
position: fixed;
top: 0;
left: 0;
// position: absolute;
// right: 10px;
// bottom: 10px;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment