Godot常见错误(长期更新)

  • 打印basis和打印basis.xyz不一致

注意打印basis是按行输出matrix的,而正常获取basis.xyz元素应该是按列

        [a b c] 
Basis = [d e f], Basis.X = [a, d, g]
        [g h i]

  • 屏幕空间投射仅在距离为cam  far出问题(大于小于都正常)

Camera.project_position() always give wrong results when z_depth is Camera.far

var pos_near = Cam.project_position(mouse_pos, Cam.near) var pos_far = Cam.project_position(mouse_pos, Cam.far - 1)

  • get_node()返回null时,编辑器抛出异常。正确方式是使用get_node_or_null()

  • 编辑器中使用remove_and_skip()可能造成闪退
  • Custom Class获取类名不一致
使用get_class()获取自定义类(使用class_name定义的类)只能获取其父类名。如
#npc.gd

extends Sprite
class_name NPC

此时获取npc_node.get_class()返回的是"Sprite"而不是"NPC",想要判断的话可以使用is关键字
node is NPC而要获取到正确类名的话要手动覆写get_class类
get_class():
    return"NPC"

  • 空项目出现单帧尖峰(未解决,可能是引起stutter卡顿的直接原因)


  • 异步加载关卡时碰撞体弹出错误,碰撞体载入不完全

  • TileMap出现闪烁的线

  • area2d/area禁用monitorable后无法检测静态碰撞体


Comments

Popular posts from this blog

活在当下-从尾巴摇狗的荒谬中解放自我

Metroidvania银河恶魔城游戏开发指南(一)

折衷主义建筑