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 ...
随机推荐
- 高通msm8994启动流程简介
处理器信息 8994包含如下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(Hexa ...
- java的hashmap与hashtable说明,简单易理解
1. HashMap 1) hashmap的数据结构 Hashmap是一个数组和链表的结合体(在数据结构称"链表散列"),如下图示: 当我们往hashmap中put元素的时候,先根 ...
- 小强的HTML5移动开发之路(2)——HTML5的新特性
来自:http://blog.csdn.net/dawanganban/article/details/17592787 一.画布(Canvas) 画布是网页中的一块区域,可所以用JavaScript ...
- Leetcode_96_Unique Binary Search Trees
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43198929 Given n, how many stru ...
- 禁用JavaScript控制台调试
原文链接: Disable the User's JavaScript Console 原文日期: 2014年03月06日 翻译日期: 2014年03月07日 翻译人员: 铁锚 有几个巨头公司,即Fa ...
- IP协议详解(转)
本文转载自博文协议森林05 我尽力 (IP协议详解).这篇博文写的很有趣味,特转载! IPv4与IPv6头部的对比 我们已经在IP接力中介绍过,一个IP包分为头部(header)和数据(payload ...
- LeetCode之“链表”:Linked List Cycle && Linked List Cycle II
1.Linked List Cycle 题目链接 题目要求: Given a linked list, determine if it has a cycle in it. Follow up: Ca ...
- 【Matlab编程】Matlab高效编程技巧
1.默认状态下,matlab显示精度是short型,而默认的计算精度是double型,并且显示精度与计算精度没有关系. 2. 一只失明的猫的问题:注意方法! 3.给数组预分配空间是基本的高效编程准则之 ...
- objective-c中@autoreleasepool的用法
objc中关于自动释放池,有两种语法,一种old-fashioned是: NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; //d ...
- ZeroMQ 教程 001 : 基本概览
介绍性的话我这里就不翻译了, 总结起来就是zmq很cool, 你应该尝试一下. 如何安装与使用zmq 在Linux和Mac OS上, 请通过随机附带的包管理软件, 或者home brew安装zmq. ...