python实战游戏开发——开始游戏项目
来源:互联网 发布:淘宝网下载到桌面 编辑:程序博客网 时间:2024/06/05 17:35
1、创建pygame窗口以及响应用户输入
# -*- coding: utf-8 -*-
import sys
import pygame
def run_game():
#初始化游戏并创建一个屏幕对象
pygame.init()
screen=pygame.display.set_mode((1200,800))
pygame.display.set_caption("Alien Invasion")
#开始游戏主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
1)pygame.init()初始化背景设置,让pygame能正常工作。
2)调用pygame.display.set_mode()来创建一个名为screen的显示窗口,实参(1200,800)是一个元组,指定了游戏窗口的尺寸,创建一个宽1200像素、高800像素的游戏窗口。
3)对象screen时一个surface。在pygame中,surface是屏幕的一部分,用于显示游戏元素。在这个游戏中,每个元素都是一个surface。display.set_mode()返回的surface表示整个游戏窗口。我们激活游戏的动画循环后,每经过一次循环都自动重绘这个surface。
4)使用方法pygame.event.get()访问pygame检测到的事件。所有键盘和鼠标事件都将促使for循环执行。在这个循环中,编写一系列的if语句来检测并响应特定的事件。
例如,玩家单击游戏窗口的关闭按钮时,将检测到pygame.QUIT事件,调用sys.exit()来退出游戏。
5)方法pygame.display.filp()命令pygame让最近绘制的屏幕可见。
在这里,每次执行while循环时都绘制一个空屏幕,并擦去旧屏幕,使得只有新屏幕可见。在我们移动游戏元素时,pygame.display.filp()将不断不断更新屏幕,以显示元素的新位置,并在原来的位置隐藏元素,从而营造平滑移动的效果。
2、设置背景色
# -*- coding: utf-8 -*-
import sys
import pygame
def run_game():
#初始化游戏并创建一个屏幕对象
pygame.init()
screen=pygame.display.set_mode((1200,800))
pygame.display.set_caption("Alien Invasion")
#设置游戏背景色
bg_color=(230,230,230)
#开始游戏主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
#每次循环时都会重绘屏幕
screen.fill(bg_color)
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
1)颜色由红色、绿色和蓝色值组成,其中每个值得可能取值范围都为0~255.颜色值(255,0,0)表示红色,(0,255,0)表示绿色,而(0,0,255)表示蓝色。当红蓝绿色量相同时为浅灰色。
2)方法screen.fill()用背景色填充屏幕;这种方法只接受实参:一种颜色。
3、创建设置类
#settings.py
class Settings():
def __init__(self):
#屏幕设置
self.screen_width=1200
self.screen_height=800
self.bg_color=(230,230,230)
#alien_invasion.py
# -*- coding: utf-8 -*-
import sys
from settings import Settings
import pygame
def run_game():
#初始化游戏并创建一个屏幕对象
pygame.init()
ai_settings=Settings()
screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion")
#设置游戏背景色
bg_color=(230,230,230)
#开始游戏主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
#每次循环时都会重绘屏幕
screen.fill(ai_settings.bg_color)
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
- python实战游戏开发——开始游戏项目
- python实战游戏开发——射击
- 使用 Python 开始游戏开发
- android游戏开发项目实战——数独
- android游戏开发项目实战——数独 .
- python实战游戏开发——安装pygame
- python实战游戏开发——添加飞船图像
- python实战游戏开发——重构:模块game_functions
- python实战游戏开发——驾驶飞船
- python实战游戏开发——创建一群外星人
- 青少年如何使用 Python 开始游戏开发
- 青少年如何使用 Python 开始游戏开发
- 青少年如何使用 Python 开始游戏开发
- Android项目开发实战-2048游戏
- Cocos2d-x游戏实战项目开发:猜数字游戏
- 开始游戏项目。。。
- 《大富翁手机游戏开发实战》 开始发售,目录如下
- Coding4Fun:开始游戏开发
- 系统32位指针变量为4字节系统16位指针变量2个字节
- java中的默认初始化--类和局部变量区别
- 77313758
- HDU 5965 扫雷(dp/状态压缩dp)
- Hibernate的面试题
- python实战游戏开发——开始游戏项目
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- spring boot学习二:Spring Boot自动装配分析与实战
- 异常
- 前端之路——第六篇:加固css运用
- 编译OpenCV python 版本中遇到的问题
- (M)Dynamic Programming:96. Unique Binary Search Trees
- PAT 甲级 1086. Tree Traversals Again (25)
- JS——正则详解