设为首页 收藏本站
查看: 994|回复: 0

[经验分享] 2015/11/1用Python写游戏,pygame入门(1):pygame的安装

[复制链接]

尚未签到

发表于 2015-12-1 12:30:44 | 显示全部楼层 |阅读模式
  这两天学习数据结构和算法,有时感觉并不如直接做项目来的有趣。刚刚学完python的基本使用,现在刚好趁热打铁做个小项目。
  由于本人一直很想制作一款游戏,就想使用Python制作一个基础的游戏。搜了一下资料,看到一个很便于使用的库,也就是pygame。
  
  pygame介绍
DSC0000.png
  pygame是一个建立在SDL(Simple DirectMedia Layer)上的Python模块,是一个跨平台模块。SDL是用C写的,也可以用C++开发,也有很多语言,pygame就是一个Python中使用的库。
  
  安装pygame
  从www.pygame.org下载,挑选合适自己系统和Python版本安装,64位的win系统可能会遇到一些困难,据我实验,使用win32位版本的pygame库是可以在64位电脑上使用的。具体安装遇到问题,善用搜索引擎就可以解决,在此不赘述。
  如果你安装好了pygame,可以用以下的代码,在自己的Python解释器上验证是否安装好了:



>>> import pygame
>>> print pygame.ver
1.9.1release
  当然,出现的版本可能和我不同,并没有太大的差别。确定import没有问题后,就说明有了pygame库。
  
  使用pygame
  pygame有很多模块,以下是概览:

模块名功能



pygame.cdrom
访问光驱


pygame.cursors
加载光标


pygame.display
访问显示设备


pygame.draw
绘制形状、线和点


pygame.event
管理事件


pygame.font
使用字体


pygame.image
加载和存储图片


pygame.joystick
使用游戏手柄或者 类似的东西


pygame.key
读取键盘按键


pygame.mixer
声音


pygame.mouse
鼠标


pygame.movie
播放视频


pygame.music
播放音频


pygame.overlay
访问高级视频叠加


pygame
就是我们在学的这个东西了……


pygame.rect
管理矩形区域


pygame.sndarray
操作声音数据


pygame.sprite
操作移动图像


pygame.surface
管理图像和屏幕


pygame.surfarray
管理点阵图像数据


pygame.time
管理时间和帧信息


pygame.transform
缩放和移动图像
  
  
  好了,我们来写一个pygame版的Hello,world!
  下面是代码:



# -*- coding: utf8 -*-
import pygame #导入pygame库
from sys import exit #向sys模块借一个exit函数用来退出程序

pygame.init() #初始化pygame,为使用硬件做准备

screen = pygame.display.set_mode((300, 200), 0, 32)
#创建了一个窗口

pygame.display.set_caption("Hello, World!")
#设置窗口标题
while True:
#主循环
for event in pygame.event.get():
if event.type == pygame.QUIT:
#接收到退出事件后退出程序
            pygame.quit()
exit()
screen.fill((200,200,200))
#将背景图画上去

pygame.display.update()
#刷新一下画面
  将这段代码输入并运行后,你将会得到这样的画面:
DSC0001.png
  点击关闭会正常关闭,而窗口的标题变成了Hello, World!
  这段程序里,提到了很多新的概念,比如说事件。这些概念我之后将会继续说明。
  代码给上了足够的注释,相信每一个熟悉Python的朋友都可以读懂。
  如果并没有接触Python或者没有学习过编程,可以看我博客之前对于《Python核心编程》的学习笔记,也可以自己学习。
  Python是一门很舒服的语言。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-145862-1-1.html 上篇帖子: 【转载】Python编写简易木马程序 下篇帖子: Boltzmann机神经网络python实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表