Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
db-game-template
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
崔立强
db-game-template
Commits
ded5259a
Commit
ded5259a
authored
Dec 12, 2018
by
wildfirecode
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
6acae238
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
97 additions
and
36 deletions
+97
-36
index.html
egret/index.html
+3
-0
ComponentBase.ts
egret/libs/new_wx/components/ComponentBase.ts
+2
-0
panelCtrl.ts
egret/libs/new_wx/ctrls/panelCtrl.ts
+3
-2
StartSkin.exml
egret/resource/skins/StartSkin.exml
+1
-1
StartScene.ts
egret/src/startScene/StartScene.ts
+24
-10
check.ts
egret/src/startScene/check.ts
+5
-2
createItems.ts
egret/src/startScene/createItems.ts
+29
-7
levels.ts
egret/src/startScene/levels.ts
+13
-2
playMovieClip.ts
egret/src/startScene/playMovieClip.ts
+12
-12
updateLVProgress.ts
egret/src/startScene/updateLVProgress.ts
+5
-0
No files found.
egret/index.html
View file @
ded5259a
...
@@ -45,6 +45,9 @@
...
@@ -45,6 +45,9 @@
<script
src=
"libs/security.js"
></script>
<script
src=
"libs/security.js"
></script>
<script
src=
"libs/downloadApp.js"
></script>
<script
src=
"libs/downloadApp.js"
></script>
<script>
<script>
// localStorage.clear();
// localStorage.setItem('currentLevel','1');
// localStorage.setItem('currentScore','0');
window
[
'development'
]
=
true
;
window
[
'development'
]
=
true
;
var
gameId
=
1
;
var
gameId
=
1
;
var
CFG
=
{
var
CFG
=
{
...
...
egret/libs/new_wx/components/ComponentBase.ts
View file @
ded5259a
import
{
ModuleTypes
}
from
"../types/sceneTypes"
;
import
getSkinPath
from
"../utils/getSkinPath"
;
import
getSkinPath
from
"../utils/getSkinPath"
;
export
default
class
ComponentBase
extends
eui
.
Component
{
export
default
class
ComponentBase
extends
eui
.
Component
{
protected
data
:
any
;
protected
data
:
any
;
type
:
ModuleTypes
constructor
()
{
constructor
()
{
super
();
super
();
this
.
data
=
{};
this
.
data
=
{};
...
...
egret/libs/new_wx/ctrls/panelCtrl.ts
View file @
ded5259a
...
@@ -19,6 +19,7 @@ export default class PanelCtrl extends egret.EventDispatcher {
...
@@ -19,6 +19,7 @@ export default class PanelCtrl extends egret.EventDispatcher {
}
}
const
cls
=
this
.
_panelClassMap
[
type
];
const
cls
=
this
.
_panelClassMap
[
type
];
const
panel
:
Panel
=
new
cls
(
data
);
const
panel
:
Panel
=
new
cls
(
data
);
panel
.
type
=
type
;
this
.
addMask
();
this
.
addMask
();
if
(
!
window
[
'development'
])
{
if
(
!
window
[
'development'
])
{
Loading
.
instace
.
show
();
Loading
.
instace
.
show
();
...
@@ -73,14 +74,14 @@ export default class PanelCtrl extends egret.EventDispatcher {
...
@@ -73,14 +74,14 @@ export default class PanelCtrl extends egret.EventDispatcher {
if
(
!
useTween
)
{
if
(
!
useTween
)
{
this
.
_parent
.
removeChild
(
panel
);
this
.
_parent
.
removeChild
(
panel
);
this
.
removeMask
(
useTween
);
this
.
removeMask
(
useTween
);
this
.
dispatchEvent
(
new
egret
.
Event
(
'onPanelRemoved'
))
this
.
dispatchEvent
(
new
egret
.
Event
(
'onPanelRemoved'
,
false
,
false
,
panel
))
}
else
{
}
else
{
const
tw
=
egret
.
Tween
.
get
(
panel
);
const
tw
=
egret
.
Tween
.
get
(
panel
);
tw
.
to
({
y
:
panel
.
stage
.
stageHeight
},
300
,
egret
.
Ease
.
quartIn
)
tw
.
to
({
y
:
panel
.
stage
.
stageHeight
},
300
,
egret
.
Ease
.
quartIn
)
.
call
(()
=>
{
.
call
(()
=>
{
this
.
_parent
.
removeChild
(
panel
);
this
.
_parent
.
removeChild
(
panel
);
this
.
removeMask
(
useTween
);
this
.
removeMask
(
useTween
);
this
.
dispatchEvent
(
new
egret
.
Event
(
'onPanelRemoved'
))
this
.
dispatchEvent
(
new
egret
.
Event
(
'onPanelRemoved'
,
false
,
false
,
panel
))
},
this
);
},
this
);
}
}
this
.
_current
=
null
;
this
.
_current
=
null
;
...
...
egret/resource/skins/StartSkin.exml
View file @
ded5259a
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
<e:Image
source=
"bubble_png"
x=
"268"
y=
"1082"
visible=
"false"
/>
<e:Image
source=
"bubble_png"
x=
"268"
y=
"1082"
visible=
"false"
/>
<e:Image
id=
"progressbg"
source=
"progressbg_png"
y=
"74"
x=
"182.5"
/>
<e:Image
id=
"progressbg"
source=
"progressbg_png"
y=
"74"
x=
"182.5"
/>
<e:Image
id=
"progressfront"
source=
"progressfront_png"
width=
"380"
y=
"77"
x=
"185"
/>
<e:Image
id=
"progressfront"
source=
"progressfront_png"
width=
"380"
y=
"77"
x=
"185"
/>
<e:Group
id=
"progress1"
y=
"74"
width=
"386"
height=
"36"
horizontalCenter=
"0"
>
<e:Group
id=
"progress1"
y=
"74"
width=
"386"
height=
"36"
horizontalCenter=
"0"
visible=
"false"
>
<e:Image
verticalCenter=
"0"
x=
"325"
source=
"progress_f1_png"
/>
<e:Image
verticalCenter=
"0"
x=
"325"
source=
"progress_f1_png"
/>
<e:Image
source=
"5_png"
x=
"350.5"
y=
"23.02"
/>
<e:Image
source=
"5_png"
x=
"350.5"
y=
"23.02"
/>
</e:Group>
</e:Group>
...
...
egret/src/startScene/StartScene.ts
View file @
ded5259a
...
@@ -4,15 +4,17 @@ import { ABNetManager } from "../../libs/tc/manager/ABNetManager";
...
@@ -4,15 +4,17 @@ import { ABNetManager } from "../../libs/tc/manager/ABNetManager";
import
{
GDispatcher
}
from
"../../libs/tc/util/GDispatcher"
;
import
{
GDispatcher
}
from
"../../libs/tc/util/GDispatcher"
;
import
EgretRender
from
"../physics/EgretRender"
;
import
EgretRender
from
"../physics/EgretRender"
;
import
check
from
"./check"
;
import
check
from
"./check"
;
import
{
bubble
,
bubbleGroup
,
bubbleMask
}
from
"./collisionConfig"
;
import
{
bubble
,
bubbleGroup
,
bubbleMask
,
award
}
from
"./collisionConfig"
;
import
createBox
from
"./createBox"
;
import
createBox
from
"./createBox"
;
import
createBtns
from
"./createBtns"
;
import
createBtns
from
"./createBtns"
;
import
createBubblePic
from
"./createBubblePic"
;
import
createBubblePic
from
"./createBubblePic"
;
import
createItems
from
"./createItems"
;
import
createItems
,
{
rollbackIcon
}
from
"./createItems"
;
import
{
getCurrentPercent
,
onLvBoom
,
getCurrentLevel
,
getLevelAniTag
,
setLevelAniTag
,
add
CurrentScore
}
from
"./levels"
;
import
{
getCurrentPercent
,
onLvBoom
,
getCurrentLevel
,
getLevelAniTag
,
setLevelAniTag
,
addCurrentScore
,
toNextLevel
,
getLevelData
,
get
CurrentScore
}
from
"./levels"
;
import
random
from
"./random"
;
import
random
from
"./random"
;
import
{
startStandbyBubblesLeft
,
startStandbyBubblesRight
,
stopStandbyBubblesLeft
,
stopStandbyBubblesRight
}
from
"./standbyBubbles"
;
import
{
startStandbyBubblesLeft
,
startStandbyBubblesRight
,
stopStandbyBubblesLeft
,
stopStandbyBubblesRight
}
from
"./standbyBubbles"
;
import
updateLVProgress
from
"./updateLVProgress"
;
import
updateLVProgress
from
"./updateLVProgress"
;
import
Panel
from
"../../libs/new_wx/components/Panel"
;
import
{
ModuleTypes
}
from
"../../libs/new_wx/types/sceneTypes"
;
export
default
class
StartScene
extends
StartSceneBase
{
export
default
class
StartScene
extends
StartSceneBase
{
_engine
:
Matter
.
Engine
;
_engine
:
Matter
.
Engine
;
...
@@ -22,8 +24,23 @@ export default class StartScene extends StartSceneBase {
...
@@ -22,8 +24,23 @@ export default class StartScene extends StartSceneBase {
_startStandbyBubblesRight
:
number
;
_startStandbyBubblesRight
:
number
;
egretRenderContainer
:
egret
.
Sprite
;
egretRenderContainer
:
egret
.
Sprite
;
onPanelRemoved
()
{
onPanelRemoved
(
e
:
egret
.
Event
)
{
const
panel
:
Panel
=
e
.
data
;
if
(
panel
.
type
!=
ModuleTypes
.
PRIZE_PANEL
)
return
;
if
(
toNextLevel
())
{
this
.
initLevelView
();
this
.
playLevelAni
();
this
.
clearAwardBody
();
createItems
(
this
);
}
}
clearAwardBody
()
{
const
bodies
=
Matter
.
Composite
.
allBodies
(
this
.
_engine
.
world
);
const
isAward
=
(
i
:
Matter
.
Body
)
=>
{
return
i
.
collisionFilter
.
group
==
award
}
bodies
.
forEach
(
i
=>
{
if
(
isAward
(
i
))
this
.
_egretRender
.
remove
(
i
);
})
}
}
onNetError
()
{
onNetError
()
{
...
@@ -34,11 +51,7 @@ export default class StartScene extends StartSceneBase {
...
@@ -34,11 +51,7 @@ export default class StartScene extends StartSceneBase {
}
}
toNextLevel
()
{
initLevelView
()
{
}
initLevel
()
{
const
lv
=
getCurrentLevel
();
const
lv
=
getCurrentLevel
();
updateLVProgress
(
this
,
lv
);
updateLVProgress
(
this
,
lv
);
this
.
updateProgress
();
this
.
updateProgress
();
...
@@ -68,6 +81,7 @@ export default class StartScene extends StartSceneBase {
...
@@ -68,6 +81,7 @@ export default class StartScene extends StartSceneBase {
}
}
onBoom
():
any
{
onBoom
():
any
{
rollbackIcon
(
getCurrentScore
(),
this
);
onLvBoom
();
onLvBoom
();
this
.
updateProgress
();
this
.
updateProgress
();
}
}
...
@@ -140,7 +154,7 @@ export default class StartScene extends StartSceneBase {
...
@@ -140,7 +154,7 @@ export default class StartScene extends StartSceneBase {
rect
.
width
=
0
;
rect
.
width
=
0
;
this
.
progressfront
.
mask
=
rect
;
this
.
progressfront
.
mask
=
rect
;
this
.
initLevel
();
this
.
initLevel
View
();
this
.
playLevelAni
();
this
.
playLevelAni
();
const
reslist
=
[
'boom'
,
'gift'
,
'candy'
,
'coin'
,
'egg'
]
const
reslist
=
[
'boom'
,
'gift'
,
'candy'
,
'coin'
,
'egg'
]
...
...
egret/src/startScene/check.ts
View file @
ded5259a
import
{
award
}
from
"./collisionConfig"
;
import
{
award
}
from
"./collisionConfig"
;
import
StartScene
from
"./StartScene"
;
import
StartScene
from
"./StartScene"
;
import
{
playBoom
,
playSuccess
,
playScoreAni
}
from
"./playMovieClip"
;
import
{
playBoom
,
playSuccess
}
from
"./playMovieClip"
;
import
vibrate
from
"./vibrate"
;
import
vibrate
from
"./vibrate"
;
import
LabelType
from
"./items/LabelType"
;
import
LabelType
from
"./items/LabelType"
;
import
{
createNewBubble
}
from
"./createItems"
;
import
{
createNewBubble
}
from
"./createItems"
;
...
@@ -42,6 +42,7 @@ const check = (_this: StartScene) => {
...
@@ -42,6 +42,7 @@ const check = (_this: StartScene) => {
}
}
else
if
(
i
.
label
==
LabelType
.
egg
)
{
else
if
(
i
.
label
==
LabelType
.
egg
)
{
_this
.
_egretRender
.
remove
(
i
);
_this
.
_egretRender
.
remove
(
i
);
PanelCtrl
.
instance
.
show
(
ModuleTypes
.
TREASURE_PANEL
);
}
}
else
if
(
i
.
label
==
LabelType
.
candy
)
{
else
if
(
i
.
label
==
LabelType
.
candy
)
{
_this
.
_egretRender
.
remove
(
i
);
_this
.
_egretRender
.
remove
(
i
);
...
@@ -49,10 +50,12 @@ const check = (_this: StartScene) => {
...
@@ -49,10 +50,12 @@ const check = (_this: StartScene) => {
}
}
else
if
(
i
.
label
==
LabelType
.
gift
)
{
else
if
(
i
.
label
==
LabelType
.
gift
)
{
_this
.
_egretRender
.
remove
(
i
);
_this
.
_egretRender
.
remove
(
i
);
PanelCtrl
.
instance
.
show
(
ModuleTypes
.
TREASURE_PANEL
);
}
else
{
}
else
{
// console.log('不是boom,重用', Date.now() / 1000);
// console.log('不是boom,重用', Date.now() / 1000);
playScoreAni
(
_this
.
egretRenderContainer
,
1
)
//
playScoreAni(_this.egretRenderContainer, 1)
playSuccess
(
_this
.
egretRenderContainer
);
playSuccess
(
_this
.
egretRenderContainer
);
_this
.
_egretRender
.
remove
(
i
);
_this
.
addScore
();
_this
.
addScore
();
checkAdd
(
_this
);
checkAdd
(
_this
);
}
}
...
...
egret/src/startScene/createItems.ts
View file @
ded5259a
...
@@ -3,15 +3,15 @@ import createItem from "./items/createItem";
...
@@ -3,15 +3,15 @@ import createItem from "./items/createItem";
import
{
award
,
awardMask
}
from
"./collisionConfig"
;
import
{
award
,
awardMask
}
from
"./collisionConfig"
;
import
random
from
"./random"
;
import
random
from
"./random"
;
import
LabelType
from
"./items/LabelType"
;
import
LabelType
from
"./items/LabelType"
;
import
{
getCurrentItems
}
from
"./levels"
;
import
{
getCurrentItems
,
getCurrentScore
}
from
"./levels"
;
export
const
createNewBubble
=
(
_this
:
StartScene
,
type
:
LabelType
)
=>
{
export
const
createNewBubble
=
(
_this
:
StartScene
,
type
:
LabelType
)
=>
{
createBubble
(
_this
,
type
,
750
/
2
,
220
,
0.001
*
100
);
createBubble
(
_this
,
type
,
750
/
2
,
220
,
{
x
:
0
,
y
:
0.1
}
);
}
}
const
createBubble
=
(
_this
:
StartScene
,
type
:
LabelType
,
x
:
number
,
y
:
number
,
density
=
0.001
)
=>
{
const
createBubble
=
(
_this
:
StartScene
,
type
:
LabelType
,
x
:
number
,
y
:
number
,
force
=
{
x
:
0
,
y
:
0
}
)
=>
{
let
scale
;
let
scale
;
const
size
=
random
(
70
,
100
);
const
size
=
random
(
85
,
100
);
const
maxsize
=
100
;
const
maxsize
=
100
;
scale
=
size
/
maxsize
;
scale
=
size
/
maxsize
;
const
baseItem
=
createItem
(
scale
,
type
);
const
baseItem
=
createItem
(
scale
,
type
);
...
@@ -26,16 +26,38 @@ const createBubble = (_this: StartScene, type: LabelType, x: number, y: number,d
...
@@ -26,16 +26,38 @@ const createBubble = (_this: StartScene, type: LabelType, x: number, y: number,d
angle
:
angle
,
angle
:
angle
,
label
:
baseItem
.
type
,
label
:
baseItem
.
type
,
friction
:
0
,
friction
:
0
,
density
:
density
force
:
force
});
});
}
}
export
const
rollbackIcon
=
(
nums
:
number
,
_this
:
StartScene
)
=>
{
const
startY
=
200
;
const
startX
=
Math
.
random
()
>
.
5
?
150
:
750
-
150
;
createBubble
(
_this
,
LabelType
.
boom
,
startX
,
startY
);
let
count
=
0
;
const
coinsFall
=
setInterval
(()
=>
{
if
(
count
<=
nums
-
1
)
{
const
startX
=
Math
.
random
()
>
.
5
?
150
:
750
-
150
;
createBubble
(
_this
,
LabelType
.
coin
,
startX
,
startY
)
count
++
;
}
else
{
//结束
}
},
100
);
}
export
default
(
_this
:
StartScene
)
=>
{
export
default
(
_this
:
StartScene
)
=>
{
const
score
=
getCurrentScore
();
const
items
=
getCurrentItems
();
//[[LabelType.boom, 1], [LabelType.coin, 5]]
const
items
=
getCurrentItems
();
//[[LabelType.boom, 1], [LabelType.coin, 5]]
const
list
=
[];
const
list
=
[];
for
(
const
item
of
items
)
{
for
(
const
item
of
items
)
{
for
(
let
i
=
0
;
i
<
item
[
1
];
i
++
)
{
const
type
=
item
[
0
];
list
.
push
(
item
[
0
]);
let
nums
=
item
[
1
];
if
(
type
==
LabelType
.
coin
)
nums
=
nums
-
score
;
for
(
let
i
=
0
;
i
<
nums
;
i
++
)
{
list
.
push
(
type
);
}
}
}
}
let
count
=
0
;
let
count
=
0
;
...
...
egret/src/startScene/levels.ts
View file @
ded5259a
import
LabelType
from
"./items/LabelType"
;
import
LabelType
from
"./items/LabelType"
;
const
levels
=
{
const
levels
=
{
'1'
:
{
max
:
5
,
items
:
[[
LabelType
.
boom
,
1
],
[
LabelType
.
coin
,
5
]],
awards
:
[[
5
,
LabelType
.
candy
]]
}
'1'
:
{
max
:
5
,
items
:
[[
LabelType
.
boom
,
1
],
[
LabelType
.
coin
,
5
+
4
]],
awards
:
[[
5
,
LabelType
.
candy
]]
},
'2'
:
{
max
:
10
,
items
:
[[
LabelType
.
boom
,
2
],
[
LabelType
.
coin
,
10
+
4
]],
awards
:
[[
5
,
LabelType
.
candy
],[
10
,
LabelType
.
egg
]]
},
'3'
:
{
max
:
15
,
items
:
[[
LabelType
.
boom
,
3
],
[
LabelType
.
coin
,
15
+
4
]],
awards
:
[[
5
,
LabelType
.
candy
],[
10
,
LabelType
.
egg
],[
15
,
LabelType
.
gift
]]
},
'4'
:
{
max
:
20
,
items
:
[[
LabelType
.
boom
,
4
],
[
LabelType
.
coin
,
20
+
4
]],
awards
:
[[
5
,
LabelType
.
candy
],[
10
,
LabelType
.
egg
],[
20
,
LabelType
.
gift
]]
},
'5'
:
{
max
:
15
,
items
:
[[
LabelType
.
boom
,
3
],
[
LabelType
.
coin
,
15
+
4
]],
awards
:
[[
5
,
LabelType
.
candy
],[
10
,
LabelType
.
egg
],[
15
,
LabelType
.
gift
]]
},
}
}
const
MAX_LEVELS
=
4
;
export
const
MAX_LEVELS
=
5
;
export
const
toNextLevel
=
()
=>
{
if
(
getCurrentScore
()
<
getLevelData
().
max
)
return
false
addCurrentLevel
();
clearCurrentScore
();
return
true
;
}
export
const
getCurrentItems
=
()
=>
{
export
const
getCurrentItems
=
()
=>
{
return
getLevelData
().
items
return
getLevelData
().
items
...
...
egret/src/startScene/playMovieClip.ts
View file @
ded5259a
...
@@ -50,19 +50,19 @@ export const playBoom = (parent) => {
...
@@ -50,19 +50,19 @@ export const playBoom = (parent) => {
return
playMovieClip
(
parent
,
'fail_json'
,
[
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
],
5
);
return
playMovieClip
(
parent
,
'fail_json'
,
[
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
],
5
);
}
}
export
const
playScoreAni
=
(
parent
,
score
:
number
)
=>
{
//
export const playScoreAni = (parent, score: number) => {
const
txt
=
createText
(
score
);
//
const txt = createText(score);
txt
.
scaleX
=
txt
.
scaleY
=
0
;
//
txt.scaleX = txt.scaleY = 0;
parent
.
addChild
(
txt
);
//
parent.addChild(txt);
txt
.
x
=
375
+
100
;
//
txt.x = 375 + 100;
txt
.
y
=
375
;
//
txt.y = 375;
txt
.
anchorOffsetX
=
txt
.
textWidth
/
2
;
//
txt.anchorOffsetX = txt.textWidth / 2;
txt
.
anchorOffsetY
=
txt
.
textHeight
/
2
;
//
txt.anchorOffsetY = txt.textHeight / 2;
egret
.
Tween
.
get
(
txt
).
to
({
scaleX
:
1
,
scaleY
:
1
},
300
,
egret
.
Ease
.
getBackOut
(
6
)).
wait
(
500
)
//
egret.Tween.get(txt).to({ scaleX: 1, scaleY: 1 }, 300, egret.Ease.getBackOut(6)).wait(500)
.
to
({
y
:
txt
.
y
-
100
,
alpha
:
0
},
700
).
call
(()
=>
{
//
.to({ y: txt.y - 100, alpha: 0 }, 700).call(() => {
})
//
})
}
//
}
const
createText
=
(
score
:
number
)
=>
{
const
createText
=
(
score
:
number
)
=>
{
const
txt
=
new
egret
.
TextField
();
const
txt
=
new
egret
.
TextField
();
...
...
egret/src/startScene/updateLVProgress.ts
View file @
ded5259a
import
{
MAX_LEVELS
}
from
"./levels"
;
export
default
(
that
,
lv
)
=>
{
export
default
(
that
,
lv
)
=>
{
that
.
progress1
.
visible
=
false
;
that
.
progress1
.
visible
=
false
;
that
.
progress2
.
visible
=
false
;
that
.
progress2
.
visible
=
false
;
that
.
progress3
.
visible
=
false
;
that
.
progress3
.
visible
=
false
;
that
.
progress4
.
visible
=
false
;
that
.
progress4
.
visible
=
false
;
if
(
lv
==
MAX_LEVELS
){
that
.
progress3
.
visible
=
true
;
}
else
that
[
`progress
${
lv
}
`
].
visible
=
true
;
that
[
`progress
${
lv
}
`
].
visible
=
true
;
}
}
\ No newline at end of file
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