StaticBody和Area都需要一个CollisionShape,所以直接改类型就不需要重新添加CollisionShape了。 移动CharacterBody2D 现在我们还需要修改移动代码让物理系统明白发生了什么。使用了CharacterBody2D之后就不建议再继续使用修改position来实现移动的方法了。 CharacterBody2D主要有两个用来移动的方法,一个叫move_and_slide,一个叫...
Godot中和涉及物理系统的节点一般都有一个用于控制碰撞检测的层次的属性。在不同节点中名字可能不一样,但是都以这样的形式在检视面板中示人,比如选中Player场景中的CharacterBody2D节点打开Collision部分: CharacterBody2D的这两个属性实际上是来自CollisionObject2D的`collision_layer`(碰撞层,下文简称layer或层)和`collisi...
给CharacterBody2D添加一个CollisionShape2D节点(可以点击Scene窗口中的加号,或者在Scene窗口中的CharacterBody2D上右键新建子节点【快捷键Ctrl+A】)。这里选择New CircleShape2D。调整一下Collision的位置和大小。 8. 将CharacterBody2D重命名为Player,依旧保存这个场景到scenes目录下。 9. 回到Game场景,将Player场景拖至...
1、创建character tips:collisionobject表示的是用来会产生碰撞的物体,并不代表他有碰撞的功能,这是godot的门槛,就好比“我心理特征是女性,但是我没有孕育生命的器官,而且也没有长一根棒子,你需要给我添加一个,如果不添加那我就不做了呗”。 这里的character只是个名字,代表未来分配到哪里,就像刚刚上大学的大一新生...
切换至Player场景,为Player添加脚本。这个以CharacterBody2D:Basic Movement为模板的脚本会为我们实现方向键移动和空格键跳跃。 2. 碰撞体 这时候运行游戏,Player会直接坠落,我们可以在场景中添加一个碰撞体。 在窗口上方的菜单栏中切换回至2D模式,Game场景,①给Game添加一个子节点StaticBody2D。②给这个节点添加Collis...
Godot 游戏引擎中的每个 2D Body 节点(以及实现 body 功能所需的节点)。然后我们使用这些节点来制作游戏。换句话说,我使用 Node、CanvasItem、Node2D CollisionObject2D、PhysicsBody2D、StaticBody2D、AnimatableBody2D、CharacterBody2D、RigidBody2D、Area2D、CollisionPolygon2D、CollisionShape2D、Line2D、Marker2D 和 ...
检查角色的RigidBody节点:确保你的蝙蝠节点下面有一个RigidBody节点,并且这个节点的Mode设置为"Character"。此设置将使物理引擎将其视为一个可以自由移动的角色,而不是一个刚体。你也应该检查"Kinematic"和"Static"碰撞选项是否已启用。2. 优化碰撞套接字:如果你的场景包含大量对象并对性能有影响,你可能会需要使用...
CharacterBody2D 提供了 move_and_slide ,通过 velocity.x 或者 velocity.y 来控制移动 另外还可以通过 process里用 delta*speed 来进行移动 十二. 鼠标点击 可以通过_input(event): 来监听点击事件 在模拟器上模拟屏幕点击需要在项目设置中: 输入设备-指点 中勾选用鼠标模拟触摸 ...
在Godot游戏引擎中,场景是由多个节点组成的。这些节点是游戏开发中最基本的构建块,它们被组织成树状结构。例如,一个角色节点可能包括CharacterBody2D、Camera2D、Sprite2D和CollisionShape2D等多个节点。节点在编辑器中的外观与场景相同。当你将一棵节点树保存为场景时,它在编辑器中显示为一个单一的节点,其内部结构是隐...
floor属性那栏都试过了,在斜坡上还是一直往下滑😭 佰谨02 物理系统 6 看看代码和检查器面板 mbt55 动画特效 4 extends CharacterBody2D@onready var animated_sprite_2d: AnimatedSprite2D = $AnimatedSprite2D@onready var collision_shape_2d_2: CollisionShape2D = $CollisionShape2D2const speed = 130....