zoukankan      html  css  js  c++  java
  • Python游戏-实现键盘控制功能

    要想实现键盘控制作用,就需要给游戏键盘监听事件
    利用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()
    1
    2
    3
    4
    5
    实现效果
    游戏中,当按下上键时游戏对象就往上移动,一松开按键,游戏对象就往下降

    完整代码
    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:QQMobileFile/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() #将更新显示到屏幕上

    --------------------- 

  • 相关阅读:
    关于VBA的Exit For到底是怎样跳出for循环的小例子
    关于VBA的Exit For到底是怎样跳出for循环的小例子
    C#-Task.Run 和 Task.Factory.StartNew 区别
    java数组使用 四 反转数组元素
    java数组使用 三 循环数组元素
    java数组使用 二 数组的三种初始化
    java数组使用 一
    java方法 使用 四 可变参数
    java方法 使用 三 求阶乘
    java方法 使用 二 查找最大值
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11044453.html
Copyright © 2011-2022 走看看