设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 72881|回复: 93
打印 上一主题 下一主题

【Pygame 第1课】 hello pygame

[复制链接]

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-8-15 23:49:04 |只看该作者 |倒序浏览
我们已经把python的基本内容讲得差不多了,所以从今天起,尝试一下新的方面:pygame -- 用python来写游戏。

pygame是一个python的游戏库,借助它,我们可以用python写一些小游戏。虽然你想用它写出一个魔兽世界那样的游戏是不大可能的,但它的确适合python学习者入手游戏开发。

安装pygame
python标准库里是没有包含pygame的,所以我们需要去下载安装它。去www.pygame.org上的downloads找到对应你python版本的安装包下载并安装。Mac用户要注意一下,可能你mac里默认的python版本无法于pygame兼容,需要去puthon.org重新下载安装python2.7。

安装完之后,可以在你的python shell里验证一下:
  1. >>>import pygame
  2. >>>pygame.ver
  3. '1.9.1release'
复制代码
pygame的hello world
照例,我们要用一个hello world程序来开始我们的学习。

在写代码之前,先去找一张图片,确定图片的长宽值。我们要用它来做为背景图片。
  1. # -*- coding: utf-8 -*-
  2. import pygame
  3. #导入pygame库
  4. from sys import exit
  5. #向sys模块借一个exit函数用来退出程序
  6. pygame.init()
  7. #初始化pygame,为使用硬件做准备
  8. screen = pygame.display.set_mode((600, 170), 0, 32)
  9. #创建了一个窗口,窗口大小和背景图片大小一样
  10. pygame.display.set_caption("Hello, World!")
  11. #设置窗口标题
  12. background = pygame.image.load('bg.jpg').convert()
  13. #加载并转换图像
  14. while True:
  15. #游戏主循环
  16.     for event in pygame.event.get():
  17.         if event.type == pygame.QUIT:
  18.             #接收到退出事件后退出程序
  19.             pygame.quit()
  20.             exit()
  21.     screen.blit(background, (0,0))
  22.     #将背景图画上去
  23.     pygame.display.update()
  24.     #刷新一下画面
复制代码
运行代码。幸运的话,你会看到一个有图片背景的窗口,不再是黑乎乎或者白花花的控制台了。以后,我们的游戏就会出现在这个窗口里。

1.png

#==== Crossin的编程教室 ====#
微信ID:crossincode
论坛:http://crossin.me
QQ群:312723402

面向零基础初学者的编程课
每天5分钟,轻松学编程

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

170

积分

注册会员

Rank: 2

沙发
发表于 2013-8-16 13:01:18 |只看该作者
您好,我是xp系统,写出的文件,只有放在c:\python27中才能运行!怎么放在别的目录中运行文件!
Traceback (most recent call last):
  File "D:\Py\pygame11.py", line 4, in <module>
    import pygame
  File "D:/Py\pygame.py", line 7, in <module>
AttributeError: 'module' object has no attribute 'init'
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2013-8-16 22:13:22 |只看该作者
book 发表于 2013-8-16 13:01
您好,我是xp系统,写出的文件,只有放在c:\python27中才能运行!怎么放在别的目录中运行文件!
Traceback  ...

看上去像是环境变量没设好。
python本身运行是不是正常?
是不是装过2个版本python?
python shell里验证pygame安装的时候有没有报错?
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

170

积分

注册会员

Rank: 2

地板
发表于 2013-8-17 00:10:02 |只看该作者
本帖最后由 book 于 2013-8-17 00:11 编辑
crossin先生 发表于 2013-8-16 22:13
看上去像是环境变量没设好。
python本身运行是不是正常?
是不是装过2个版本python?


你好,我说错了,我的系统是win7_64位,python运行正常,我只安装了一个python2.7.5,python shell、dos命今符中验证安装没有问题,我安装的pygame也是64位的,python2.7.5的环境变题我设置过,请问还有什么环境变量,要怎么设置?(在python27目录中运行没有问题,拿到d盘下出问题!)
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2013-8-17 00:40:47 |只看该作者
book 发表于 2013-8-17 00:10
你好,我说错了,我的系统是win7_64位,python运行正常,我只安装了一个python2.7.5,python shell、dos ...

看这样子是因为没找到pygame的路径。这个应该是pygame安装时候会自动设置好,至于为什么出问题,我也不清楚了。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

6#
发表于 2013-8-17 00:44:45 |只看该作者
book 发表于 2013-8-17 00:10
你好,我说错了,我的系统是win7_64位,python运行正常,我只安装了一个python2.7.5,python shell、dos ...

你是不是一开始把程序命名为pygame.py了。。。
如果是的话,删掉新建,重来
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

170

积分

注册会员

Rank: 2

7#
发表于 2013-8-18 14:05:31 |只看该作者
crossin先生 发表于 2013-8-17 00:44
你是不是一开始把程序命名为pygame.py了。。。
如果是的话,删掉新建,重来 ...

对的,谢谢,我重新建一个命名不和关键字重名,谢谢!
回复

使用道具 举报

3

主题

0

好友

161

积分

注册会员

Rank: 2

8#
发表于 2013-8-29 18:13:28 |只看该作者
请问下为什么我的那个图形界面闪下就又消失了?图也没粗来o(︶︿︶)o
回复

使用道具 举报

3

主题

0

好友

161

积分

注册会员

Rank: 2

9#
发表于 2013-8-29 18:18:24 |只看该作者
额。。好了,少写了一条语句,(/ □ \)
回复

使用道具 举报

0

主题

1

好友

132

积分

注册会员

Rank: 2

10#
发表于 2013-9-4 10:52:24 |只看该作者
我的系统是os x 10.8.4,默认的python版本是2.7.2,发现装pygame的时候不能装,说是只能跑在python 2.7这个版本下。
抱着试一试的心态,顺手就打了 brew install python。结果现在的python版本变成2.7.5了,还是不能装。
看来必须去装2.7才行。我想问一下,降级安装有没有什么要注意的地方?是不是要先把2.7.5这个版本删干净了再装?是的话如何删干净?
谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-20 17:23 , Processed in 0.036391 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部