Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xiaoxiaole
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wildfirecode13
xiaoxiaole
Commits
3477e420
Commit
3477e420
authored
Nov 07, 2019
by
wjf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
l
parent
cf502021
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
367 additions
and
83 deletions
+367
-83
MainScene.ts
egret/src/mainScene/MainScene.ts
+92
-69
MagicRotateAni.ts
egret/src/something/anis/MagicRotateAni.ts
+2
-2
FesRedShootAni.ts
egret/src/something/anisCall/FesRedShootAni.ts
+128
-0
Chapter6.ts
egret/src/something/chapters/Chapter6.ts
+10
-10
Chapter8.ts
egret/src/something/chapters/Chapter8.ts
+1
-1
RecoverName.ts
egret/src/something/enum/RecoverName.ts
+2
-0
AiControl.ts
egret/src/something/logic/AiControl.ts
+132
-1
No files found.
egret/src/mainScene/MainScene.ts
View file @
3477e420
This diff is collapsed.
Click to expand it.
egret/src/something/anis/MagicRotateAni.ts
View file @
3477e420
...
@@ -32,7 +32,7 @@ export function MagicRotateAni(ele: Element, p: number[], con: egret.DisplayObje
...
@@ -32,7 +32,7 @@ export function MagicRotateAni(ele: Element, p: number[], con: egret.DisplayObje
//算角度,弧度,x正方向为0,0到2pi,逆时针为正
//算角度,弧度,x正方向为0,0到2pi,逆时针为正
var
vec0
=
[
1
,
0
]
var
vec0
=
[
1
,
0
]
var
vec1
=
[
deltaX
,
deltaY
]
var
vec1
=
[
deltaX
,
deltaY
]
var
rotation
=
getRot
(
vec0
,
vec1
);
var
rotation
=
getRot
ByTwoVectors
(
vec0
,
vec1
);
if
(
deltaY
>
0
)
{
if
(
deltaY
>
0
)
{
rotation
=
pi2
-
rotation
;
rotation
=
pi2
-
rotation
;
}
}
...
@@ -81,7 +81,7 @@ function rotationAcodPoint(p: number[], rotation: number, point: number[] = [0,
...
@@ -81,7 +81,7 @@ function rotationAcodPoint(p: number[], rotation: number, point: number[] = [0,
* @param vec1
* @param vec1
* @param vec2
* @param vec2
*/
*/
function
getRot
(
vec1
:
number
[],
vec2
:
number
[])
{
export
function
getRotByTwoVectors
(
vec1
:
number
[],
vec2
:
number
[])
{
var
a
=
Math
.
sqrt
(
vec1
[
0
]
*
vec1
[
0
]
+
vec1
[
1
]
*
vec1
[
1
])
var
a
=
Math
.
sqrt
(
vec1
[
0
]
*
vec1
[
0
]
+
vec1
[
1
]
*
vec1
[
1
])
var
b
=
Math
.
sqrt
(
vec2
[
0
]
*
vec2
[
0
]
+
vec2
[
1
]
*
vec2
[
1
])
var
b
=
Math
.
sqrt
(
vec2
[
0
]
*
vec2
[
0
]
+
vec2
[
1
]
*
vec2
[
1
])
var
ab
=
vec1
[
0
]
*
vec2
[
0
]
+
vec1
[
1
]
*
vec2
[
1
]
var
ab
=
vec1
[
0
]
*
vec2
[
0
]
+
vec1
[
1
]
*
vec2
[
1
]
...
...
egret/src/something/anisCall/FesRedShootAni.ts
0 → 100644
View file @
3477e420
import
{
ImageAni
}
from
"../class/ImageAni"
;
import
{
Pool
}
from
"../Pool"
;
import
{
RecoverName
}
from
"../enum/RecoverName"
;
import
{
playSound
,
SoundType
}
from
"../../soundCtrl"
;
import
{
Element
}
from
"../class/Element"
;
import
{
Tool
}
from
"../Tool"
;
import
{
ElementType
}
from
"../enum/ElementType"
;
export
const
stepPosition
:
number
[]
=
[
125
,
115
];
/**
* 需要回调的
* 手动修改this.shoot.rotation=
*/
export
class
FesRedShootAni
extends
egret
.
DisplayObjectContainer
{
light
:
LightingAni
;
imageAni
:
ImageAni
;
imageAniCon
:
egret
.
DisplayObjectContainer
constructor
()
{
super
()
this
.
light
=
new
LightingAni
();
this
.
addChild
(
this
.
light
);
var
arr
=
[]
for
(
var
i
=
1
;
i
<=
10
;
i
++
)
{
arr
.
push
(
"fesEleSmallDis"
+
i
+
"_png"
);
}
this
.
imageAniCon
=
new
egret
.
DisplayObjectContainer
();
this
.
imageAni
=
new
ImageAni
(
arr
);
this
.
imageAniCon
.
addChild
(
this
.
imageAni
);
this
.
addChild
(
this
.
imageAniCon
);
this
.
imageAni
.
visible
=
false
}
reset
()
{
this
.
light
.
visible
=
true
;
this
.
imageAni
.
visible
=
false
;
this
.
light
.
scaleX
=
0.2
;
}
play
(
startP
:
number
[],
ele
:
Element
,
callback
:
Function
)
{
this
.
reset
()
//算角度
var
r
=
Tool
.
getForwardRotation
(
startP
,
[
ele
.
x
,
ele
.
y
])
this
.
light
.
rotation
=
r
*
180
/
Math
.
PI
;
this
.
light
.
x
=
startP
[
0
];
this
.
light
.
y
=
startP
[
1
];
this
.
imageAniCon
.
x
=
ele
.
x
;
this
.
imageAniCon
.
y
=
ele
.
y
;
//247
var
dis
=
Math
.
sqrt
(
(
startP
[
0
]
-
ele
.
x
)
*
(
startP
[
0
]
-
ele
.
x
)
+
(
startP
[
1
]
-
ele
.
y
)
*
(
startP
[
1
]
-
ele
.
y
)
)
var
scaleX
=
dis
/
247
;
egret
.
Tween
.
get
(
this
.
light
)
.
to
({
scaleX
:
scaleX
,
},
400
)
.
call
(()
=>
{
ele
.
reset
(
ElementType
.
FESTIVALELE_SMALL
);
ele
.
scaleX
=
ele
.
scaleY
=
0.1
egret
.
Tween
.
get
(
ele
)
.
to
({
scaleX
:
1
,
scaleY
:
1
},
500
,
egret
.
Ease
.
backOut
)
//回调
callback
();
this
.
imageAni
.
visible
=
true
;
this
.
imageAni
.
play
(()
=>
{
if
(
this
.
$parent
)
{
this
.
$parent
.
removeChild
(
this
)
};
Pool
.
recover
(
RecoverName
.
FESREDSHOOT_ANI
,
this
)
})
setTimeout
(()
=>
{
this
.
light
.
visible
=
false
;
},
200
)
})
}
}
class
LightingAni
extends
egret
.
Bitmap
{
sourceAll
:
string
[];
currentFrame
:
number
;
totalFrames
:
number
;
isPlay
:
boolean
;
startTime
:
number
/**
* 所有时间,帧数按每秒30
*/
allTime
:
number
/**
* 播放完的回调
*/
constructor
()
{
super
();
var
arr
=
[];
for
(
var
i
=
1
;
i
<=
13
;
i
++
)
{
arr
.
push
(
"lineLight"
+
i
+
"_png"
)
}
this
.
anchorOffsetX
=
23
;
this
.
anchorOffsetY
=
27
;
this
.
sourceAll
=
arr
;
this
.
texture
=
RES
.
getRes
(
this
.
sourceAll
[
0
])
this
.
currentFrame
=
0
;
this
.
totalFrames
=
arr
.
length
;
this
.
addEventListener
(
egret
.
Event
.
ENTER_FRAME
,
this
.
onEnterFrame
,
this
)
this
.
startTime
=
Date
.
now
()
this
.
allTime
=
this
.
sourceAll
.
length
/
30
*
1000
;
}
onEnterFrame
()
{
if
(
!
this
.
stage
)
return
var
dataNow
=
Date
.
now
();
var
deltaTime
=
dataNow
-
this
.
startTime
;
var
scale
=
deltaTime
/
this
.
allTime
;
if
(
scale
>=
1
)
{
this
.
startTime
=
Date
.
now
()
this
.
currentFrame
=
0
;
}
else
{
this
.
currentFrame
=
(
scale
*
this
.
sourceAll
.
length
)
>>
0
;
}
this
.
texture
=
RES
.
getRes
(
this
.
sourceAll
[
this
.
currentFrame
])
}
}
egret/src/something/chapters/Chapter6.ts
View file @
3477e420
...
@@ -494,15 +494,15 @@ export const Chapters6: ChapterData[] = [
...
@@ -494,15 +494,15 @@ export const Chapters6: ChapterData[] = [
starScores
:
[
5000
,
12000
,
20000
],
starScores
:
[
5000
,
12000
,
20000
],
map
:
{
map
:
{
lattices
:
[
lattices
:
[
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
2
,
2
,
2
,
0
,
0
,
0
,
2
,
2
,
2
,
3
,
3
,
3
,
0
,
0
,
0
,
3
,
3
,
3
,
2
,
2
,
2
,
0
,
0
,
0
,
2
,
2
,
2
,
3
,
3
,
0
,
0
,
0
,
0
,
0
,
3
,
3
,
2
,
2
,
0
,
0
,
0
,
0
,
0
,
2
,
2
,
0
,
0
,
0
,
3
,
3
,
3
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
2
,
2
,
0
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
3
,
3
,
3
,
3
,
0
,
3
,
3
,
3
,
3
,
2
,
2
,
2
,
2
,
0
,
2
,
2
,
2
,
2
,
3
,
3
,
3
,
0
,
3
,
0
,
3
,
3
,
3
,
2
,
2
,
2
,
0
,
2
,
0
,
2
,
2
,
2
,
0
,
3
,
0
,
3
,
3
,
3
,
0
,
3
,
0
,
0
,
2
,
0
,
2
,
2
,
2
,
0
,
2
,
0
,
0
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
0
0
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
0
],
],
connectedLats
:
[[
73
,
0
],
[
74
,
1
],
[
75
,
2
],
[
77
,
6
],
[
78
,
7
],
[
79
,
8
]],
connectedLats
:
[[
73
,
0
],
[
74
,
1
],
[
75
,
2
],
[
77
,
6
],
[
78
,
7
],
[
79
,
8
]],
elements
:
[
elements
:
[
...
@@ -550,7 +550,7 @@ export const Chapters6: ChapterData[] = [
...
@@ -550,7 +550,7 @@ export const Chapters6: ChapterData[] = [
{
{
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
bubbleProbability
:
0.1
,
bubbleProbability
:
0.1
,
stepCount
:
3
0
,
stepCount
:
4
0
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
6
,
count
:
8
}]
},
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
6
,
count
:
8
}]
},
starScores
:
[
5000
,
12000
,
21000
],
starScores
:
[
5000
,
12000
,
21000
],
map
:
{
map
:
{
...
...
egret/src/something/chapters/Chapter8.ts
View file @
3477e420
...
@@ -512,7 +512,7 @@ export const Chapters8: ChapterData[] = [
...
@@ -512,7 +512,7 @@ export const Chapters8: ChapterData[] = [
},
},
//157
//157
{
{
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
2
6
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
6
,
count
:
13
}]
},
starScores
:
[
5000
,
12000
,
21000
],
map
:
{
lattices
:
[
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
],
connectedLats
:
[[
30
,
48
],
[
31
,
49
],
[
32
,
50
],
[
74
,
18
],
[
78
,
26
]],
elements
:
[
1
,
1
,
1
,
3
,
3
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
3
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
3
,
3
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[
75
,
76
,
77
],
generateLats
:
[{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
10
,
type
:
null
},
{
index
:
16
,
type
:
null
},
{
index
:
18
,
type
:
null
},
{
index
:
26
,
type
:
null
}]
}
baseElementTypes
:
[
0
,
1
,
2
,
3
,
4
],
bubbleProbability
:
0
,
stepCount
:
3
6
,
passTarget
:
{
type
:
1
,
elements
:
[{
type
:
6
,
count
:
13
}]
},
starScores
:
[
5000
,
12000
,
21000
],
map
:
{
lattices
:
[
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
],
connectedLats
:
[[
30
,
48
],
[
31
,
49
],
[
32
,
50
],
[
74
,
18
],
[
78
,
26
]],
elements
:
[
1
,
1
,
1
,
3
,
3
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
3
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
3
,
3
,
3
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
],
baseElements
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
recycles
:
[
75
,
76
,
77
],
generateLats
:
[{
index
:
2
,
type
:
null
},
{
index
:
3
,
type
:
null
},
{
index
:
4
,
type
:
null
},
{
index
:
5
,
type
:
null
},
{
index
:
6
,
type
:
null
},
{
index
:
10
,
type
:
null
},
{
index
:
16
,
type
:
null
},
{
index
:
18
,
type
:
null
},
{
index
:
26
,
type
:
null
}]
}
},
},
//158
//158
{
{
...
...
egret/src/something/enum/RecoverName.ts
View file @
3477e420
...
@@ -24,6 +24,8 @@ export enum RecoverName {
...
@@ -24,6 +24,8 @@ export enum RecoverName {
HAIRBALLJUMP_ANI
=
"HairballJumpAni"
,
//三种毛球是一样的动画
HAIRBALLJUMP_ANI
=
"HairballJumpAni"
,
//三种毛球是一样的动画
FESREDBOMBSHOW_ANI
=
"FesRedBombShowAni"
,
FESREDBOMBSHOW_ANI
=
"FesRedBombShowAni"
,
FESREDSHOOT_ANI
=
"FesRedShootAni"
,
//元素身上,特效常驻动效
//元素身上,特效常驻动效
...
...
egret/src/something/logic/AiControl.ts
View file @
3477e420
...
@@ -14,9 +14,16 @@ import { Element } from "../class/Element";
...
@@ -14,9 +14,16 @@ import { Element } from "../class/Element";
import
{
HairballBrownState
}
from
"../states/HairballBrownState"
;
import
{
HairballBrownState
}
from
"../states/HairballBrownState"
;
import
{
HairballJumpAni
}
from
"../anis/HairballJumpAni"
;
import
{
HairballJumpAni
}
from
"../anis/HairballJumpAni"
;
import
{
HairballBrownDivideAni
}
from
"../anis/HairballBrownDivideAni"
;
import
{
HairballBrownDivideAni
}
from
"../anis/HairballBrownDivideAni"
;
import
{
NetManager
}
from
"../../../libs/tw/manager/NetManager"
;
import
{
getRotByTwoVectors
}
from
"../anis/MagicRotateAni"
;
import
{
FesRedShootAni
}
from
"../anisCall/FesRedShootAni"
;
//孵鸡的数量
//孵鸡的数量
const
chickenNum
:
number
=
4
const
chickenNum
:
number
=
4
;
//节日大红包的小红包数量
export
const
fesELeSmallNum
:
number
=
6
;
export
class
AiControl
{
export
class
AiControl
{
private
static
_ins
:
AiControl
private
static
_ins
:
AiControl
...
@@ -43,6 +50,10 @@ export class AiControl {
...
@@ -43,6 +50,10 @@ export class AiControl {
*/
*/
private
hasHairball
:
boolean
;
private
hasHairball
:
boolean
;
/**
* 判断是否还有节日大红包,不可再生
*/
private
hasFesEleBig
:
boolean
;
/**
/**
* 用于判断格子中
* 用于判断格子中
* 是否有果冻,
* 是否有果冻,
...
@@ -57,6 +68,115 @@ export class AiControl {
...
@@ -57,6 +68,115 @@ export class AiControl {
// this.hasBubble = judgeBubbleExist(lattices);
// this.hasBubble = judgeBubbleExist(lattices);
this
.
hasHairball
=
judgeHairballExist
(
lattices
);
this
.
hasHairball
=
judgeHairballExist
(
lattices
);
this
.
eggs
=
getEggs
(
lattices
);
this
.
eggs
=
getEggs
(
lattices
);
this
.
hasFesEleBig
=
judgeFesEleBigExist
(
lattices
)
}
fesEleMotion
(
thisObj
:
MainScene
,
callback
:
Function
)
{
//无节日大红包,直接回调,气泡能生成,不能直接判断
if
(
!
this
.
hasFesEleBig
)
{
callback
();
return
}
//找出所有的节日大红包
var
indexs
:
number
[]
=
[];
for
(
var
i
=
0
;
i
<
thisObj
.
lattices
.
length
;
i
++
)
{
var
lat
=
thisObj
.
lattices
[
i
];
if
(
lat
&&
lat
.
element
&&
lat
.
element
.
type
==
ElementType
.
FESTIVALELE_BIG
//&&
// lat.element.festivalEle.isActive
)
{
indexs
.
push
(
i
);
}
}
//没有节日大红包,直接回调
if
(
!
indexs
.
length
)
{
//标记无节日大红包
this
.
hasFesEleBig
=
false
;
callback
();
return
}
if
(
!
thisObj
.
lattices
[
indexs
[
0
]].
element
.
festivalEle
.
isActive
)
{
callback
();
return
}
//找出6个能飞的小红包
var
redIndexs
:
number
[]
=
[];
for
(
var
a
=
0
;
a
<
thisObj
.
lattices
.
length
;
a
++
)
{
var
lat
=
thisObj
.
lattices
[
a
];
//是基础元素,但是不能有任何状态,
if
(
Tool
.
judgeBaseEle
(
lat
)
&&
!
lat
.
element
.
hasAnyState
()
&&
!
lat
.
isGenerate
//且格子不是生成口
)
{
redIndexs
.
push
(
a
);
}
}
//打乱索引
redIndexs
.
sort
(
function
()
{
return
(
0.5
-
Math
.
random
());
});
let
six
:
any
[]
=
redIndexs
.
splice
(
0
,
fesELeSmallNum
);
//如果不足6个,就修改thisObj里的
if
(
six
.
length
<
fesELeSmallNum
)
{
thisObj
.
festivalTargetNum
=
fesELeSmallNum
;
thisObj
.
festivalTarget
.
count
=
fesELeSmallNum
;
//如果是0;就直接发接口吧
if
(
!
six
.
length
)
{
NetManager
.
ins
.
hc_redBombAward
((
success
)
=>
{
if
(
success
)
thisObj
.
redBombPanelMark
=
true
;
});
callback
();
return
}
}
//变成对象
for
(
var
i
=
0
;
i
<
six
.
length
;
i
++
)
six
[
i
]
=
{
index
:
six
[
i
]
};
//暂时只有一个大红包,
let
index
=
indexs
[
0
];
var
p
=
Tool
.
getPositionByIndex
(
index
);
var
vec0
=
[
1
,
0
];
//计算角度
for
(
var
i
=
0
;
i
<
six
.
length
;
i
++
)
{
var
po
=
Tool
.
getPositionByIndex
(
six
[
i
].
index
);
var
deltaX
=
po
[
0
]
-
p
[
0
];
var
deltaY
=
po
[
1
]
-
p
[
1
];
// var dis = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
//算角度,弧度,x正方向为0,0到2pi,逆时针为正
var
vec1
=
[
deltaX
,
deltaY
]
var
rotation
=
getRotByTwoVectors
(
vec0
,
vec1
);
if
(
deltaY
>
0
)
rotation
=
Math
.
PI
*
2
-
rotation
;
six
[
i
].
rotation
=
rotation
;
}
//排序
six
.
sort
(
function
(
a
,
b
)
{
return
b
.
rotation
-
a
.
rotation
});
//还原为索引
for
(
var
i
=
0
;
i
<
six
.
length
;
i
++
)
six
[
i
]
=
six
[
i
].
index
;
//动画
thisObj
.
redBombLightAni
(
index
,
()
=>
{
let
count
=
0
;
let
countAll
=
six
.
length
;
for
(
let
a
=
0
;
a
<
six
.
length
;
a
++
)
{
let
endIndex
=
six
[
a
];
let
lat
=
thisObj
.
lattices
[
endIndex
];
let
ele
=
lat
.
element
;
let
fesRedShootAni
:
FesRedShootAni
=
Pool
.
takeOut
(
RecoverName
.
FESREDSHOOT_ANI
)
if
(
!
fesRedShootAni
)
fesRedShootAni
=
new
FesRedShootAni
();
setTimeout
(()
=>
{
thisObj
.
addChild
(
fesRedShootAni
);
fesRedShootAni
.
play
(
p
,
ele
,
()
=>
{
if
(
++
count
==
countAll
)
{
thisObj
.
removeOperation
(
index
);
thisObj
.
fall
(()
=>
{
//掉落停止回调
thisObj
.
fallCallback
();
});
// callback();
}
})
},
100
*
a
)
}
})
}
}
jellyMotion
(
thisObj
:
MainScene
,
callback
:
Function
)
{
jellyMotion
(
thisObj
:
MainScene
,
callback
:
Function
)
{
...
@@ -515,6 +635,17 @@ function judgeHairballExist(lattices: Lattice[]) {
...
@@ -515,6 +635,17 @@ function judgeHairballExist(lattices: Lattice[]) {
}
}
return
false
;
return
false
;
}
}
function
judgeFesEleBigExist
(
lattices
:
Lattice
[])
{
for
(
var
i
=
0
;
i
<
lattices
.
length
;
i
++
)
{
var
lattice
=
lattices
[
i
]
if
(
lattice
&&
lattice
.
element
&&
lattice
.
element
.
type
==
ElementType
.
FESTIVALELE_BIG
)
return
true
}
return
false
;
}
/**
/**
* 判断气泡是否存在
* 判断气泡是否存在
* @param lattices
* @param lattices
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment