j2me 加载图片 100
importjavax.microedition.lcdui.Canvas;importjavax.microedition.lcdui.Graphics;importj...
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import java.util.*;
public class canvas extends Canvas implements Runnable
{
public Image img[]=new Image[5];
public canvas()
{
try
{
img[0]=Image.createImage("/1.png");
img[1]=Image.createImage("/2.png");
img[2]=Image.createImage("/3.png");
img[3]=Image.createImage("/4.png");
img[4]=Image.createImage("/5.png");
}
catch(Exception e)
{
}
(new Thread(this)).start();
}
protected void paint(Graphics g)
{
g.drawImage(img[4],55,55,Graphics.BOTTOM|Graphics.TOP);
//pig.draw(g);
}
public void run()
{
// TODO 自动生成方法存根
while(true)
{
repaint();
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
绘制img[0],img[1],img[2],img[3]可以,为什么到第四个就出现nullpointerexception 展开
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import java.util.*;
public class canvas extends Canvas implements Runnable
{
public Image img[]=new Image[5];
public canvas()
{
try
{
img[0]=Image.createImage("/1.png");
img[1]=Image.createImage("/2.png");
img[2]=Image.createImage("/3.png");
img[3]=Image.createImage("/4.png");
img[4]=Image.createImage("/5.png");
}
catch(Exception e)
{
}
(new Thread(this)).start();
}
protected void paint(Graphics g)
{
g.drawImage(img[4],55,55,Graphics.BOTTOM|Graphics.TOP);
//pig.draw(g);
}
public void run()
{
// TODO 自动生成方法存根
while(true)
{
repaint();
try
{
Thread.sleep(100);
}
catch (InterruptedException e)
{
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
绘制img[0],img[1],img[2],img[3]可以,为什么到第四个就出现nullpointerexception 展开
1个回答
展开全部
import java.io.IOException;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class UseSprite extends GameCanvas implements Runnable {
boolean isPlay;
long delay;
int currentX, currentY;
int width;
int height;
Sprite sprite;
Sprite nonSprite;
public UseSprite() throws IOException {
super(true);
width = getWidth();
height = getHeight();
currentX = width / 2;
currentY = height / 2;
delay = 20;
System.out.println("载入图片中···");//【问题就在这里,到了这里卡住了,不往下走了】
Image img1=Image.createImage("/flat3.png");
System.out.println("Loaded Picture 1");
sprite=new Sprite(img1,33,34);
Image img2=Image.createImage("/flat3.png");
System.out.println("Loaded Picture 2");
nonSprite=new Sprite(img2,33,34);
//this.setFullScreenMode(true);
}
public void drawScreen(Graphics g) {
g.setColor(0xFF0000);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0xFF0000);
sprite.setPosition(currentX, currentY);
sprite.paint(g);
nonSprite.setPosition(0, 0);
nonSprite.paint(g);
flushGraphics();
}
public void move() {
int keyStates = getKeyStates();
sprite.setFrame(0);
if ((keyStates & LEFT_PRESSED) != 0) {
currentX = Math.max(0, currentX - 1);
sprite.setFrame(1);
}
if ((keyStates & RIGHT_PRESSED) != 0) {
if (currentX + 5 < width) {
currentX = Math.min(width, currentX + 1);
sprite.setFrame(3);
}
}
if ((keyStates & UP_PRESSED) != 0) {
currentY = Math.min(0, currentY - 1);
sprite.setFrame(2);
}
if ((keyStates & DOWN_PRESSED) != 0) {
if (currentY + 10 < height) {
currentY = Math.min(height, currentY + 1);
sprite.setFrame(4);
}
}
}
public void start() {
isPlay = true;
Thread t = new Thread(this);
t.start();
}
public void stop() {
isPlay = false;
}
public void run() {
Graphics g = getGraphics();
while (isPlay == true) {
move();
drawScreen(g);
try {
Thread.sleep(delay);
} catch (Exception e) {
// TODO: handle exception
}
}
}
}
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class UseSprite extends GameCanvas implements Runnable {
boolean isPlay;
long delay;
int currentX, currentY;
int width;
int height;
Sprite sprite;
Sprite nonSprite;
public UseSprite() throws IOException {
super(true);
width = getWidth();
height = getHeight();
currentX = width / 2;
currentY = height / 2;
delay = 20;
System.out.println("载入图片中···");//【问题就在这里,到了这里卡住了,不往下走了】
Image img1=Image.createImage("/flat3.png");
System.out.println("Loaded Picture 1");
sprite=new Sprite(img1,33,34);
Image img2=Image.createImage("/flat3.png");
System.out.println("Loaded Picture 2");
nonSprite=new Sprite(img2,33,34);
//this.setFullScreenMode(true);
}
public void drawScreen(Graphics g) {
g.setColor(0xFF0000);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0xFF0000);
sprite.setPosition(currentX, currentY);
sprite.paint(g);
nonSprite.setPosition(0, 0);
nonSprite.paint(g);
flushGraphics();
}
public void move() {
int keyStates = getKeyStates();
sprite.setFrame(0);
if ((keyStates & LEFT_PRESSED) != 0) {
currentX = Math.max(0, currentX - 1);
sprite.setFrame(1);
}
if ((keyStates & RIGHT_PRESSED) != 0) {
if (currentX + 5 < width) {
currentX = Math.min(width, currentX + 1);
sprite.setFrame(3);
}
}
if ((keyStates & UP_PRESSED) != 0) {
currentY = Math.min(0, currentY - 1);
sprite.setFrame(2);
}
if ((keyStates & DOWN_PRESSED) != 0) {
if (currentY + 10 < height) {
currentY = Math.min(height, currentY + 1);
sprite.setFrame(4);
}
}
}
public void start() {
isPlay = true;
Thread t = new Thread(this);
t.start();
}
public void stop() {
isPlay = false;
}
public void run() {
Graphics g = getGraphics();
while (isPlay == true) {
move();
drawScreen(g);
try {
Thread.sleep(delay);
} catch (Exception e) {
// TODO: handle exception
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询