Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
game2048
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
熊东起
game2048
Commits
19aa4721
Commit
19aa4721
authored
Apr 26, 2020
by
wjf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
l
parent
b5f88d29
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
55 additions
and
37 deletions
+55
-37
RES.ts
module/RES.ts
+15
-8
panelCtrl.ts
module/ctrls/panelCtrl.ts
+9
-9
toastCtrl.ts
module/ctrls/toastCtrl.ts
+12
-5
waitingCtrl.ts
module/ctrls/waitingCtrl.ts
+17
-13
Module.ts
module/views/Module.ts
+2
-2
No files found.
module/RES.ts
View file @
19aa4721
...
...
@@ -134,11 +134,15 @@ export namespace RES {
}
// 建一个promise
let
p
=
new
Promise
((
resolve
,
reject
)
=>
{
loadResList
(()
=>
{
groupsCompleteHash
[
name
]
=
true
;
loadResList
((
allLoaded
:
boolean
)
=>
{
//移除
delete
groupsPromiseHash
[
name
];
resolve
()
if
(
allLoaded
)
{
groupsCompleteHash
[
name
]
=
true
;
//都加载完成就标记
resolve
()
}
else
{
reject
();
}
},
arr
/*, resPath + name*/
)
})
groupsPromiseHash
[
name
]
=
p
;
...
...
@@ -421,14 +425,17 @@ export namespace RES {
* @param callback
* @param arr
*/
function
loadResList
(
callback
:
Function
,
arr
:
string
[])
{
function
loadResList
(
callback
:
(
allLoaded
:
boolean
)
=>
void
,
arr
:
string
[])
{
let
count
=
0
;
let
countAll
=
arr
.
length
;
if
(
!
countAll
)
callback
();
if
(
!
countAll
)
callback
(
true
);
let
mark
=
true
for
(
var
i
=
0
;
i
<
countAll
;
i
++
)
{
let
res
=
arr
[
i
];
getResAsync
(
res
,
()
=>
{
if
(
++
count
==
countAll
)
callback
();
let
resName
=
arr
[
i
];
getResAsync
(
resName
,
(
res
)
=>
{
//标记失败,如果有一项资源加载失败,标记下
if
(
!
res
)
mark
=
false
if
(
++
count
==
countAll
)
callback
(
mark
);
},
this
)
}
}
...
...
module/ctrls/panelCtrl.ts
View file @
19aa4721
...
...
@@ -29,15 +29,15 @@ export default class PanelCtrl {
init
(
parent
:
Container
)
{
this
.
_parent
=
parent
;
let
bg
=
new
Graphics
()
;
bg
.
beginFill
(
0
,
1
);
bg
.
drawRect
(
layers
.
stageOffsetX
-
parent
.
x
,
layers
.
stageOffsetY
-
parent
.
y
,
layers
.
stageWidth
,
layers
.
stageHeight
);
bg
.
endFill
();
let
bg
=
new
Graphics
()
.
beginFill
(
0
,
1
)
.
drawRect
(
layers
.
stageOffsetX
-
parent
.
x
,
layers
.
stageOffsetY
-
parent
.
y
,
layers
.
stageWidth
,
layers
.
stageHeight
)
.
endFill
();
bg
.
visible
=
false
;
this
.
_parent
.
addChild
(
bg
);
this
.
_bg
=
bg
;
...
...
module/ctrls/toastCtrl.ts
View file @
19aa4721
...
...
@@ -10,13 +10,20 @@ import { RES } from "../RES";
let
inited
=
false
;
let
_toast
:
Toast
;
let
_parent
:
Container
let
_parent
:
Container
;
let
startY
:
number
//动画开始位置
let
endY
:
number
//动画结束位置
const
initToast
=
()
=>
{
if
(
!
inited
)
{
inited
=
true
;
_toast
=
new
Toast
();
_parent
=
layers
.
toastLayer
;
_toast
.
alpha
=
0
;
_toast
.
x
=
layers
.
stageOffsetX
-
_parent
.
x
+
(
layers
.
stageWidth
-
_toast
.
width
)
/
2
;
var
h
=
_toast
.
height
;
var
y
=
layers
.
stageOffsetY
-
_parent
.
y
;
startY
=
y
-
h
;
endY
=
y
+
(
layers
.
stageHeight
-
h
)
/
2
;
}
}
export
const
showToast
=
(
msg
:
string
)
=>
{
...
...
@@ -25,8 +32,8 @@ export const showToast = (msg: string) => {
_parent
.
addChild
(
_toast
);
Tween
.
removeTweens
(
_toast
);
Tween
.
get
(
_toast
)
//动画看需求
.
set
({
y
:
-
200
,
alpha
:
1
})
.
to
({
y
:
400
},
500
,
Ease
.
quartOut
)
.
set
({
y
:
startY
,
alpha
:
1
})
.
to
({
y
:
endY
},
500
,
Ease
.
quartOut
)
.
wait
(
800
)
.
to
({
alpha
:
0
},
300
)
.
call
(()
=>
{
...
...
@@ -58,7 +65,7 @@ class Toast extends Container {
this
.
mouseEnable
=
false
;
var
toastBgTexture
:
Texture
=
RES
.
getRes
(
"toastBg.png"
);
this
.
bg
=
new
Sprite
(
toastBgTexture
);
this
.
bg
.
x
=
(
layers
.
stageWidth
-
this
.
bg
.
width
)
/
2
//
this.bg.x = (layers.stageWidth - this.bg.width) / 2
this
.
addChild
(
this
.
bg
);
this
.
msg
=
new
TextField
();
this
.
msg
.
size
=
28
;
...
...
@@ -76,7 +83,7 @@ class Toast extends Container {
show
(
msg
:
string
)
{
this
.
msg
.
text
=
msg
;
//文本居中适配
this
.
msg
.
x
=
(
layers
.
stageWidth
-
this
.
msg
.
textWidth
)
/
2
;
this
.
msg
.
x
=
(
this
.
bg
.
width
-
this
.
msg
.
textWidth
)
/
2
//(
layers.stageWidth - this.msg.textWidth) / 2;
//是否需要根据文本宽度缩放背景
// this.bg.width = Math.min(this.msg.textWidth + this.PADDING * 2, 523);
//背景居中适配,由于上面一行注释,那这行就构造函数里只执行一次吧
...
...
module/ctrls/waitingCtrl.ts
View file @
19aa4721
...
...
@@ -18,6 +18,19 @@ const initWaiting = () => {
const
waiting
=
new
Waiting
();
_parent
=
layers
.
topLayer
;
_waiting
=
waiting
;
//居中偏移
var
offX
=
(
layers
.
stageWidth
-
_waiting
.
width
)
/
2
;
var
offY
=
(
layers
.
stageHeight
-
_waiting
.
height
)
/
2
;
//位置适配
_waiting
.
x
=
layers
.
stageOffsetX
-
_parent
.
x
+
offX
;
_waiting
.
y
=
layers
.
stageOffsetY
-
_parent
.
y
+
offY
;
//阻止事件用
var
bg
:
Graphics
=
new
Graphics
()
.
beginFill
(
0x000000
)
.
drawRect
(
-
offX
,
-
offY
,
layers
.
stageWidth
,
layers
.
stageHeight
)
.
endFill
();
bg
.
alpha
=
0
;
_waiting
.
addChildAt
(
bg
,
0
);
}
}
/**
...
...
@@ -53,22 +66,14 @@ class Waiting extends Container {
msg
:
TextField
;
constructor
()
{
super
();
//阻止事件用
var
bg
:
Graphics
=
new
Graphics
();
bg
.
beginFill
(
0x000000
,
0
);
bg
.
drawRect
(
0
,
0
,
750
,
1624
);
bg
.
endFill
();
this
.
addChild
(
bg
);
//圆角矩形背景
var
rectBgTexture
:
Texture
=
RES
.
getRes
(
"waitingBg.png"
)
var
rectBg
=
new
Sprite
(
rectBgTexture
);
rectBg
.
x
=
(
layers
.
stageWidth
-
rectBgTexture
.
width
)
/
2
;
rectBg
.
y
=
486
;
//高度看需求,到时可以居中
this
.
addChild
(
rectBg
);
var
rotTexture
:
Texture
=
RES
.
getRes
(
"waitingRot.png"
)
let
rot
=
new
Sprite
(
rotTexture
);
rot
.
x
=
(
layers
.
stageWidth
-
rotTexture
.
width
)
/
2
;
rot
.
y
=
533
;
rot
.
x
=
(
rectBgTexture
.
width
-
rotTexture
.
width
)
/
2
rot
.
y
=
47
//
533;
rot
.
anchorX
=
rotTexture
.
width
/
2
;
rot
.
anchorY
=
rotTexture
.
height
/
2
;
this
.
addChild
(
rot
);
...
...
@@ -78,9 +83,8 @@ class Waiting extends Container {
if
(
count
%
30
==
0
)
rot
.
rotation
+=
45
;
},
this
)
this
.
msg
=
new
TextField
();
this
.
msg
.
x
=
295
;
this
.
msg
.
y
=
611
;
this
.
msg
.
textWidth
=
160
this
.
msg
.
y
=
125
;
this
.
msg
.
textWidth
=
rectBgTexture
.
width
;
this
.
msg
.
textAlign
=
TEXT_ALIGN
.
CENTER
;
this
.
msg
.
size
=
26
this
.
msg
.
fillColor
=
"#ffffff"
;
...
...
module/views/Module.ts
View file @
19aa4721
...
...
@@ -30,13 +30,13 @@ export class Module extends Container {
* 提前加载的资源
*/
protected
preLoadRes
()
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
this
.
groupNames
&&
this
.
groupNames
.
length
)
{
var
arr
:
Promise
<
any
>
[]
=
[];
for
(
var
i
=
0
;
i
<
this
.
groupNames
.
length
;
i
++
)
{
arr
.
push
(
RES
.
loadGroup
(
this
.
groupNames
[
i
]))
}
Promise
.
all
(
arr
).
then
(
()
=>
{
resolve
()
}
)
Promise
.
all
(
arr
).
then
(
resolve
,
reject
)
}
else
{
resolve
()
}
...
...
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