pygame教程2

响应键盘上的事件

import pygame#导入pygame。
import sys#导入sys
from pygame.locals import *#导入pygame所有的常量,方便以后使用。
pygame.init()#初始化pygame。
screen = pygame.display.set_mode((800,600))#设置窗口大小,此时已经创建窗口。
pygame.display.set_caption("Hello")#设置标题为Hello。
while True:
	for event in pygame.event.get():#pygame.event.get()可以获得事件。
		keyslist = pygame.key.get_pressed() # 获取按键元组信息
	    if event.type == QUIT:
	    #接收到退出事件后退出程序(QUIT是退出事件)。
	    	pygame.quit() #上一篇文章忘加了,不加无法关闭窗口。
	        sys.exit()
        if keyslist[pygame.K_RIGHT]: # K_RIGHT右键。如果按键按下,这个值为1
  			print("右")
	pygame.display.update()#刷新pygame,更新画面。或者用pygame.display.flip()。

插一句题外话,如果代码出错,pygame窗口无法关闭,可以使用系统自带的任务管理器(windows系统)进行强制关闭,快捷键为Ctrl+Shift+Esc。

让画面动起来

了解x轴和y轴

首先我们需要了解x轴和y轴。
在这里插入图片描述
x轴就是那条横着的轴,y轴就是那条竖着的轴。x轴和y轴相交处的点坐标为(0,0)。在平面上,x和y坐标就可以表示一个位置。

画圆形

可以用pygame.draw.circle()。包括五个参数:(1)画圆的表面,就是画在哪个窗口上(2)用什么颜色来画,如用红色[255,0,0]。(3)在什么位置画,[top,left]。(4)直径。(5)线宽,其中0表示完成填充。

圆形动起来

import pygame#导入pygame。
import sys#导入sys
from pygame.locals import *#导入pygame所有的常量,方便以后使用。
    
pygame.init()#初始化pygame。
screen = pygame.display.set_mode((800,600))#设置窗口大小,此时已经创建窗口。
pygame.display.set_caption("Hello")#设置标题为Hello。
a = False #用来确定圆形什么时候转向用的。
circle_x = 60 #圆形的x轴坐标变量
fps = 30 #动画为30帧
fcclock = pygame.time.Clock()#控制帧速率
while True:
    screen.fill([255, 255, 255])#设置窗口背景颜色
    pygame.draw.circle(screen, [255, 0, 0], [circle_x, 240], 30, 0)
    for event in pygame.event.get():#pygame.event.get()可以获得事件。
        keyslist = pygame.key.get_pressed() # 获取按键元组信息
        if event.type == QUIT:#这个程序不关闭是不会停止的
            #接收到退出事件后退出程序(QUIT是退出事件)。
            pygame.quit()
            sys.exit()
    if a == False:
        if circle_x <= 200:
            circle_x += 5
            pygame.draw.circle(screen, [255, 0, 0], [circle_x, 240], 30, 0)
        else:
            a = True
    else:
        if circle_x >= 60:
            circle_x -= 5
            pygame.draw.circle(screen, [255, 0, 0], [circle_x, 240], 30, 0)
        else:
            a = False
    
    pygame.display.update()#刷新pygame,更新画面。或者用pygame.display.flip()。
    fcclock.tick(fps)#设置动画的帧,就是1秒内移动几次。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值