少儿编程分享:手把手教你用Python编写March大逃亡(三)

少儿编程分享:手把手教你用Python编写March大逃亡(三)
少儿编程分享:手把手教你用Python编写March大逃亡(三)

游戏分享:手把手教你用Python编写

March大逃亡(三)

2018.1.2

这次的对象创建更细致了

要理解创建精灵组的意义

主程序对象创建

92#主程序对象部分

93pygame.init()

94audio_init()

95screen=pygame.display.set_mode((800,600),0,32)

96pygame.display.set_caption("March大逃亡")

97font=pygame.font.Font(None,40)

98font1=pygame.font.Font(None,40)

99framerate=pygame.time.Clock()

100upImageFilename='game_start_up.png'

101downImageFilename='game_start_down.png'

102#创建按钮对象

103button=Button(upImageFilename,downImageFilename,(400,500)) 104interface=pygame.image.load("interface.png")

105

106#创建地图对象

107bg1=MyMap(0,0)

108bg2=MyMap(300,0)

109#创建一个精灵组

110group=pygame.sprite.Group()

111group_exp=pygame.sprite.Group()

112group_glasses=pygame.sprite.Group()

113#创建怪物精灵

114monster=MySprite()

115monster.load("marchboss.png",175,280,5)

116monster.position=100,90

117group.add(monster)

118

119#创建爆炸动画

120explosion=MySprite()

121explosion.load("explosion.png",128,128,6)

122#创建玩家精灵

123player=MySprite()

124player.load("march.png",80,100,5)

125player.position=400,270

126group.add(player)

127

128#创建导弹精灵

129arrow=MySprite()

130arrow.load("flame.png",40,16,3)

131arrow.position=800,320

132group.add(arrow)

在这里我依次创建

1)画板

2)标题名

3)两种字号

4)帧数

5)开始游戏图片

6)按钮对象

7)读取界面图

8)两张地图

9)精灵组

而在怪物精灵、导弹精灵、玩家精灵以及爆炸动画的创建中,我们使用MyLibrary 中的load读取了相对应的图片,以("march.png",80,100,5)为例子,python 将以宽80,长100的尺寸,将图片分为5列,依次读取图片中的图像,以形成动态的效果,最后加入精灵组。

定义变量

133#定义一些变量

134arrow_vel=15.0

135game_over=False

136you_win=False

137player_jumping=False

138jump_vel=0.0

139player_start_y=player.Y

140player_hit=False

141monster_hit=False

142p_first=True

143m_first=True

144best_score=0

145global bg_sound,hit_sound,btn_sound,bullent_sound

146bg_sound=Music(bg_au)

147hit_sound=Music(hit_au)

148btn_sound=Music(btn_au)

149bullent_sound=Music(bullent_au)

150game_round={1:'ROUND ONE',2:'ROUND TWO',3:'ROUND

THREE',4:'ROUND FOUR',5:'ROUND FIVE'}

151game_pause=True

152index=0

153current_time=0

154start_time=0

155music_time=0

156score=0

157replay_flag=True

在这里我们创建了一系列游戏状态变量,这些变量都将在之后的主程序循环中使用到。

(未完待续)

相关主题
相关文档
最新文档