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:\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() #將更新顯示到屏幕上

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM