parameters.from = camera.global_position parameters.to = camera.project_ray_normal(get_viewport().size / 2.0) * 1000 var result = get_world_3d().direct_space_state.intersect_ray(parameters) 说了这么多终于说到获得结果了。比较奇葩的是intersect_ray返回的是一个字典,具体包含哪些内容在文档中有说。
godot 随机地图2-创建一个RTS camera 学到的东西得用,直接get_viewport().get_mouse_position()判断一下,来得非常实在,为了脑残一下,我使用area+signal 一、创建camera和area 二、连接信号 双击进入 然后重复7次,在camera的script里面就可以得到流水账 分配修改移动camera的position就好了 得到的结果就非常的操 如...
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这样先缩放,后平移是无奈之举——...
在戈多,我使用了一个跟随玩家的Light2D,作为一种主光。场景"player“的根是一个KinematicBody2d,Light2D和Camera2d是子节点。对于相机,平滑已启用。正如Godot文档中所解释的,我可以使用get_camera_screen_center()来获取相机的实际位置。我以为像light.position = $"Camera" 浏览16提问于2021-07-11得票数 1 回答...
var center_position = Game.current_camera.get_camera_screen_center() + Vector2(0,half_brick_size) var center_tile = self.world_to_map(center_position) var top_left = center_tile + Vector2(-left_right_tile_payload/2,0) var bottom_right = center_tile + Vector2(left_right_tile_payload...
根据实验结果猜测event.position实际是视窗内的坐标,不是全局坐标,需要根据camera位置进行转换;如图: 用camera.get_camera_screen_center()-node.get_viewport().get_visible_rect().size/2替换 一切似乎正常了 迁移回我的项目,发现位置还是差一点,结合之前的经验,由于我的camera使用了zoom缩放1.5倍,多半是缩放导致...
场景"player“的根是一个KinematicBody2d,Light2D和Camera2d是子节点。对于相机,平滑已启用。正如Godot文档中所解释的,我可以使用get_camera_screen_center()来获取相机的实际位置。我以为像light.position = $"Camera".get_came 浏览16提问于2021-07-11得票数 1 回答已采纳...
$Camera2D.offset.y = randf() * magnitude yield(get_tree().create_timer(duration), "timeout") $Camera2D.offset = Vector2(0, 0) 这些只是Godot相机用法的基础,具体取决于你的项目需求。在Godot官方文档中,你可以找到更详细的信息和示例代码,以便更好地理解和使用相机功能。©...
相机不使用平滑是没有差别的:GetCameraPosition、Position、GetCameraScreenCentervarlocal_pos=(global_pos-camera_glbl_pos)/game_mnger.camera.Zoom;// 因为zoom <1 是放大,自然除以zoom,令其远离中心点varscrn_pos=local_pos+OS.WindowSize/2;// 只是转到以屏幕左上角为原点HUDStrings=newHUDString(str,...
var mouse_pos = _global.viewport.get_mouse_position() / window_scale - (game_size/2) + player.global_position 参考代码Godot-Collected-Thingies/Godot-Tutorial-SmoothCamera at master · RPicster/Godot-Collected-Thingies (github.com) 谁卑微了承诺 GDScript 7 找到原因了,我设置了这个2D拉伸模式,导...