这个问题在这里已经有答案了:
我怎么能用空格键射子弹(1个答案)
如何一次阻止多发子弹(1个答案)
pygame:太空入侵者射击问题[重复](1个答案)
14小时前关门了。
代码:
import pygame
import sys
from pygame.locals import *
count = 0
moving = False
def blast1():
blast.y -= bl
def player_animation():
global player_speed
player.x = player_speed
pygame.init()
running = True
clock = pygame.time.Clock()
bl = 1
player_speed = 1
player = pygame.Rect(250, 450, 50, 50)
blast = pygame.Rect(player.x, player.y , 10, 10)
screen = pygame.display.set_mode((500, 500))
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
player_animation()
blast1()
screen.fill((255, 255, 255)) #color
pygame.draw.ellipse(screen, [0, 0, 255], player)
pygame.draw.ellipse(screen, [0, 255, 0], blast)
keys=pygame.key.get_pressed()
if keys[K_LEFT] and player.x != -4 :
player_speed -= 5
if keys[K_RIGHT] and player.x != 451:
player_speed += 5
pygame.display.flip()
clock.tick(30)
blast.x = player.x
pygame.quit()
我的目标很简单。我想创造一个你可以左右移动的球。然后我要创建一个从“玩家”的位置发射的子弹。我有点麻烦,我不知道为什么,但当我宣布子弹的位置 blast = pygame.Rect(player.x, player.y , 10, 10)
只有y位置起作用。不知何故,x的位置是在屏幕的中间,而不是在播放器上。我怎样才能解决这个问题?
1条答案
按热度按时间ctehm74n1#
线路
分配
Rect
至blast
,此时玩家的位置。此爆炸将保持静止,直到您编辑其位置。你只会改变y
此处位置:但你不更新
x
发射子弹时的位置。你可以这样做:要启动多个项目符号,可以使用以下代码: