如果说让角色动起来是开发游戏的基础,那么实现角色之间的碰撞就是游戏的灵魂。关于角色之间的碰撞,严格来说,分为以下 4 类:
OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
(1)一个角色与另一个角色碰撞。对任意一个角色编程都行,碰到后用广播通知另一个角色。例如下图的《大鱼吃小鱼》。OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
(2)一个角色与另一个角色的克隆体碰撞。通常都是对克隆体编程,碰到角色后,删除此克隆体。例如下图《接苹果》中的碗和苹果。OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
(3)一个角色的克隆体与另一个角色的克隆体碰撞。一般来说,对双方的克隆体都要编程,碰到对方后,删除自己,但是需要加上一个延迟,目的是让克隆体充分地碰撞后删除双方,而不是先删除某一个。例如下图《飞机大战》中的子弹与敌机。OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
(4)同一角色克隆体之间(或本体与克隆体之间)的碰撞。例如,在树上生成 10 个互不接触的苹果,见下图。OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
OtQ100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库