鱼C论坛

 找回密码
 立即注册
查看: 2253|回复: 5

还是关于飞机大战碰撞检测

[复制链接]
发表于 2020-2-13 19:26:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
myplane里有两张图不停切换
        self.image1 = pygame.image.load('images/me1.png').convert_alpha()
        self.image2 = pygame.image.load('images/me2.png').convert_alpha()
#碰撞检测
        self.destroy_images = []
        self.destroy_images.extend([\
            pygame.image.load('images/me_destroy_1.png').convert_alpha(),\
            pygame.image.load('images/me_destroy_2.png').convert_alpha(),\
            pygame.image.load('images/me_destroy_3.png').convert_alpha(),\
            pygame.image.load('images/me_destroy_4.png').convert_alpha(),\
        ])
        self.rect = self.image1.get_rect()
        self.rect = self.image2.get_rect()
        self.width, self.height = bg_size[0], bg_size[1]#main.py里的size,限制飞机运动范围
        #self.width,self.height 分别是:屏幕宽度,屏幕高度
        #//为除法,结果舍去小数部分
        #(self.width - self.rect.width) // 2  计算屏幕左端到飞机左顶点距离
        #self.height - self.rect.height - 60  计算屏幕顶端到飞机顶部距离
        #60是飞机长度
        self.rect.left, self.rect.top =\
                        (self.width - self.rect.width) // 2, \
                        self.height - self.rect.height - 60
        self.speed = 10#移速
        self.active = True
#然后调用mask函数
        self.mask = pygame.mask.from_surface(self.image1)

为啥他调用mask函数只需要写self.image1而不要写self.image2呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-13 19:37:28 | 显示全部楼层
其实应该切换,但是2者差不多,且子弹都是从上往下所以无所谓了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-15 19:08:29 | 显示全部楼层
塔利班 发表于 2020-2-13 19:37
其实应该切换,但是2者差不多,且子弹都是从上往下所以无所谓了

那只对image1用mask
如果切换图片时候正好切换到了image2,碰撞判定不还是image2那个矩形吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-15 19:47:00 | 显示全部楼层
Hellofetz 发表于 2020-2-15 19:08
那只对image1用mask
如果切换图片时候正好切换到了image2,碰撞判定不还是image2那个矩形吗

mask是识别有像素部分,不是按矩形
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-15 20:00:41 | 显示全部楼层
塔利班 发表于 2020-2-15 19:47
mask是识别有像素部分,不是按矩形

对呀 但是代码里不是只mask了image1吗 没有mask image2呀
myplane是两张图呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-15 20:04:33 | 显示全部楼层
我说过了,但是2张图差不多,不想重复解释
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-22 10:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表