用pygame定义的精灵类移动图片为何这个结果?
先看结果:大家应该看明白了吧,被移动的图片拖拖拖的很长了
再来看看代码。
pygame.init()
myscreen = pygame.display.set_mode((800,600))
class horse(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load("girl.png")#被移动的图片
self.rect = self.image.get_rect()
self.rect.left = 8
self.rect.top = 10
speed =
self.speed = speed
def move(self):
self.rect = self.rect.move(self.speed)
bgimage = pygame.image.load("girl.jpg")#背景图片
bgposition = bgimage.get_rect()
myscreen.blit(bgimage,bgposition)
horse1 = horse()
horseposition = horse1.rect
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
myscreen.blit(horse1.image,horseposition)
horse1.move()
horseposition = horse1.rect
pygame.display.update()
#pygame.time.Clock().tick(3) 要循环里画个背景 想实现什么效果呢 wuqramy 发表于 2020-5-19 21:10
想实现什么效果呢
就被移动的图片正常右移啊,显然图片里的结果不是我要的,拖出来的痕迹把背景图片都覆盖了。 dequantianhe 发表于 2020-5-19 21:15
就被移动的图片正常右移啊,显然图片里的结果不是我要的,拖出来的痕迹把背景图片都覆盖了。
这样试试
import pygame
from sys import *
pygame.init()
myscreen = pygame.display.set_mode((800,600))
class horse(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load("girl.png")#被移动的图片
self.rect = self.image.get_rect()
self.rect.left = 8
self.rect.top = 10
speed =
self.speed = speed
def move(self):
self.rect = self.rect.move(self.speed)
bgimage = pygame.image.load("girl.png")#背景图片
bgposition = bgimage.get_rect()
myscreen.blit(bgimage,bgposition)
horse1 = horse()
horseposition = horse1.rect
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
myscreen.blit(bgimage,bgposition)
myscreen.blit(horse1.image,horseposition)
horse1.move()
horseposition = horse1.rect
pygame.display.flip()
pygame.time.Clock().tick(3)
页:
[1]