pygame位置错误

时间:2017-08-11 07:26:56

标签: pygame

首先,我装了一张船的照片并初步确定了它的位置。此后我为我的程序添加了子弹。之后,我发现无论我如何调试它,它都不能在正确的位置。

# 1. - import library
import pygame,sys
from pygame.locals import *
from pygame.sprite import Sprite

class Player(Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.image.load('image/pig.bmp')
        self.rect = self.image.get_rect()
        self.screen_rect = screen.get_rect()


class Bullet(Sprite):          
    def __init__(self, player):
        super().__init__()
        self.rect = pygame.Rect(0, 0, bullet_width, bullet_height )
        self.color = bullet_color
        self.rect.center = player.rect.center 
        self.rect.left  = player.rect.right

# 2. - Initialize the game 
pygame.init()
width,height = 800,600
screen = pygame.display.set_mode((width,height))
keys = [False,False,False,False]
playerpos = [0,288] 
bullet_width = 15
bullet_height = 6
bullet_color  = (200, 200 , 0)

player = Player()
bullet = Bullet(player)

grass = pygame.image.load("image/bg.bmp")

# 4. - keep looping through
while True:
    # 5. - clear the screen before drawing it again.
    screen.fill(0) 
    # 6. - Draw the screen elements.
    screen.blit(grass,(0,0))
    screen.blit(player.image, playerpos)

    pygame.draw.rect(screen, bullet.color, bullet.rect)
    # 7. - update the screen
    pygame.display.flip()
    # 8. - loop through the events
    for event in pygame.event.get():
        # check if the event is the X button.
        if event.type == pygame.QUIT:   
            pygame.quit()
            sys.exit()

以及为什么子弹出现在左上角 enter image description here

我希望子弹出现在船的右侧,但是如果我不使用坐标(x,y)我就做不到,我该怎么做?

0 个答案:

没有答案