代码先上
import pygame, sys
from settings1 import plant_game
ai_setting = plant_game()
class moving():
def __init__(self, ai_setting, screen):
self.screen = screen
self.ai_setting = ai_setting
self.image = pygame.Surface((60, 40))
self.rect = self.image.get_rect()
self.get_rect = screen.get_rect()
self.moving_right = True
self.moving_left = True
def blite(self):
self.screen.blit(self.image, self.rect)
def update(self):
if self.moving_right and self.rect.right < 800:
self.rect.centerx += ai_setting.ship_speed_factor
def run():
ship = moving(ai_setting, ai_setting.screen)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
ai_setting.screen.fill((255, 255, 255))
ship.update()
ship.blite()
pygame.display.update()
pygame.display.flip()
run()
这是制造矩形横向移动,我的初期目标是可以让其在触到边缘后反弹回来,然而经过我多次尝试,我始终没有找出问题,一直都是只能向右移动,一旦返回就会无限在边缘回弹。目前还没有好的解决办法。。