python小游戏源代码pygame_pygame飞扬小鸟游戏源代码_python飞翔小鸟源码青少年游戏入门_作者:李兴球...

class Bird():

def

__init__(self,costumeList):

self.costumeId = 0

self.costumeList = costumeList

self.cosutmeAmount = len(costumeList)

self.image =

self.costumeList[self.costumeId]

self.rect = self.image.get_rect()

self.rect.x = 100

self.rect.y = 100

self.xspeed = 0

self.yspeed = 3

self.aspeed = 1 #加速度

self.moveStartTime = time.time()

self.costumeStartTime =time.time()

self.delete =0 #删除标志

def move(self):

if time.time()- self.moveStartTime<0.1:

self.rect.move_ip(self.xspeed,self.yspeed)

self.yspeed = self.yspeed + self.aspeed

self.moveStartTime = time.time()

def 下一个造型(self):

if time.time() -

self.costumeStartTime<0.1:

self.costumeId = self.costumeId + 1

self.costumeId = self.costumeId % self.cosutmeAmount

self.image

= self.costumeList[self.costumeId]

self.costumeStartTime = time.time()

def draw(self):

screen.blit(self.image,self.rect)

def

die(self,dieSound):

self.delete=1

self.xspeed = -5

dieSound.play()

class Pipe():

def

__init__(self,image,t):

self.type = t #

t为up或者down,用于区分上管道和下管道

self.image = image

self.rect = self.image.get_rect()

self.rect.left = screenWidth+1

self.sety()

self.xspeed= -5

self.yspeed = 0

self.moveStartTime = time.time()

self.delete = 0 #待删除标志

def sety(self):

if self.type == "up":

r1 =

screenHeight//2-50

r2 =

screenHeight//2-100

self.rect.bottom = randint(r2,r1)

if self.type=="down": #如果是下管道

r1 =

screenHeight//2+50

r2 =

screenHeight//2+100

self.rect.y = randint(r1,r2)

def move(self):

if time.time()- self.moveStartTime<0.1:

self.rect.move_ip(self.xspeed,self.yspeed)

self.moveStartTime = time.time()

#如果到了最右边,把它移到最左边,换个速度继续移动

if

self.rect.right<=0:

self.rect.left = screenWidth

+ 100

self.sety()

def

collide(self,bird):

if self.rect.colliderect(bird.rect):

return

True

else:

return

False

def draw(self):

screen.blit(self.image,self.rect)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值