选中Area2D 节点,打开 Node 面板,选中 Signals ,找到 body_entered ,双击它。选择 RigidBody2D 的脚本,为其添加函数 _on_Area2D_body_entered (如果RigidBody2D还没有脚本,先为他添加一个脚本)。在方法中添加如下代码: func _on_Area2D_body_entered(body): gravity_scale = 1 保存后运行游戏,角色靠近后,...
实际应用场景中,刚体默认会受到重力的作用,在重力影响下刚体会发生一些有趣的碰撞反馈,我们可以充分利用RigidBody2D刚体节点的物理特性,无需手动编写代码即可实现一些简单的特效。 在这个场景中,木箱子和子弹球都是刚体模型,与我们之前游戏中使用 Area2D 作为根节点的“子弹”场景不同,使用RigidBody2D作为根节点,“子弹...
实际应用场景中,刚体默认会受到重力的作用,在重力影响下刚体会发生一些有趣的碰撞反馈,我们可以充分利用 RigidBody2D 刚体节点的物理特性,无需手动编写代码即可实现一些简单的特效。 在这个场景中,木箱子和子弹球都是刚体模型,与我们之前游戏中使用 Area2D 作为根节点的“子弹”场景不同,使用 RigidBody2D 作为根节点,...
2:信号自带参数传递,如RigidBody2D的body_entered(body_Node)会传入与本体碰撞的其他碰撞体。 1 2 3 4 5 6 7 8 9 10 11 12 publicoverridevoid_Ready() { GetNode<RigidBody2D>("bulletRigidBody2D").Connect("body_entered",this,nameof(_destroy)); } privatevoid_destroy(Node node) { if(node.Na...
rigidBody2D.Connect("body_entered",this, nameof(_die));//碰撞信号触发自身死亡 enemyhome = GetNode<Sprite>("../EnemyHome"); } } /// <summary> /// 碰撞销毁 /// </summary> /// <param name="node">被碰撞的碰撞体</param>
【转】Godot3游戏引擎入门之十四:RigidBody2D刚体节点的应用以及简单的FSM状态机介绍 一、前言 时间飞逝,距离上次更新已经有半年之久!这几个月里我只有三分之一的时间很忙,相反其他时间是比较闲的,但是由于空闲时间非常“碎片化”,导致我一直没有集中精力搞自己喜欢的“小游戏”了。首先对我的读者表示非常抱歉!嗯,...
接下来,我们通过Area2D节点来触发下落。当角色进入Area2D的范围,Area2D的body_entered信号会被触发,从而控制坠落物的下落。通过调整Layer和Mask,可以避免不同节点间的意外碰撞,确保触发的准确性。Godot3的RigidBody2D提供了一套强大的工具,使得处理物理效果变得简单直观。本文仅介绍了基本的下落和触发...
4.0中Charac..如题 请教各位大佬一下。在4.0中建立RigidBody2D和CharacterBody2D以及一个StaticBody2D,其中CharacterBody2D创建脚本并且使用系统自带的脚本进行移动。
extends RigidBody2D var attack:int func _on_visible_on_screen_notifier_2d_screen_exited(): print("子弹进入屏幕外边了") queue_free() func _on_body_entered(body): print("碰到了一个物体") var sprite= get_node("Sprite2D") sprite.texture = load("res://assets/Images/Effect/PeaBulletHit....
func _on_Area2D_area_entered(area): # 处理进入区域的逻辑 StaticBody2D:表示静态物体,不会受到外力的影响。通常用于地面、墙壁等不需要移动的物体。 RigidBody2D:表示遵守物理规律的刚体。受到外力的作用,可以用于模拟真实的物理运动。 # 应用力使刚体运动 ...