我已经在顶部声明了精灵数组:
private Sprite[] how_to=new Sprite[4];
在createscene方法中将精灵初始化为:
how_to[0]=new Sprite(0, 0, resource_manager.how_to_bg_region1, vbx);
how_to[1]=new Sprite(0, 0, resource_manager.how_to_bg_region2, vbx);
how_to[2]=new Sprite(0, 0, resource_manager.how_to_bg_region3, vbx);
how_to[3]=new Sprite(0, 0, resource_manager.how_to_bg_region4, vbx);
how_to[4]=new Sprite(0, 0, resource_manager.how_to_bg_region5, vbx);
给出空指针异常:
07-10 16:39:27.135: E/AndroidRuntime(778): FATAL EXCEPTION: UpdateThread
07-10 16:39:27.135: E/AndroidRuntime(778): java.lang.NullPointerException
07-10 16:39:27.135: E/AndroidRuntime(778): at com.example.cotr.How_to.createScene(How_to.java:27)
你的数组大小是4。所以你可以初始化4个从索引0到3开始的对象。
如果你想这样做,how_to[4]=new Sprite(0, 0, resource_manager.how_to_bg_region5, vbx);
尝试将你的数组大小增加到5。
private Sprite[] how_to=new Sprite[5];
您初始化了一个包含4个元素的数组,并为其分配了5个元素。删除最后一个精灵
how_to[4]=new Sprite(0, 0, resource_manager.how_to_bg_region5, vbx);