问题描述
我正在更新以每帧移动 5 个像素的立方体不会移动。我检查了我的代码,但找不到问题,请发送披萨。我希望让立方体每帧向右移动 5 个像素。
#---- Main-----
import pygame,sys
from os import path
from settings import *
from sprites import *
class Game:
def __init__(self):
pygame.init()
pygame.display.set_caption(TITLE)
self.screen = pygame.display.set_mode((WIDTH,HEIGHT))
self.clock = pygame.time.Clock()
def update(self):
#self.dt = self.clock.tick(FPS) / 1000
self.new()
self.draw()
def draw(self):
self.sprites.update()
self.sprites.draw(self.screen)
pygame.display.flip()
self.clock.tick(30)
def events(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.quit()
def new(self):
self.screen.fill(DARKGREY)
self.sprites = pygame.sprite.Group()
player = Player(self)
def quit(self):
pygame.quit()
sys.exit()
while True:
g = Game()
g.events()
g.update()
单独的文件
#---sprites
import pygame
from settings import *
class Player(pygame.sprite.Sprite):
def __init__(self,game):
self.groups = game.sprites
pygame.sprite.Sprite.__init__(self,self.groups)
self.image = pygame.Surface((TILESIZE,TILESIZE))
self.image.fill(WHITE)
self.rect = self.image.get_rect()
def update(self):
self.rect.x += 5
分离文件
WHITE = (255,255,255)
BLACK = (0,0)
DARKGREY = (40,40,40)
LIGHTGREY = (100,100,100)
GREEN = (0,0)
RED = (255,0)
YELLOW = (255,0)
WIDTH = 600
HEIGHT = 500
FPS = 60
TITLE = 'bruh zelda'
PLAYER_SPEED = 100
TILESIZE = 32
TILEWIDTH = WIDTH / TILESIZE
TILEHEIGHT = HEIGHT / TILESIZE
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)