155185 发表于 2023-2-11 19:21:53

想做个游戏但不知道怎么写

比如我要w键按一下就向y 轴移动
按s键就向-y 轴移动
该怎么写{:10_254:}

歌者文明清理员 发表于 2023-2-12 10:04:47

本帖最后由 歌者文明清理员 于 2023-3-19 08:44 编辑

# -*- coding: utf-8 -*-
# 这里理解-y是上,y是下,因为在不同的模块中y的方向不一样
import pygame
pygame.init()
pygame.key.set_repeat(50, 50)
class Sprite(pygame.sprite.Sprite):# 精灵类
    def __init__(self, file, pos):
      pygame.sprite.Sprite.__init__(self)
      self.image = pygame.image.load(file)# 加载图像
      self.rect = self.image.get_rect()
      self.rect.topleft = pos
      # file是图片名,pos是初始位置
size = width, height = 640, 480# 窗口大小
screen = pygame.display.set_mode(size)
sprite = Sprite(图片名, 初始坐标)
clock = pygame.time.Clock()
running = True
while running:
    clock.tick(30)# 帧速率,数越大精灵移动的越快
    for event in pygame.event.get():# 处理事件
      if event.type == pygame.QUIT:# 关闭窗口事件
            running = False
      elif event.type == pygame.KEYDOWN:# 键盘按下事件
            if event.key == pygame.K_w:# 注意w是小写
               sprite.rect.y -= 5# 5 不是固定的,是一帧移动的距离,数越大速度越快
            elif event.key == pygame.K_s:
                sprite.rect.y += 5# 如果你发现方向错了,就把+=改成-=,K_w里面的也一样
    pygame.display.flip()# 刷新窗口

las6040 发表于 2023-2-12 13:34:38

{:10_254:}{:10_245:}{:10_256:}
页: [1]
查看完整版本: 想做个游戏但不知道怎么写