J2ME实现图片的运动由按钮控件

本文介绍了一个简单的Java ME平台上的游戏开发实例,通过继承Canvas类并重写paint方法来绘制图像,并实现了基本的键盘事件响应以控制图像位置的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

//按键的实例

public class Midlet1 extends MIDlet{
 private Display dis=Display.getDisplay(this);
private  myCanvas mc=new myCanvas();
 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  // TODO Auto-generated method stub
  
 }

 protected void pauseApp() {
  // TODO Auto-generated method stub
  
 }

 protected void startApp() throws MIDletStateChangeException {
  // TODO Auto-generated method stub
  dis.setCurrent(mc);
  
 }
 class myCanvas extends Canvas
 {
  private int x=0;
  private int y=0;
  private Image im;
  public myCanvas()
   {
   try{
    im=Image.createImage("/image.gif");//加载图片,图片资源放在res中命名为image.gif
    }catch(Exception e){}
    
   }

  protected void paint(Graphics arg0) {
   // TODO Auto-generated method stub
   arg0.setColor(255, 255, 255);
   arg0.fillRect(0, 0, this.getWidth(), this.getHeight());
      arg0.drawImage(im, x, y, Graphics.TOP|Graphics.LEFT);
   
  }
  protected void keyRepeated(int key)
  {
   if(key==Canvas.KEY_NUM2)//按下按钮2向上移动
   {
    y-=5;
   }
   else if(key==Canvas.KEY_NUM8)//按下按键8上移
   {
    y+=5;
   }else if(key==Canvas.KEY_NUM4)//按下按键4向左移动
   {
    x-=5;
   }
   else if(key==Canvas.KEY_NUM6)//按下按键6向右移动
   {
    x+=5;
   }
   this.repaint();
  }
  
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值