当前位置:天才代写 > tutorial > Python教程 > 【Pygame 课堂】第4课—— 获取鼠标位置

【Pygame 课堂】第4课—— 获取鼠标位置

2018-05-23 08:00 星期三 所属: Python教程 浏览:898

【Pygame 课堂】第4课—— 获取鼠标位置
微信上很火的“打飞机”游戏,通过手指在屏幕上触摸的位置来移动你的飞机。在线学习在电脑上,我们没法直接用手操作,但可以用鼠标替代手指。
在电脑游戏里,鼠标是个很好用的输入设备。因此在很多游戏中,都需要得到鼠标的位置,以响应用户的操作。
现在,我们要在之前helloworld的程序上增加一架飞机,并且用鼠标来控制飞机的位置。
得到鼠标位置坐标的方法是:
pygame.mouse.get_pos()
与以往用的函数有些不同,这个函数会返回两个值:鼠标的x坐标和y坐标。所以你需要两个变量来记录返回值:
x,y=pygame.mouse.get_pos()
然后,在游戏主循环中,把实现准备好的飞机图片画到屏幕上,位置就是(x,y):
screen.blit(plane,(x,y))
运行程序,你会发现,鼠标移动到哪,飞机就会“飞”到哪。但是,飞机图片始终在鼠标的右下方。这是因为图片的坐标原点是在左上角,原点与鼠标的位置对齐。
如果你想让图片的中心和鼠标位置对齐,则需要再调整一下x,y的位置:
x-=plane.get_width()/2
y-=plane.get_height()/2
get_width和get_height分别是获取图片的宽和高。
你可以挑张合适的背景图和一张边缘透明的飞机图,再把窗口的长宽调整一下,在线学习让它看上去更舒服一些。
完整代码:
#-*-coding:utf-8-*-
importpygame
fromsysimportexit
pygame.init()
screen=pygame.display.set_mode((600,170),0,32)
pygame.display.set_caption(“Hello,World!”)
background=pygame.image.load(‘bg.jpg’).convert()
plane=pygame.image.load(‘plane.jpg’).convert()
#加载飞机图像
whileTrue:
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
pygame.quit()
exit()
screen.blit(background,(0,0))
x,y=pygame.mouse.get_pos()
#获取鼠标位置
x-=plane.get_width()/2
y-=plane.get_height()/2
#计算飞机的左上角位置
screen.blit(plane,(x,y))
#把飞机画到屏幕上
pygame.display.update()
【Pygame 课堂】第4课—— 获取鼠标位置
文章来源于Crossin,由课课家在线学习平台整理,转载请注明。

 

    关键字:

天才代写-代写联系方式