搞不明白 迢迢遥望一天河 GDScript 5 问题解决了,原来是我调整了scale,导致进度条以最左边为中心按比例缩小了。这里调整位置应该结合scale才行:x0 = get_global_mouse_position().x - size.x/2 * scale.xy0 = get_global_mouse_position().y - size.y/2 * scale.y...
之后我再去调global_position得到的坐标跟以前没放进viewport时不一样了。我大概理解是坐标系换了,对着文档社区搜了几天也没搞懂怎么得到跟以前一样的global_position上图给出的例子,我想在武器攻击的一瞬间生成一个blink 在武器的位置,在没有套viewport的时候 我在武器的脚本上写:get_tree().get_root().add_...
# 新建项目,添加任意 2D 节点作为根节点,这里以 Area2D 节点为例, # 添加 CanvasLayer 作为子节点, 附加脚本; extends CanvasLayer func _ready() -> void: print(get_node('/root')) # root:<Window#28538045754> print(get_viewport()) # root:<Window#28538045754> Node2D 2D 游戏对象, 包含 positio...
nav = GetNode<NavigationAgent2D>("NavigationAgent2D"); } public override void _PhysicsProcess(double delta) { //设置鼠标位置为导航目标点 nav.TargetPosition = GetGlobalPosition(); //朝向该方向移动 Vector2 dir = (nav.GetNextPathPosition() - this.Position).Normalized(); //朝向方向移动 Velocit...
extends Node2D @onready var path_node = $"../Path2D" var points = PackedVector2Array() func _ready() -> void: var curve = path_node.curve for idx in curve.get_point_count(): var point_poisition = path_node.to_global(curve.get_point_position(idx)) points.append(point_poisition...
创建的子弹.global_position = global_position#设置子弹弹头的朝向创建的子弹.rotation = 子弹方向向量.angle()add_child(创建的子弹)回复 1楼 2024-12-13 12:23 -诺里- 着色器 8 节点变换跟随父节点,所以不要直接添加为武器的子节点,可以添加到get_tree().current_scene上 收起回复 2楼 2024-12-13 ...
{ "direction", (Vector2)scene.GetNode("Player").Get("direction") }, { "position", new Dictionary { { "x", scene.GetNode("Player").Get("global_position").AsVector2().X }, { "y", scene.GetNode("Player").Get("global_position").AsVector2().Y } ...
1. 获取当前指针位置:init_mouse_position = get_global_mouse_position()2. 缩放:zoom = Vector2.ONE * ratio3. 获取镜头缩放后的指针位置:current_mouse_position = get_global_mouse_position()4. 调整镜头平移:offset -= current_mouse_position - init_mouse_position这样先缩放,后平移是无奈之举——...
1.创建500个刚体 1帧内创建,需要238毫秒,明显感觉到卡顿 代码如下 ``` func _生产敌人基础(生产数量_参数:int=生产数量): 当前存在数量 += 生产数量_参数 var 刷怪数量 = 生产数量_参数 var 敌人数组 = _创建敌人(刷怪数量) for i in 敌人数组: i.global_position = 玩家.获得一个怪物的随机点() i...
info.text = get_text(event.get_position(),player.global_position) var testSprite:PackedScene = preload("res://src/Test/Test.tscn") var node = testSprite.instance() add_child(node) node.global_position = event.position 结果偏移量的大小毫无规律可言,时大时小,我就在困惑中度过了一天 ...