要想实现键盘控制作用,就需要给游戏键盘监听事件

利用pygame模块的key.get_pressed()方法,来检测按键是否按下

key_press =pygame.key.get_pressed()
    if not key_press[K_UP] and ball.rect.bottom < height:
        ball.movedown()
    elif key_press[K_UP] and ball.rect.top>0:
        ball.moveup()


实现效果

游戏中,当按下上键时游戏对象就往上移动,一松开按键,游戏对象就往下降

完整代码

import pygame
from pygame.locals import *
from sys import exit
pygame.init()                                     
#进行初始化
bgsize = width,height = 1000,600
pygame.display.set_mode(bgsize)
pygame.display.set_caption('进击的蜘蛛')
bg=(0,0,0)                                       
#设置背景颜色
turtl = pygame.image.load('D:\QQ\MobileFile/spride.png')
ball_image = pygame.transform.scale(turtl,(width//10,height//10))                               #对图片进行缩放
screen = pygame.display.get_surface()
class Ball(pygame.sprite.Sprite):
    def __init__(self,up_speed,down_speed):
        pygame.sprite.Sprite.__init__(self)
        self.up_speed = up_speed
        self.down_speed = down_speed
        self.image = ball_image
        self.rect = self.image.get_rect()
        self.rect.top = 0
        self.rect.left =(width-self.image.get_width())//2
    def moveup(self):
        self.rect.top -=self.up_speed
    def movedown(self):
        self.rect.top +=self.down_speed
ball = Ball(6,4)
clock = pygame.time.Clock()
while 1:
    for event in pygame.event.get():
        if event.type == QUIT:
            exit()
    key_press =pygame.key.get_pressed()
    if not key_press[K_UP] and ball.rect.bottom < height:
        ball.movedown()
    elif key_press[K_UP] and ball.rect.top>0:
        ball.moveup()
    screen.fill(bg)
    screen.blit(ball_image,ball.rect)
    clock.tick(25)
    pygame.display.flip()                      
    #将更新显示到屏幕上


所需图片

9.png

图片为png格式,当然,也可以选择其他图片作为游戏对象


点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部