Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
LuzhouLaojiaoSnake_250428
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
SparkProjects
LuzhouLaojiaoSnake_250428
Commits
0d9329ea
Commit
0d9329ea
authored
May 08, 2025
by
haiyoucuv
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
倒计时
parent
ed94117f
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
96 additions
and
1 deletion
+96
-1
bg.png
src/assets/BackPanel/bg.png
+0
-0
确认.png
src/assets/BackPanel/确认.png
+0
-0
继续游戏.png
src/assets/BackPanel/继续游戏.png
+0
-0
GamePage.tsx
src/pages/GamePage/GamePage.tsx
+18
-1
BackPanel.less
src/panels/BackPanel/BackPanel.less
+37
-0
BackPanel.tsx
src/panels/BackPanel/BackPanel.tsx
+41
-0
No files found.
src/assets/BackPanel/bg.png
0 → 100644
View file @
0d9329ea
120 KB
src/assets/BackPanel/确认.png
0 → 100644
View file @
0d9329ea
9.88 KB
src/assets/BackPanel/继续游戏.png
0 → 100644
View file @
0d9329ea
6.71 KB
src/pages/GamePage/GamePage.tsx
View file @
0d9329ea
...
@@ -17,6 +17,8 @@ import { Stats } from 'pixi-stats';
...
@@ -17,6 +17,8 @@ import { Stats } from 'pixi-stats';
import
{
System
}
from
'detect-collisions'
;
import
{
System
}
from
'detect-collisions'
;
import
gameStore
from
"@/store/gameStore.ts"
;
import
gameStore
from
"@/store/gameStore.ts"
;
import
{
prefixInteger
}
from
"@/utils/utils.ts"
;
import
{
prefixInteger
}
from
"@/utils/utils.ts"
;
import
{
ModalCtrl
}
from
"@/core/ctrls/ModalCtrl.tsx"
;
import
BackPanel
from
"@/panels/BackPanel/BackPanel.tsx"
;
export
const
collisionSys
:
System
=
new
System
();
export
const
collisionSys
:
System
=
new
System
();
const
DEBUG
=
true
;
const
DEBUG
=
true
;
...
@@ -46,6 +48,8 @@ class GamePage extends React.Component {
...
@@ -46,6 +48,8 @@ class GamePage extends React.Component {
game
:
Game
=
null
;
game
:
Game
=
null
;
interval
:
any
=
0
;
interval
:
any
=
0
;
paused
:
boolean
=
false
;
async
componentDidMount
()
{
async
componentDidMount
()
{
gameStore
.
reset
();
gameStore
.
reset
();
...
@@ -67,6 +71,8 @@ class GamePage extends React.Component {
...
@@ -67,6 +71,8 @@ class GamePage extends React.Component {
startCd
=
()
=>
{
startCd
=
()
=>
{
this
.
interval
=
setInterval
(()
=>
{
this
.
interval
=
setInterval
(()
=>
{
if
(
this
.
paused
)
return
;
gameStore
.
gameInfo
.
cd
-=
1
;
gameStore
.
gameInfo
.
cd
-=
1
;
if
(
gameStore
.
gameInfo
.
cd
<=
0
)
{
if
(
gameStore
.
gameInfo
.
cd
<=
0
)
{
clearInterval
(
this
.
interval
);
clearInterval
(
this
.
interval
);
...
@@ -125,6 +131,7 @@ class GamePage extends React.Component {
...
@@ -125,6 +131,7 @@ class GamePage extends React.Component {
onUpdate
=
(
time
:
Ticker
)
=>
{
onUpdate
=
(
time
:
Ticker
)
=>
{
if
(
this
.
gameOver
)
return
;
if
(
this
.
gameOver
)
return
;
if
(
this
.
paused
)
return
;
Tween
.
flush
();
Tween
.
flush
();
this
.
game
.
onUpdate
(
time
);
this
.
game
.
onUpdate
(
time
);
...
@@ -145,7 +152,17 @@ class GamePage extends React.Component {
...
@@ -145,7 +152,17 @@ class GamePage extends React.Component {
* 点击返回
* 点击返回
*/
*/
clickBack
=
()
=>
{
clickBack
=
()
=>
{
PageCtrl
.
backPage
();
this
.
gameOver
=
true
;
ModalCtrl
.
showModal
(
BackPanel
,
{
cancel
:
()
=>
{
this
.
gameOver
=
false
;
},
ok
:
()
=>
{
this
.
gameOver
=
false
;
clearInterval
(
this
.
interval
);
PageCtrl
.
backPage
();
},
});
}
}
render
()
{
render
()
{
...
...
src/panels/BackPanel/BackPanel.less
0 → 100644
View file @
0d9329ea
@import "../../res.less";
.BackPanel {
width: 750px;
height: 1624px;
position: absolute;
left: 0;
top: 0;
.bg {
position: absolute;
left: 105px;
top: 448px;
width: 539px;
height: 533px;
.webpBg("BackPanel/bg.png");
}
.ok {
position: absolute;
left: 413px;
top: 847px;
width: 199px;
height: 90px;
.webpBg("BackPanel/确认.png");
}
.cancel {
position: absolute;
left: 140px;
top: 855px;
width: 242px;
height: 74px;
.webpBg("BackPanel/继续游戏.png");
}
}
src/panels/BackPanel/BackPanel.tsx
0 → 100644
View file @
0d9329ea
import
React
from
"react"
;
import
{
observer
}
from
"mobx-react"
;
import
"./BackPanel.less"
;
import
{
Button
}
from
"@grace/ui"
;
import
{
_asyncThrottle
}
from
"@/utils/utils.ts"
;
import
{
ModalCtrl
}
from
"@/core/ctrls/ModalCtrl.tsx"
;
export
interface
IFailPanelProps
{
ok
:
()
=>
void
,
cancel
:
()
=>
void
,
}
@
observer
class
BackPanel
extends
React
.
Component
<
IFailPanelProps
>
{
componentDidMount
()
{
}
clickCancel
=
()
=>
{
const
{
cancel
}
=
this
.
props
;
ModalCtrl
.
closeModal
();
cancel
&&
cancel
();
};
clickOk
=
_asyncThrottle
(
async
()
=>
{
const
{
ok
}
=
this
.
props
;
ModalCtrl
.
closeModal
();
ok
&&
ok
();
// PageCtrl.changePage(HomePage);
});
render
()
{
return
<
div
className=
"BackPanel"
>
<
div
className=
"bg"
/>
<
Button
className=
"ok"
onClick=
{
this
.
clickOk
}
/>
<
Button
className=
"cancel"
onClick=
{
this
.
clickCancel
}
/>
</
div
>;
}
}
export
default
BackPanel
;
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