Panda3D中globalClock.getDt()无法使用、PyCharm标红,是否需要额外导入?
问题原因与修复方案
是的,globalClock报红的核心原因是缺少对应的导入声明,同时你的代码还存在其他几处需要修正的问题,具体修改如下:
1. 补全缺失的导入声明
globalClock属于panda3d.core模块,另外你代码中继承的ShowBase也未做导入,将头部导入代码修改为:
from panda3d.core import loadPrcFileData, globalClock from direct.showbase.ShowBase import ShowBase
如果补全导入后PyCharm仍有红色波浪线提示,检查当前项目绑定的Python解释器是否为你已经安装了Panda3D依赖的环境即可。
2. 修正父类初始化调用错误
继承ShowBase调用父类构造方法时不需要传入self参数,将__init__方法中的父类初始化代码修改为:
super().__init__()
3. 修正update方法内的逻辑错误
你当前写的self.x = self.speed = dt属于赋值逻辑错误,按照常规移动位移计算逻辑应该修改为:
self.x += self.speed * dt
内容的提问来源于stack exchange,提问作者Amanda Sun
相关产品推荐
相关产品推荐

