-1
這是我的遊戲代碼:子彈是不可見的,將不會刪除屏幕後刪除
這是我的整段代碼。爲什麼我發射子彈時屏幕上沒有出現子彈, 爲什麼當我將子彈移開時仍然留在屏幕上(請參見242到250行)?如果你有時間,你能告訴我爲什麼自從我第一次開始我的比賽以來,我的比賽是滯後的嗎?感謝您的幫助! (已經被其他用戶回答),其拍攝子彈
class Fire_User(pygame.sprite.Sprite):
def __init__(self, image_file):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(image_file)
self.rect = self.image.get_rect()
#Move function#
def update(self):
self.rect.x -= 10
#Class for the player 1 to be able to fire projectiles(Steve's head from Minecraft) at player 2#
class Fire_Comp(pygame.sprite.Sprite):
def __init__(self, image_file):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(image_file)
self.rect = self.image.get_rect()
#Move function#
def update(self):
self.rect.x += 10
而且Pygame的事件:
elif event.key == K_LSHIFT:
bullet = Fire_User('bomb_user.jpg')
bullet.rect.x = my_ball.rect.x + 10
bullet.rect.y = my_ball.rect.y
fired = 1
bulletGroup.add(bullet)
elif event.key == K_RSHIFT:
otherBullet = Fire_Comp('steve.png')
otherBullet.rect.x = dad.rect.x - 10
otherBullet.rect.y = dad.rect.y
fired = 1
otherBulletGroup.add(otherBullet)
更新:
我試圖做塊我的照片(子彈)搬上銀幕。它給我一個錯誤:
Traceback (most recent call last):
File "E:/PyCharm_Tony/Hero's_War.py", line 273, in <module>
screen.blit(bullet.image, bullet.rect)
NameError: name 'bullet' is not defined
爲什麼會發生這種情況?我編輯了我的程序。哦,運行代碼片段只會將我的代碼加載到一個句子中(很長)。
我需要'pygame.time.delay(1000)'這一行才能播放我的音樂。有另一種方式嗎? – 2014-12-29 14:32:34
使用'pygame.mixer.pre_init()':[syntax](http://www.pygame.org/docs/ref/mixer.html#pygame.mixer.pre_init)在pygame之前設置'mixer'模塊。 mixer.init()'以避免滯後。這樣,可以避免''delay'語句。 – 2014-12-29 15:06:41