Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
pygame_lesson8_diy3
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
f3633ec6
authored
2 years ago
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
4c741c7c
c207009l1412p256a14377/wx346230
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
18 deletions
my_game.py
my_game.py
View file @
f3633ec6
...
...
@@ -3,14 +3,18 @@ from pygame import locals
import
random
pygame
.
init
()
# 初始化
class
Block
(
pygame
.
sprite
.
Sprite
):
def
__init__
(
self
,
image1
,
image2
,
image3
):
super
()
.
__init__
()
# 加载障碍物的图片
self
.
image
=
random
.
choice
([
image1
,
image2
,
image3
])
# 根据障碍物位图的宽高设置矩形
self
.
rect
=
self
.
image
.
get_rect
()
# 障碍物绘制坐标
self
.
rect
.
x
=
1000
self
.
rect
.
y
=
500
-
self
.
rect
.
height
# 创建一个窗口
screen
=
pygame
.
display
.
set_mode
((
1000
,
600
))
FPS
=
pygame
.
time
.
Clock
()
# pygame时钟,控制游戏速度(帧数)
...
...
@@ -30,16 +34,12 @@ index = 0
y
=
400
jumpState
=
"runing"
t
=
30
# +++++++++++++++++++++++
bg_x
=
0
road_x
=
0
# +++++++++++++++++++++++
obstacle
=
random
.
choice
([
bush
,
stone
,
cacti
])
rect
=
obstacle
.
get_rect
()
rect
.
x
=
1000
rect
.
y
=
500
-
rect
.
height
time
=
0
block_list
=
pygame
.
sprite
.
Group
()
while
True
:
for
event
in
pygame
.
event
.
get
():
if
event
.
type
==
locals
.
QUIT
:
...
...
@@ -71,7 +71,6 @@ while True:
if
index
>=
5
:
index
=
0
# 将背景图画上去
bg_x
-=
1
if
bg_x
<=-
1000
:
bg_x
=
0
...
...
@@ -81,13 +80,18 @@ while True:
road_x
=
0
screen
.
blit
(
road
,
(
road_x
,
500
))
screen
.
blit
(
wukong
,
(
150
,
y
))
# 悟空
# +++++++++++++++++++++++++
if
obstacle
.
rect
.
x
<=
0
-
obstacle
.
rect
.
width
:
obstacle
=
Block
(
bush
,
cacti
,
stone
)
obstacle
.
rect
.
x
-=
8
# 障碍物消失
# +++++++++++++++++++++++++
screen
.
blit
(
sprite
.
image
,
(
sprite
.
rect
.
x
,
sprite
.
rect
.
y
))
# 创建障碍物对象
time
+=
1
if
time
>=
60
:
r
=
random
.
randint
(
0
,
100
)
if
r
>
40
:
obstacle
=
Block
(
bush
,
cacti
,
stone
)
block_list
.
add
(
obstacle
)
time
=
0
for
prop
in
block_list
:
prop
.
rect
.
x
-=
8
screen
.
blit
(
prop
.
image
,(
prop
.
rect
.
x
,
prop
.
rect
.
y
))
if
prop
.
rect
.
x
<=
0
-
prop
.
rect
.
width
:
prop
.
kill
()
# 刷新画面
pygame
.
display
.
update
()
FPS
.
tick
(
30
)
\ No newline at end of file
FPS
.
tick
(
60
)
\ No newline at end of file
This diff is collapsed.
Click to expand it.
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