效果图(雪花是我的鼠标)
偶然因一个项目,需要用到脚本编写个网页格式转换的程序,学长让我学习下python,到现在大概一个月时间了,那个程序编完了,不过对python的学习并没有结束。。。
感觉python很是灵活,(不过到现在也仅限于觉得它不用定义类型),有些控制语句就像说的话一样,很好理解,网上对它的好评就更不用说了,我又不太喜欢抱着python经典等的书籍继续深挖,所以找到了http://eyehere.net/2011/python-pygame-novice-professional-index/,刚开始学习,加油吧!
首先pygame的官网是http://www.pygame.org/wiki/about,pygame用python封装的模块,可以用来写video games,就跟MFC是用c++封装的,可以用来写windows程序一样(我觉得这样比较好理解),关键它是免费的,几乎适用于任何平台,好吧it's none of my business, 其实我想边学边玩。。。
文章说也是翻译自McGugan的《Beginning Game Development with Python and Pygame –From Novice to Professional》一书,这书在http://ishare.iask.sina.com.cn/f/15213712.html可以下载,不过我还是打算先看他翻译的精华部分吧(英语一般的飘过~)
既然开始做游戏,那图片编辑必然不可少,而我又没那种ps的强大工具,也懒得下载,不过http://www.tuyitu.com/也许可以帮你,它是在线编辑的很是方便~
准备工作结束了,让我们开始吧!
首先我下了两张图片,一张640X480当背景用的images.jpg,一张30X30用来当鼠标用的untitled.png,这些可以灵活,程序里参数里改成相应的即可
#windows环境下的,我就不放入我的路径了
#python 2.7 我用的是2.7版本的
#python 1.9.2 这个是对应python2.7版本的,你可以到官网选择更新的版本~ 不过这两个必须有才可以写程序哦!
#gamedevelop01.py
background_image_filegame = 'images.jpg'
mouse_image_filegame = 'untitled.png'
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen = pygame.display.set_mode((640,480),0,32)#这里我们可以将下载的图片到那个在线网站去编辑,把图片上传之后点击图像/图片尺寸,去掉“强制纵横比”的勾,即可!
pygame.display.set_caption("hello,world!")
background = pygame.image.load(background_image_filegame).convert()
mouse_cursor = pygame.image.load(mouse_image_filegame).convert_alpha()
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:#下面那个去鼠标标签的实现了,结果鼠标点不了关闭,所以加入这个来退出程序
if event.key == K_q:
exit()
screen.blit(background,(0,0))
pygame.mouse.set_visible(False)#加入这个是为了将原来鼠标的标签去掉,具体啥原理不清楚啊,默认是True
x,y = pygame.mouse.get_pos()
x -= mouse_cursor.get_width() / 2
y -= mouse_cursor.get_height() / 2
screen.blit(mouse_cursor,(x,y))
pygame.display.update()
上面程序其实原文章作者有很多注释的,还有很多函数的解释非常详细,我只是跟着学习。。。
ps:为了弄这个代码和上传图片,搞了半天。。。所以分享下经验吧
写好文章后点击上面的一个标签,里面有“编程语言”,我选择python,将代码贴进去,确定就搞定代码的CSS风范了~
图片也是点上面的一个标签,因为我是本地的,先把http://删除,然后点击上传,确定即可