镜头移动在游戏开发中非常重要。因此,在这篇 Godot 4 教程中,我想解释有关 Camera2D 节点的所有知识。从如何使用它、它是什么、我们可以创建的相机效果,以及如何按照您的想象在游戏中实现它。该视频应该可以让您更深入地了解 Godot 中的相机节点。项目源码:https://devw
这时候就需要使用一个新的节点Remote Transform2D,它将用于远程跟随。 添加步骤: 首先将Camera2D从角色子节点移出,可以移动到根节点下。 接着为角色节点添加子节点Remote Transform2D。 选中Remote Transform2D节点,为Remote Path选择我们的Camera2D节点。 保存后再次运行。 可以看到,镜头仍然在跟随,但当角色死亡被清除...
GODOT-2D自由相机 时间魔术师的宝贝龙 九年制义务教育的漏网之鱼extends Camera2D var speed:float = 2.0; var height:float = 1.0; func _ready() -> void: pass func _process(delta: float) -> void: if Input.is_action_pressed("mb_left"): # 获取向量 var dir = get_viewport().get_mouse_...
在Game场景中,选中Camera2D,打开右侧的Limit属性,可以使用尺子模式(快捷键R)测量一下长度,修改Limit中对应的值,实现摄像机位置的限制。三. Game Over 1. Killzone 创建一个新场景,创建Area2D节点,将Collision中的Mask改为2,使其只和Player发生检测。重命名为Killzone,保存。2...
Viewport的属性 Viewport.canvas_transform 属性,改变这个属性可以用于改变其内部所有 canvasItem 节点在屏幕上的位置。Camera2D正是运用这个特性来调整屏幕。 但是注意,想达成像是滚动等效果,比起调整屏幕,调整 canvas 的 transform 性能上更加高效。 1.2 CanvasLayers ...
选中Camera2D 节点,添加一个新的脚本。 还是先从变量开始。 首先,需要设置一个可视屏幕,也是一个网格的大小,根据我们的素材情况,设置为320*184。 同时,为了便于判断角色是否移动到屏幕外,在x轴和y轴上都记录一下屏幕移动的次数。 最后,引用player节点进来。 var grid_size = Vector2(320, 184) var grid_x ...
WheelUp:// 向前放大if(mb.Pressed&&view_zoom>0.6){view_zoom-=0.1f;Zoom(view_zoom);}break;case(int)ButtonList.Middle:// 滚轮按下拖拽视角if(mb.Pressed){camera_drag=true;mouse_screen_old_pos=mouse_screen_pos;camera_old_pos=camera.Position;}else{camera_drag=false;}break;}}}// InputEvent...
Godot中的摄像机节点就叫Camera,主要有2D和3D两种版本。在2D场景中我们自然选择Camera2D。基本的用法也非常简单,我们只需要在我们的Player场景中加入Camera2D即可: 2D摄像机可以调整的参数也比较简单直白。Offset是偏移不用说。Ignore Rotation会忽略旋转。Zoom是缩放,你可以根据场景大小来拉近拉远摄像机。
Camera2D: 用于 2D 场景的 Camera 节点。 CanvasGroup: 将多个 2D 节点合并为单个绘制操作。 CanvasModulate: 一个为画布应用颜色色调的节点。 CollisionObject2D: 2D 物理对象的抽象基类。 Area2D: 一个检测其他 CollisionObject2D 进入或退出的 2D 空间区域。
我们之前已经了解到2D场景中可以加入一个Camera2D节点用来控制2D游戏的画面,类似地,我们有一个Camera3D节点。 加入Camera3D节点后选中它,在3D视图中可以看到一个Preview(预览)按钮: 勾选后编辑器的3D视口中可以预览透过此摄像机看到的画面。 然而,启动游戏我们会发现画面中虽然有我们的场景,但是是黑乎乎的。