class Player(pg.sprite.Sprite):
def __init__(self):
pg.sprite.Sprite.__init__(self)
self.x = 32
self.y = 32
self.yspeed = 0
self.xspeed = 0
self.image = pg.draw.rect(screen, yellow, (self.x, self.y, tilesize, tilesize))
self.rect = pg.Rect(self.x, self.y, 32, 32)
def moveRight(self):
self.xspeed = 5
self.yspeed = 0
def moveLeft(self):
self.xspeed = -5
self.yspeed = 0
def moveUp(self):
self.xspeed = 0
self.yspeed = -5
def moveDown(self):
self.xspeed = 0
self.yspeed = 5
playing = True
while playing:
p = Player()
for event in pg.event.get():
if event.type == pg.QUIT:
playing = False
if event.type == pg.KEYDOWN:
if event.key == pg.K_d:
p.moveRight()
if event.key == pg.K_a:
p.moveLeft()
if event.key == pg.K_w:
p.moveUp()
if event.key == pg.K_s:
p.moveDown()
p.x += p.xspeed
p.y += p.yspeed
screen.fill(black)
p.__init__()
drawGrid()
pg.display.update()
clock.tick(60)
私のプレーヤーが動いていない理由は混乱していますか?ただ、それ以外の場合は888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888Python 3プレイヤーが動いていない
'P .__のinit __()を'行わない - あなたは、p =プレイヤー() 'それが自動的に実行'行うときに ' p .__ init __() 'プレーヤーのデータをリセットする必要がある場合、データをリセットするために 'Player()'にメソッドを作成してください。 – furas