文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
整活:靶子
本节来添加靶子,这是一个可以被子弹攻击到的物体,并且会阻碍玩家移动,因此使用 StaticBody2D 作为靶子的根结点:
靶子的唯一用途就是被子弹攻击,因此靶子自身不用编写任何方法。
要做到子弹攻击靶子,我们需要修改子弹脚本,利用子弹根结点 Area2D 的 body_entered
信号,我们可以在子弹碰到某个物理节点(例如 StaticBody2D)时做一些处理。
连接子弹根结点的 body_entered
信号到子弹脚本上,并且写下如下代码:
func _on_body_entered(body:PhysicsBody2D):
if body.is_in_group("靶子"):
body.queue_free()
queue_free()
其中的第一个 if 判断碰到的节点是否在 靶子
组中,所以不要忘了给靶子节点添加到这个组中。if 里面的两行代码就分别是删除靶子和子弹。
[!tip]
我们也可以选择在靶子上编写逻辑,进行"靶子是否碰到子弹"的判断,但一般我们的认知应该是"子弹攻击靶子",所以我习惯把这个判定放到子弹身上。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论