Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
East_L226
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
template admin
East_L226
Commits
87225b41
Commit
87225b41
authored
Jul 09, 2020
by
李维
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dev cimmit
parent
009042e8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
178 additions
and
14 deletions
+178
-14
play.component.ts
src/app/play/play.component.ts
+178
-14
No files found.
src/app/play/play.component.ts
View file @
87225b41
...
...
@@ -135,6 +135,7 @@ export class PlayComponent implements OnInit, OnDestroy {
// ------------ 游戏逻辑数据 ------------
m_startGame
=
false
;
m_allDrums
=
[]
// ------------------------------------
...
...
@@ -214,6 +215,7 @@ export class PlayComponent implements OnInit, OnDestroy {
cleanGameVar
(){
this
.
m_startGame
=
false
;
this
.
m_allDrums
=
[]
}
startGame
(){
...
...
@@ -226,9 +228,10 @@ export class PlayComponent implements OnInit, OnDestroy {
}
endGame
(){
this
.
g_enableMapDown
=
false
;
this
.
curtainContral
(
false
,
()
=>
{
this
.
g_cartoon
.
getCartoonElement
(
"
restart-button
"
).
in
()
this
.
g_cartoon
.
getCartoonElement
(
"
boy
"
).
endReadyAni
()
this
.
g_cartoon
.
getCartoonElement
(
"
boy
"
).
reset
()
this
.
g_enableMapDown
=
true
;
})
}
...
...
@@ -275,16 +278,34 @@ export class PlayComponent implements OnInit, OnDestroy {
}
initBoy
(){
let
standPos
=
[
[
{
x
:
this
.
g_canvasWidth
/
2
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
}
],
[
{
x
:
this
.
g_canvasWidth
/
2
+
317
*
this
.
g_mapScale
/
2
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
}
],
[
{
x
:
this
.
g_canvasWidth
/
2
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
}
],
[
{
x
:
this
.
g_canvasWidth
/
2
+
317
*
this
.
g_mapScale
/
2
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
},
{
x
:
this
.
g_canvasWidth
/
2
-
317
*
this
.
g_mapScale
/
2
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
}
],
[
{
x
:
this
.
g_canvasWidth
/
2
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
},
{
x
:
this
.
g_canvasWidth
/
2
-
317
*
this
.
g_mapScale
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
},
{
x
:
this
.
g_canvasWidth
/
2
+
317
*
this
.
g_mapScale
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
}
]
]
let
element
=
this
.
g_cartoon
.
createCartoonElementImageFunc
(
"
boy
"
,
"
boy_1
"
,
(
w
,
h
)
=>
{
return
{
sx
:
550
*
this
.
g_mapScale
/
w
,
sy
:
800
*
this
.
g_mapScale
/
h
}
},
(
w
,
h
)
=>
{
return
{
x
:
this
.
g_canvasWidth
/
2
,
y
:
this
.
g_canvasHeight
/
2
+
45
*
this
.
g_mapScale
}
return
standPos
[
this
.
g_formData
.
dataArray
.
length
][
0
]
})
this
.
render
(
element
.
ref
,
zIndexMap
.
boy
)
element
.
ref
.
visible
=
true
...
...
@@ -345,40 +366,156 @@ export class PlayComponent implements OnInit, OnDestroy {
this
.
render
(
element
.
rightHand
.
ref
,
zIndexMap
.
hand
)
element
.
rightHand
.
ref
.
visible
=
false
if
(
this
.
g_formData
.
dataArray
.
length
==
4
){
element
.
leftHandIndex
=
1
element
.
rightHandIndex
=
2
}
else
if
(
this
.
g_formData
.
dataArray
.
length
==
3
){
element
.
leftHandIndex
=
0.5
element
.
rightHandIndex
=
1.5
}
else
if
(
this
.
g_formData
.
dataArray
.
length
==
2
){
element
.
leftHandIndex
=
0
element
.
rightHandIndex
=
1
}
else
if
(
this
.
g_formData
.
dataArray
.
length
==
1
){
element
.
leftHandIndex
=
-
1
element
.
rightHandIndex
=
0.5
}
else
{
element
.
leftHandIndex
=
-
1
element
.
rightHandIndex
=
-
1
}
element
.
currentPosition
=
0
element
.
firstClick
=
true
;
element
.
currentSide
=
""
element
.
updateHandPos
=
()
=>
{
element
.
leftHand
.
ref
.
x
=
element
.
ref
.
x
-
160
*
this
.
g_mapScale
element
.
rightHand
.
ref
.
x
=
element
.
ref
.
x
+
160
*
this
.
g_mapScale
}
// 敲打动画
element
.
beat
=
(
side
,
callback
?)
=>
{
element
.
beat
=
(
index
,
callback
?)
=>
{
element
.
currentSide
=
""
if
(
this
.
g_formData
.
dataArray
.
length
==
4
){
if
(
element
.
currentPosition
==
0
){
if
(
index
==
0
){
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
1
].
x
element
.
currentPosition
=
1
;
element
.
currentSide
=
"
left
"
}
else
if
(
index
==
1
){
element
.
currentSide
=
"
left
"
}
else
if
(
index
==
2
){
element
.
currentSide
=
"
right
"
}
else
{
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
2
].
x
element
.
currentPosition
=
2
;
element
.
currentSide
=
"
right
"
}
}
else
if
(
element
.
currentPosition
==
1
){
if
(
index
==
0
){
element
.
currentSide
=
"
left
"
}
else
if
(
index
==
1
){
element
.
currentSide
=
"
right
"
}
else
if
(
index
==
2
){
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
0
].
x
element
.
currentPosition
=
0
;
element
.
currentSide
=
"
right
"
}
else
{
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
2
].
x
element
.
currentPosition
=
2
;
element
.
currentSide
=
"
right
"
}
}
else
{
if
(
index
==
0
){
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
1
].
x
element
.
currentPosition
=
1
;
element
.
currentSide
=
"
left
"
}
else
if
(
index
==
1
){
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
0
].
x
element
.
currentPosition
=
0
;
element
.
currentSide
=
"
left
"
}
else
if
(
index
==
2
){
element
.
currentSide
=
"
left
"
}
else
{
element
.
currentSide
=
"
right
"
}
}
}
else
if
(
this
.
g_formData
.
dataArray
.
length
==
3
){
if
(
element
.
currentPosition
==
0
){
if
(
index
==
0
){
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
1
].
x
element
.
currentPosition
=
1
;
element
.
currentSide
=
"
left
"
}
else
if
(
index
==
1
){
element
.
currentSide
=
"
left
"
}
else
{
element
.
currentSide
=
"
right
"
}
}
else
if
(
element
.
currentPosition
==
1
){
if
(
index
==
0
){
element
.
currentSide
=
"
left
"
}
else
if
(
index
==
1
){
element
.
currentSide
=
"
right
"
}
else
{
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
0
].
x
element
.
currentPosition
=
0
;
element
.
currentSide
=
"
right
"
}
}
else
{
if
(
index
==
0
){
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
1
].
x
element
.
currentPosition
=
1
;
element
.
currentSide
=
"
left
"
}
else
if
(
index
==
1
){
element
.
ref
.
x
=
standPos
[
this
.
g_formData
.
dataArray
.
length
][
0
].
x
element
.
currentPosition
=
0
;
element
.
currentSide
=
"
left
"
}
else
{
element
.
currentSide
=
"
left
"
}
}
}
else
if
(
this
.
g_formData
.
dataArray
.
length
==
2
){
if
(
index
==
0
){
element
.
currentSide
=
"
left
"
}
else
{
element
.
currentSide
=
"
right
"
}
}
else
if
(
this
.
g_formData
.
dataArray
.
length
==
1
){
element
.
currentSide
=
"
left
"
}
else
{
element
.
currentSide
=
"
left
"
}
element
.
updateHandPos
();
element
.
currentSide
=
element
.
currentSide
?
element
.
currentSide
:
"
left
"
if
(
element
.
firstClick
){
element
.
endReadyAni
()
element
.
leftHand
.
ref
.
visible
=
true
element
.
rightHand
.
ref
.
visible
=
true
element
.
firstClick
=
false
;
}
element
.
beatAnimate
=
this
.
g_cartoon
.
createAnimation
(
`beat_
${
s
ide
}
`
,
30
,
1000
,
()
=>
{
element
.
beatAnimate
=
this
.
g_cartoon
.
createAnimation
(
`beat_
${
element
.
currentS
ide
}
`
,
30
,
1000
,
()
=>
{
callback
&&
callback
()
})
if
(
s
ide
==
"
left
"
){
if
(
element
.
currentS
ide
==
"
left
"
){
element
.
beatAnimate
.
x
=
element
.
leftHand
.
ref
.
x
element
.
beatAnimate
.
y
=
element
.
leftHand
.
ref
.
y
}
else
{
element
.
beatAnimate
.
x
=
element
.
rightHand
.
ref
.
x
element
.
beatAnimate
.
y
=
element
.
rightHand
.
ref
.
y
}
if
(
s
ide
==
"
left
"
){
if
(
element
.
currentS
ide
==
"
left
"
){
element
.
leftHand
.
ref
.
visible
=
false
}
else
{
element
.
rightHand
.
ref
.
visible
=
false
}
// element.beatAnimate.setScaleXY(this.g_mapScale * 1.2)
this
.
render
(
element
.
beatAnimate
,
zIndexMap
.
animation
)
element
.
beatAnimate
.
play
()
}
element
.
beatReset
=
(
side
,
callback
)
=>
{
element
.
beatReset
=
(
callback
)
=>
{
element
.
beatAnimate
.
visible
=
false
;
this
.
deleteElementInRender
(
element
.
beatAnimate
.
id
)
if
(
s
ide
==
"
left
"
){
if
(
element
.
currentS
ide
==
"
left
"
){
element
.
leftHand
.
ref
.
visible
=
true
}
else
{
element
.
rightHand
.
ref
.
visible
=
true
...
...
@@ -386,6 +523,12 @@ export class PlayComponent implements OnInit, OnDestroy {
callback
&&
callback
()
}
element
.
reset
=
()
=>
{
element
.
endReadyAni
()
element
.
leftHand
.
ref
.
visible
=
false
element
.
rightHand
.
ref
.
visible
=
false
}
}
initCurtain
(){
...
...
@@ -585,6 +728,7 @@ export class PlayComponent implements OnInit, OnDestroy {
this
.
g_formData
.
dataArray
.
forEach
((
item
,
index
)
=>
{
let
element
=
this
.
createDrum
(
index
,
item
,
baseX
[
totalDrumNum
])
this
.
m_allDrums
.
push
(
element
.
id
)
this
.
render
(
element
.
ref
,
zIndexMap
.
drum
)
});
...
...
@@ -615,20 +759,28 @@ export class PlayComponent implements OnInit, OnDestroy {
y
:
0
}
})
element
.
ref
.
addChild
(
element
.
light
.
ref
)
element
.
light
.
ref
.
visible
=
false
;
if
(
index
<=
1
){
element
.
handSide
=
"
left
"
}
else
{
element
.
handSide
=
"
right
"
}
element
.
highlight
=
()
=>
{
this
.
m_setTimeoutIDs
.
push
(
setTimeout
(()
=>
{
this
.
g_cartoon
.
getCartoonElement
(
"
boy
"
).
beatReset
(
"
left
"
)
this
.
g_cartoon
.
getCartoonElement
(
"
boy
"
).
beatReset
()
tweenChange
(
element
.
ref
,
{
scaleX
:
element
.
initScaleX
,
scaleY
:
element
.
initScaleY
},
0.2
,
()
=>
{
element
.
light
.
ref
.
visible
=
false
;
this
.
setRenderZIndex
(
element
.
ref
,
zIndexMap
.
drum
)
this
.
checkAllOpen
()
this
.
g_enableMapDown
=
true
;
})
},
2000
))
}
element
.
isOpen
=
false
;
this
.
subscribeMapDownEvent
(
element
.
id
,
()
=>
{
if
(
!
this
.
m_startGame
){
this
.
g_enableMapDown
=
true
;
...
...
@@ -637,7 +789,8 @@ export class PlayComponent implements OnInit, OnDestroy {
this
.
setRenderZIndex
(
element
.
ref
,
zIndexMap
.
drum
+
1
)
tweenChange
(
element
.
ref
,
{
scaleX
:
element
.
initScaleX
*
1.2
,
scaleY
:
element
.
initScaleY
*
1.2
},
0.2
,
()
=>
{
element
.
light
.
ref
.
visible
=
true
;
this
.
g_cartoon
.
getCartoonElement
(
"
boy
"
).
beat
(
"
left
"
,
()
=>
{
element
.
isOpen
=
true
;
this
.
g_cartoon
.
getCartoonElement
(
"
boy
"
).
beat
(
index
,
()
=>
{
element
.
highlight
()
})
})
...
...
@@ -647,6 +800,17 @@ export class PlayComponent implements OnInit, OnDestroy {
return
element
}
checkAllOpen
(){
let
endGame
=
true
for
(
let
index
=
0
;
index
<
this
.
m_allDrums
.
length
;
index
++
){
if
(
!
this
.
g_cartoon
.
getCartoonElement
(
this
.
m_allDrums
[
index
]).
isOpen
){
endGame
=
false
;
}
}
if
(
endGame
){
this
.
endGame
()
}
}
...
...
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