创建的子弹.global_position = global_position#设置子弹弹头的朝向创建的子弹.rotation = 子弹方向向量.angle()add_child(创建的子弹)-诺里- 数学算法 7 节点变换跟随父节点,所以不要直接添加为武器的子节点,可以添加到get_tree().current_scene上壁花少年、 着色器 8 add_child(创建的子弹)你这一句,是把...
之后我再去调global_position得到的坐标跟以前没放进viewport时不一样了。我大概理解是坐标系换了,对着文档社区搜了几天也没搞懂怎么得到跟以前一样的global_position上图给出的例子,我想在武器攻击的一瞬间生成一个blink 在武器的位置,在没有套viewport的时候 我在武器的脚本上写:get_tree().get_root().add_...
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这样先缩放,后平移是无奈之举——...
connect(func(direction): bullet.position += direction * speed ) # 创建一个 1 秒持续时间的计时器,添加到 bullet 上,时间结束后调用子弹的 queue_free 销毁子弹 # 并会自动开始计时器 NodeUtil.create_timer(1, bullet, bullet.queue_free, true) # 添加到当前场景中节点中 get_tree().current_scene.a...
var viewport_center = get_viewport().size / 2.0 var origin = camera.project_ray_origin(viewport_center) # TODO 理论上应该这样写没错。但是实际上在我们的情况下origin就始终等于摄像机的global_position。你可以试着给project_ray_origin传入任意值,只要摄像机不动,这个结果就应该是不变的。
#所以本场景的Sprite只需要改变x坐标,也能实现向不同角度发射的目的 $Sprite.position.x += speed * delta #当发射出去1000px远时,删除自身以释放资源 if $Sprite.position.x > 1000: self.get_parent().remove_child(self) 好了,大功告成,接下来运行游戏试试看吧...
请问这个错误是怎么回..这个错误就是继承的类型不一样。需要把get_global_mouse_position()改成get_viewport().get_mouse_position()如果需要继承Node类型的话,就只能
刚开始跟着教程学习godot,学习过程中遇到如下问题一直不解:游戏中坦克炮管与鼠标位置一直成90度角,期望坦克炮管跟随鼠标位置转动代码:extends "res://Tanks/Tank.gd"func control(delta): #look_at(get_global_mouse_position()) $Turret.look_at(get_global_mouse_position()) # 控制炮管跟随鼠标位置 var rot...
extendsSpritefunc_process(delta):look_at(get_global_mouse_position()) 可以看到代码非常简单,有效代码只有3行。 look_at() 其中look_at是Node2D类型的方法。它的作用就是让Sprite的朝向指向给定的point参数所在的位置。而我们传入的get_global_mouse_position()获取的是鼠标在游戏屏幕上的全局坐标。
self.global_transform.origin = self.get_global_mouse_position() # 盒子掉出地图之外删除 if self.position.y > deadPosition: self.queue_free() func pickup() -> void: if _isPicked: return _isPicked = true self.mode = RigidBody2D.MODE_STATIC # 拾起盒子,更改为静态模式func drop(velocity: ...