2 o19830015 o19830015 于 2013.06.03 11:43 提问

程序报出NullPointerException

在第39行代码:modelBatch.begin(cam);报出 NullPointerException 异常。

请帮忙看看怎么回事,谢谢。

public class Loading implements Screen {

private boolean AP;
private Chemistry chemistry;
public PerspectiveCamera cam;
public ModelBatch modelBatch;
public Model model;
public ModelInstance instance;
public Lights lights;

public Loading(boolean AP, Chemistry chemistry) {
    this.AP = AP;
    this.chemistry = chemistry;
}

@Override
public void render(float delta) {
    Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(),
            Gdx.graphics.getHeight());
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

    modelBatch.begin(cam);
    modelBatch.render(instance, lights);
    modelBatch.end();
}

@Override
public void resize(int width, int height) {
}

@Override
public void show() {
            modelBatch = new ModelBatch();
    lights = new Lights();
    lights.ambientLight.set(0.4f, 0.4f, 0.4f, 1f);
    lights.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f,
            -0.2f));

    cam = new PerspectiveCamera(70, Gdx.graphics.getWidth(),
            Gdx.graphics.getHeight());
    cam.position.set(10f, 10f, 10f);
    cam.lookAt(0, 0, 0);
    cam.near = 0.1f;
    cam.far = 300f;
    cam.update();

    ModelBuilder modelBuilder = new ModelBuilder();
    model = modelBuilder.createBox(5f, 5f, 5f,
            new Material(ColorAttribute.createDiffuse(Color.GREEN)),
            Usage.Position | Usage.Normal);

    instance = new ModelInstance(model);

}
       ...
}

1个回答

u010122579
u010122579   2013.06.03 11:46
已采纳

肯定报空指针,因为首先你的cam没有初始化,也没有作为左值进行赋值。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Struts2的Action类执行Hibernate动态绑定查询报出NullPointerException
今天在用Struts2做东西,我的意图是要做一个查询所有信息的方法,这个方法是用hibernate中的动态绑定查询条件去做的。 方法如下: //动态查询拍卖物品 public List queryProduct(Product p,int beginnum,int pagesize){ Criteria c = se.createCriteria(Product.class); if(p
listView.getChildAt(i)时java.lang.NullPointerException
BaseAdapter返回的是当前屏幕所能显示Item条数的组件,所以通过listView.getChildAt(i); 返回的是当前屏幕所能显示的组件,不能通过listView.getChildAt(i)方法获取除当前屏幕所能显示组件以外的其它组件。
jmockit抛NullPointer异常,initialize failed异常
使用jmockit进行mock测试: 1. @Mocked 声明mock的属性 2. new Expectations中声明mock的方法和mock返回值。 3. Deencapsulation 将mock的属性设置到测试target之中。 4. 发起target调用。 nullPointer问题出在第二步,在mock方法时,被@Mocked注解的属性为null,声明mock方法的时候就
启动tomcat,出现BeanCreationException以及NUllPointerException
信誓旦旦决定在CSDN上写bolg记录自己平时遇到的bug,结果那天之后居然就没再写过了,正好最近遇到个特别头疼的bug,就趁着中秋放假,把它记录下来吧。 问题描述:前一天还运行正常的一个maven项目,第二天启动的时候出现了如下错误: 控制台打印信息如下: Caused by: org.springframework.beans.factory.BeanCreationException:
java 空指针异常(NullPointerException)
java 空指针异常(NullPointerException) java 空指针异常(NullPointerException)
NullPointerException的例子、原因
1、注意异常捕捉的顺序(从具体到模糊,即从子类异常到父类异常)          异常的分类参考:http://blog.csdn.net/woshixuye/article/details/8230407 2、空指针异常出现的原因:调用了null对象的方法或者属性,           例如   user  u=null;    u.getName();//   对象u是一个null值
Android NullPointerException解决方法(空指针异常)
不知道你在开发中遇到Android空指针异常NullPointerException相关的问题,这类问题的可能性比较多,常规的错误如下       一、刚刚升级了Android SDK,没有对emulator做清理工作            在模拟器的命令行commandline下加入-wipe-data可以清空模拟器,通常还可以解决Android模拟器无法启动等问题。       二、升级
!=null的正确使用心得——有些NullPointerException应该让它报出来
前言:笔者之前不知道从哪里学来的”好”习惯, 在引用引用类型的变量时总习惯性地先进行!=null非空判断, 说是这样可以防NullPointerException。渐渐地,我们就会慢慢体会到,程序运行是没错, 可是出来的结果却总是跟预期有出入, 这其实很有可能是我们!=null的错误使用造成的。 转载请注明出处: 先看一个错误用法的例子:package com.xinwo.adjusttem
DateContainer
DateContainer NullPointerException
解决MapReduce任务在windows本地执行的NullPointerException问题
为了能在调试MapReduce任务阶段有更好的工作效率,我们可以把URI的Schema设置为file:///,这样MapReduce任务就可以范围windows本地文件夹。当我在尝试这么做的时候出现了如下的空指针异常 Exception in thread "main" java.lang.NullPointerException at java.lang.ProcessBuilder