- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这是我的代码,用于加载带有模型的节点,然后附加动画控件。我收到 NullPointerException 因为它说我的 AnimControl 为 null。
我的动画控制类位于 Models/stickman.blend/Armature/Cube
Node model = (Node)assetManager.loadModel("Models/stickman.j3o");
control = model.getControl(AnimControl.class);
control.addListener(this);
channel = control.createChannel();
channel.setAnim("jump");
model.scale(0.25f);
model.addControl(physicsCharacter);
getPhysicsSpace().add(physicsCharacter);
rootNode.attachChild(model);
如何摆脱这个空指针异常或将 AnimControl 类移出子目录,使其不为空?谢谢。
java.lang.NullPointerException
at mygame.Main.simpleInitApp(Main.java:96)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:226)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:130)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:207)
at java.lang.Thread.run(Thread.java:744)
最佳答案
NullPointerException 尽可能清楚地告诉您变量 control
为 null。这反过来意味着 model.getControl(AnimControl.class);
返回了 null。 javadoc tells you it will do this如果没有 AnimControl.class 类型的控件
我想,看看the tutorial ,您必须将您的节点附加到根节点。来自 this page
Every JME3 application has a rootNode: Your game automatically inherits the rootNode object from SimpleApplication.
因此,只要您的类扩展了 SimpleApplication
,您只需添加
rootNode.attachChild(model);
紧接着
Node model = (Node)assetManager.loadModel("Models/stickman.j3o");
这个附件似乎会自动将您的模型与控件关联起来 - 正如animation beginners tutorial中的这段代码片段所示。
player = (Node) assetManager.loadModel("Models/Oto/Oto.mesh.xml");
player.setLocalScale(0.5f);
rootNode.attachChild(player);
control = player.getControl(AnimControl.class);
关于java - Jmonkey 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28037198/
我是 Jmonkey 编程的新手,我想问一个关于碰撞交互的问题,因为我的代码似乎从地形中找到了可能的碰撞,我不知道如何解决这个问题。我的目标是玩家作为第一个被检测到的人,如果他与敌人的幽灵控制相撞以显
如何朝十字准线指向的方向拍摄? 使用 JMonkey 引擎,我正在创建一个游戏,我需要一艘船来射击其他船。 因此,我创建了可以根据用户输入在屏幕上移动(上、下、左、右)的十字准线,以便用户可以瞄准某个
本周第一次开始使用 jMonkeyEngine SDK,我有点陷入了困境。我继承了别人的代码,但我正在努力让它在他们的机器上运行(他们也休假了几周,所以失去了联系)。 问题是当我尝试运行代码时,我收到
这是我的代码,用于加载带有模型的节点,然后附加动画控件。我收到 NullPointerException 因为它说我的 AnimControl 为 null。 我的动画控制类位于 Models/sti
我在 JME (JMonkey) 中遇到旋转然后平移两个框的问题。我搜索了论坛并发现了其他语言的一些类似问题,但我不明白答案,这可能是因为我不懂其他语言。我有两个带有 .lookat( [the ot
在 jmonkey 中,我看到了他们的第一个教程,出于好奇,它正在通过鼠标移动移动一个盒子,至于玩这个新玩具,我尝试使用鼠标移动来移动球体。由于功能几乎相同,我用 Sphere 替换了 Box。 pu
我正在学习 JMonkey,目的是在它的基础上构建一个框架。 如何管理资源缓存? 有什么办法可以清除吗? 有什么方法可以从缓存中删除特定项目吗? 我一直在查看应用程序对象中的 assetMaager
我正在将 jMonkey 教程翻译为 JRuby,目前位于 8th初学者。但是当我运行它时,它一直提示没有定义 settings 方法或局部变量。 settings 应该是实例变量、方法还是什么? 编
这是 JME3 教程中 HelloPhysics 的一个非常简单的扩展。当您点击一 block 砖 block 时,该砖 block 就会从游戏和物理空间中移除。如果你移走砖 block 的速度足够快
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
有没有办法检测用户是否停止滑动?也许 bij 鼠标输入检查之类的。我尝试在 onSliderChange 事件中使用鼠标 isButton0Release 和 hasFocus 来检查用户是否停止滑动
通常情况下,鼠标被锁定在窗口上并且不可见;以第一人称射击游戏的风格控制相机。 我的理解是您从 JMonkey 窗口解锁鼠标并通过调用使其可见 inputManager.setCursorVisible
我正在尝试在使用 JMonkey Engine 3D 图形库指定的 3D 顶点之间绘制直线。 JMonkey 当然针对导入模型进行了优化,但我知道它也可以用于“内部”创建自定义形状。 例如,如果我要尝
我正在编写一个应该显示 3D 点云的程序。为此,我正在使用 jMonkeyEngine。不幸的是,我不喜欢 jMonkey 的默认相机行为。尤其是鼠标拖动和鼠标滚轮并没有真正按照我的意愿行事。我想要的
我想编辑默认 JMonkey 项目的启动屏幕,以便用自定义图像(我们的项目 Logo )替换显示 JMonkey 的图像。我指的是执行 SimpleApplication 项目时出现的屏幕。我在 Li
我已经开始学习使用jMonkey引擎进行游戏开发。我能够使用 TerrainQuad 创建单个地形图 block ,但下一步我坚持使其无限。我已经浏览了 wiki 并想使用 TerrainGrid 类
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我已经翻译并使用了初学者 #5 之前的所有教程,但我对 Java 的了解还不够深,不知道如何移植这些行: private ActionListener actionListener = new Act
我最近了解到 jMonkey 仅在一个线程上运行,即它的 openGL 渲染线程。但是我无法完全理解它。我可以理解它在单个更新循环中执行所有更新和初始化()调用,但输入应该独立于此更新循环,否则它将成
在 JME3 中,当从图像加载纹理时,它会将其拉伸(stretch)到我放置它的四边形的大小。但它也模糊了它,我不想要这个(我正在制作 Minecraft 风格的图形),所以我怎么能阻止它呢? 此外,
我是一名优秀的程序员,十分优秀!