pygame游戏之旅 如何制作游戏障碍


Posted in Python onNovember 20, 2018

本文为大家分享了pygame游戏之旅的第6篇,供大家参考,具体内容如下

定义一个障碍模型函数:

def things(thingx, thingy, thingw, thingh, color):
 pygame.draw.rect(gameDisplay, color, [thingx, thingy, thingw, thingh])

在游戏循环中调用:

things(thing_startx, thing_starty, thing_width, thing_height, black)
thing_starty += thing_speed

障碍消失之后修改x值:

if thing_starty > display_height:
 thing_starty = 0 - thing_height
 thing_startx = random.randrange(0, display_width)

全部代码:

import pygame
import time
import random
 
pygame.init()
 
white = (255,255,255)
black = (0,0,0)
gray = (128,128,128)
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
 
car_width = 100
 
display_width = 800
display_height = 600
 
 
gameDisplay = pygame.display.set_mode( (display_width,display_height) )
pygame.display.set_caption('A bit Racey')
clock = pygame.time.Clock()
 
carImg = pygame.image.load('car.png')
 
def things(thingx, thingy, thingw, thingh, color):
 pygame.draw.rect(gameDisplay, color, [thingx, thingy, thingw, thingh])
 
 
 
def car(x, y):
 gameDisplay.blit(carImg, (x,y))
 
 
def text_objects(text, font):
 textSurface = font.render(text, True, white)
 return textSurface, textSurface.get_rect()
 
def message_diaplay(text):
 largeText = pygame.font.Font('freesansbold.ttf',115)
 TextSurf, TextRect = text_objects(text, largeText)
 TextRect.center = ((display_width/2),(display_height/2))
 gameDisplay.blit(TextSurf, TextRect)
 pygame.display.update()
 time.sleep(2)
 game_loop()
 
def crash():
 message_diaplay('You Crashed')
 
 
def game_loop():
 x = display_width * 0.45
 y = display_height * 0.8
 x_change = 0
 
 gameExit = False
 
 thing_startx = random.randrange(0, display_width)
 thing_starty = -600
 thing_speed = 7
 thing_width = 100
 thing_height = 100
 
 while not gameExit:
 for event in pygame.event.get():
  if event.type == pygame.QUIT:
  gameExit = True
  if event.type == pygame.KEYDOWN:
  if event.key == pygame.K_LEFT:
   x_change = -5
  elif event.key == pygame.K_RIGHT:
   x_change = 5
  if event.type == pygame.KEYUP:
  if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
   x_change = 0
  print(event)
 x += x_change
 gameDisplay.fill(white)
 
 things(thing_startx, thing_starty, thing_width, thing_height, black)
 thing_starty += thing_speed
 
 car(x,y)
 if x > display_width - car_width or x < 0:
  gameExit = True
 if thing_starty > display_height:
  thing_starty = 0 - thing_height
  thing_startx = random.randrange(0, display_width)
 pygame.display.update()
 clock.tick(60)
crash()
#game_loop()
pygame.quit()
quit()

结果图:

pygame游戏之旅 如何制作游戏障碍pygame游戏之旅 如何制作游戏障碍pygame游戏之旅 如何制作游戏障碍

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python3实现发送QQ邮件功能(html)
Dec 15 Python
python 数字类型和字符串类型的相互转换实例
Jul 17 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
Nov 30 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
python登录WeChat 实现自动回复实例详解
May 28 Python
python 自动轨迹绘制的实例代码
Jul 05 Python
修改Pandas的行或列的名字(重命名)
Dec 18 Python
使用Python实现牛顿法求极值
Feb 10 Python
Django import export实现数据库导入导出方式
Apr 03 Python
浅谈PyTorch中in-place operation的含义
Jun 27 Python
Python类class参数self原理解析
Nov 19 Python
用Python编写一个简单的CS架构后门的方法
Nov 20 #Python
python pygame实现2048游戏
Nov 20 #Python
python pygame模块编写飞机大战
Nov 20 #Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 #Python
python版飞机大战代码分享
Nov 20 #Python
pygame实现雷电游戏雏形开发
Nov 20 #Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 #Python
You might like
利用 window_onload 实现select默认选择
2006/10/09 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
php判断类是否存在函数class_exists用法分析
2014/11/14 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
从阶乘函数对比Javascript和C#的异同
2012/05/31 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
python 读取数据库并绘图的实例
2019/12/03 Python
python十进制转二进制的详解
2020/02/07 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
客户经理岗位职责
2013/12/08 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
质量保证书范本
2014/04/29 职场文书
林肯就职演讲稿
2014/05/19 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
Python 图片添加美颜效果
2022/04/28 Python