Pygame常用方法
'''
import pygame # 初始化pygame库,让计算机硬件准备
pygame.init() # ----------窗口相关操作-----------
# 创建窗口
window = pygame.display.set_mode([窗口宽,窗口高]) # 设置窗口标题
pygame.display.set_caption("窗口标题") # 加载资源图片,返回图片对象
image = pygame.image.load("res/game.ico")
# 设置窗口图标
pygame.display.set_icon(image) # 指定坐标,将图片绘制到窗口
window.blit(image, (0, 0)) # ----------图像相关操作-----------
# 加载图片文件,返回图片对象
image = pygame.image.load("图片路径") # 获得图片矩形对象 -> Rect(x, y, width, height)
# 默认情况下左上角的坐标是 (0, 0)
rect = image.get_rect(centerx=x, centery=y) # 在原位置基础上,移动指定的偏移量 (x, y 增加)
rect.move_ip(num1, num2) # 判断两个矩形是否相交,相交返回True,否则返回False
flag = pygame.Rect.colliderect(rect1, rect2) # 将图片对象按指定宽高缩放,返回新的图片对象
trans_image = pygame.transform.scale(image, (WINDOWWIDTH, WINDOWHEIGHT)) # ----------事件相关操作-----------
# 常见事件类型:
# QUIT 关闭窗口
# KEYDOWN 键盘按键
# 获得当前所有持续按键 bools_tuple # 获得所有事件的列表
event_list = pygame.event.get() for event in event_list:
# 1. 鼠标点击关闭窗口事件
if event.type == pygame.QUIT:
print("关闭了窗口")
sys.exit() # 2. 键盘按下事件
if event.type == pygame.KEYDOWN: # 判断用户按下的键是否是a键
if event.key == pygame.K_a:
print("按了 a ") if event.key == pygame.k_UP:
print("按了 方向键上") # 3. 获得当前键盘所有按键的状态(按下,没有按下),返回bool元组
pressed_keys = pygame.key.get_pressed()
(0, 0, 0, 0, 1, 0, 0, 0, 0) if pressed_keys[pygame.K_w] or pressed_keys[pygame.K_UP]:
print("按了 w 键,或者 方向键上") # ----------音效相关操作-----------
# 加载背景音乐
pygame.mixer.music.load("./res/bg2.ogg")
# 循环播放背景音乐
pygame.mixer.music.play(-1)
# 停止背景音乐
pygame.mixer.music.stop() # 加载音效
boom_sound = pygame.mixer.Sound("./res/baozha.ogg")
# 播放音效
boom_sound.play() boom_sound.stop() 三基色:Red Green Blue 0 ~ 255 # -------- 文字显示操作 # 设置字体和大小
font = pygame.font.SysFont('SimHei', 42) # render(text(文本内容), antialias(抗锯齿), color(RGB)),返回文字对象
textobj = font.render("飞机大战", 1, (255, 255, 255)) # 设置文字矩形对象位置
textrect = textobj.get_rect(centerx=300, centery=300) # 在指定位置绘制指定文字对象
window.blit(textobj, textrect)
'''
Pygame常用方法的更多相关文章
- pygame编组(精灵组)Group中的常用方法介绍
说明: 1.以下所用的Group均为Group类的对象实例 2.Group类是对AbstractGroup类的继承 sprite.py文档中描述如下: class Group(AbstractGrou ...
- Python游戏编程(Pygame)
安装Pygame pip install pygame C:\Users> pip install pygame Collecting pygame Downloading https://fi ...
- pygame征途:(一)图片移动反弹
题目大意: 就是弄一张图片在背景画布上移动,然后碰到边界就图片翻转并且反向移动 基本思路: 需要pygame常用的一些常用的函数,然后基本就是在背景画布上blit一张图片,然后移动就是先全刷成背景画布 ...
- 前端开发:Javascript中的数组,常用方法解析
前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...
- Jquery元素选取、常用方法
一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...
- python浅谈正则的常用方法
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...
- C# Webbrowser 常用方法及多线程调用
设置控件的值 /// <summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNa ...
- list,tuple,dict,set常用方法
Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...
- 记录yii2-imagine几个常用方法
记录yii2-imagine几个常用方法: //压缩 Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)->save(Yii::g ...
随机推荐
- shell sed过滤器详解
1. Sed简介sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中 ...
- AngularJS进阶(三十五)浏览器兼容性解决之道
浏览器兼容性解决之道 前言 浏览器兼容性一直是前端开发中不得不面对的一个问题.而最突出的就是IE.对绝大多数公司来说,兼容IE6的性价比已经很低,而IE7则几乎已经绝迹.所以,常见的兼容性下限是IE8 ...
- STL(标准模板库)理论基础,容器,迭代器,算法
基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.现然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间. ...
- 对Linux0.11 中 进程0 和 进程1分析
1. 背景 进程的创建过程无疑是最重要的操作系统处理过程之一,很多书和教材上说的最多的还是一些原理的部分,忽略了很多细节.比如,子进程复制父进程所拥有的资源,或者子进程和父进程共享相同的物理页面,拥有 ...
- python-inotify 在linux上安装
python-inotify 在linux上安装 0 下载 $ wget --no-check-certificate https://pypi.python.org/packages/source/ ...
- 使用Ext JS,不要使用页面做组件重用,尽量不要做页面跳转
今天,有人请教我处理办法,问题是: 一个Grid,选择某条记录后,单击编辑后,弹出编辑窗口(带编辑表单),编辑完成后单击保存按钮保存表单,并关闭窗口,刷新Grid. 这,本来是很简单的,但囿于开发人员 ...
- linux文件查找及操作
在linux下查找文件的办法最常用的就是find指令,让我们来看一下find指令如何来使用吧: find find . -name txt //在当前目录查找名字为txt的文 ...
- HTML中的javascript交互
在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的javasc ...
- MFC中char*,string和CString之间的转换
MFC中char*,string和CString之间的转换 一. 将CString类转换成char*(LPSTR)类型 方法一,使用强制转换.例如: CString theString( &q ...
- Java I/O最简单的几个类
今天把I/O中最简单的几个类整理了一下,之所以整理最简单的,是因为这样会让我更加快速方便的理顺这里面的东西,以前每一次用的时候都要先百度一下,觉得很烦. 首先需要先看一下Read,Write和Stre ...