pygame里面物体闪烁运动_在pygame中闪烁的文字和精灵

博主在pygame游戏开发中遇到文字闪烁和精灵快速消失的问题。对于闪烁的文字,没有找到直接原因;对于精灵(子弹),当按下空格键发射时,子弹会立即消失。文章展示了Bunker和Bullet类的代码,以及主循环中处理文字和子弹的部分。评论建议可能需要调整子弹速度来解决消失问题。
摘要由CSDN通过智能技术生成

我回来了...花了很多时间在我的游戏上工作后,我遇到了2个问题。他们都关心显示精灵和文本。第一个是闪烁的文字。我敢打赌,这发生在你们许多人身上,但通过谷歌搜索,我无法找到导致它的直接答案。如果任何人能够向我解释为什么当我将其闪光到屏幕时我的文字闪烁,我将不胜感激。在pygame中闪烁的文字和精灵

我的下一个问题几乎与我的第一个问题相同,除了它涉及一个精灵。我在游戏中添加了一些代码,告诉python在空格键被按下时从我的玩家精灵中射出一颗子弹。当我运行它时,我没有收到任何错误,并且我的子弹显示在屏幕上,然后立即消失。我猜这两个错误是直接相关的,但我不确定是什么原因造成的。

任何人都知道更多关于pygame的信息,可以请我向我解释是什么原因造成的,以便我可以确定一种解决问题的方法。

这里是我的碉堡(播放器)和子弹类:

class Bunker(pygame.sprite.Sprite):

def __init__(self):

pygame.sprite.Sprite.__init__(self)

bunker = pygame.image.load(bunk).convert_alpha()

self.image = bunker

self.rect = self.image.get_rect()

bunker_x = 160

bunker_y = 0

self.firecountdown = 0

def update(self, milli):

self.pos = self.rect

if (self.firecountdown > 0):

self.firecountdown -= milli

def collide(self, EnemyTank):

return pygame.sprite.collide_rect(self.rect, EnemyTank.rect)

def fire(self, bullet):

if (self.firecountdown <=0):

bullet.x = 165

bullet.y = 0

bullet.fired = True

bullet.speed = 100

self.firecountdown = 500

class Bullet(pygame.sprite.Sprite):

def __init__(self):

pygame.sprite.Sprite.__init__(self)

bullet = pygame.image.load(bull).convert_alpha()

self.image = bullet

self.rect = self.image.get_rect()

self.x = 0

self.y = 0

self.speed = 0

self.forwardx = 1

self.forwardy = 0

self.fired = False

def update(self):

self.pos = self.rect

self.x += self.forwardx * self.speed

self.y += self.forwardy * self.speed

if self.x > 640:

self.fired = False

和我的主回路的一部分:

font = pygame.font.SysFont('Courier', 76)

text = font.render('Game Over', True, (0,0,0))

if e_tank_x>640:

screen.blit(text, (100,100))

if bullet.fired == True:

screen.blit(bullet.image, (bullet.x, bullet.y))

+0

我认为你的子弹不会像消失得很快一样消失。尝试减慢一点。 –

+0

你如何添加子弹? –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值