2017-05-10 48 views
0

我有这个问题。我有长方形,如果我移动它,它不会留下一条线pygame移动矩形留下一条线

import pygame as pg 
from map import Map 
class Main: 
    def __init__(self): 
     self.gameDisplay = pg.display.set_mode((800,600)) 
     pg.display.set_caption("Pacman") 
     self.x = 360 
     self.y = 520 
     self.speed = 20 
     runGame = True 
     pg.draw.rect(self.gameDisplay, (255, 255, 0), [self.x, self.y, 40, 40]) 
     while runGame: 

      map = Map(self.gameDisplay) 

      for event in pg.event.get(): 
       if event.type == pg.QUIT: 
        runGame = False 

       if event.type == pg.KEYDOWN: 
        if event.key == pg.K_w: 
         self.y -= self.speed 
        elif event.key == pg.K_a: 
         self.x -= self.speed 
        elif event.key == pg.K_s: 
         self.y += self.speed 
        elif event.key == pg.K_d: 
         self.x += self.speed 
      pg.draw.rect(self.gameDisplay, (255, 255, 0), [self.x, self.y, 40, 40]) 
      map.renderMap() 
      pg.display.update() 




pg.init() 
main = Main() 

这就是它会在图像problem in image

回答

0

我这个代码

import pygame as pg 
from map import Map 

class Main: 
    def __init__(self): 
     self.gameDisplay = pg.display.set_mode((800,600)) 
     pg.display.set_caption("Pacman") 
     self.x = 360 
     self.y = 520 
     self.speed = 20 
     runGame = True 
     while runGame: 

      map = Map(self.gameDisplay) 

      for event in pg.event.get(): 
       if event.type == pg.QUIT: 
        runGame = False 

       if event.type == pg.KEYDOWN: 
        if event.key == pg.K_w: 
         self.y -= self.speed 
        elif event.key == pg.K_a: 
         self.x -= self.speed 
        elif event.key == pg.K_s: 
         self.y += self.speed 
        elif event.key == pg.K_d: 
         self.x += self.speed 
      self.gameDisplay.fill((0,0,0)) 
      pg.draw.rect(self.gameDisplay, (255, 255, 0), [self.x, self.y, 40, 40]) 
      map.renderMap() 
      pg.display.update() 




pg.init() 
main = Main() 
解决之前删除 矩形