这个错误是因为将相机节点传递给了addCollider()方法,但是它需要的是一个NodePath。解决方法是将相机节点包装在NodePath对象中,像这样:

self.cTrav = self.collisionManager.addCollider(self.cam.attachNewNode("camCollider"), self.collisionHandler)

这里我们将相机节点包装在一个新的NodePath对象中,并将其传递给addCollider()方法。然后,我们使用attachNewNode()方法将其与相机节点关联。这将创建一个新的NodePath对象,它将作为我们的碰撞器。

pythonfrom directshowbaseShowBase import ShowBasefrom panda3dcore import CollisionTraverser CollisionHandlerEventclass MyAppShowBase def __init__self ShowBase__init__self # 加载

原文地址: https://www.cveoy.top/t/topic/fDhU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录