⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imagescreen.java

📁 手机游戏设计一书的源代码
💻 JAVA
字号:
import  javax.microedition.lcdui.*;

public class ImageScreen extends Canvas
        implements CommandListener {


    public ImageScreen () {
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    private void jbInit () throws Exception {
        // 设置该显示对象监听命令事件
        setCommandListener(this);
        // 添加Exit 命令
        addCommand(new Command("Exit", Command.EXIT, 1));
        new Thread(new ImageDrawer()).start();
    }

    /**处理命令事件 */
    public void commandAction (Command command, Displayable displayable) {

        if (command.getCommandType() == Command.EXIT) {
            //停止MIDlet
            MultiThreadMIDlet.quitApp();
        }
    }

    protected void paint (Graphics g) {

        g.setColor(255, 255, 255);
        g.fillRect(0, 0, getWidth(), getHeight());
        if (m_screenBuff != null) {
            g.drawImage(m_screenBuff, currentX, 50, Graphics.TOP | Graphics.LEFT);
        }
    }

   //图像绘制类,采用双缓冲机制实现多线程绘图。
    class ImageDrawer
            implements java.lang.Runnable {
        Image img;
        Graphics g;

        public ImageDrawer () {
            try {
                img = Image.createImage("/imgs/forwardarrow.png");
            } catch (Exception ex) {}
        }

        /**
         * 线程主方法
         */
        public void run () {
             //在缓冲区中绘制图像
            m_screenBuff = Image.createImage(img.getWidth(), img.getHeight());
            Graphics m_bufferGraphics = m_screenBuff.getGraphics();
            m_bufferGraphics.setColor(0, 0, 0);
            m_bufferGraphics.fillRect(0, 0, getWidth(), getHeight());
            m_bufferGraphics.drawImage(img, 0, 0, Graphics.TOP | Graphics.LEFT);
            while (currentX < getWidth()) {
                currentX++;
                repaint();
                try {
                    Thread.sleep(100);
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
    private int currentX = 0;
    private Image m_screenBuff = null;
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -