2017-05-10 65 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() 
解決之前刪除 矩形