hawkmidlet.java

来自「J2ME MIDP_Example_Applications」· Java 代码 · 共 193 行

JAVA
193
字号
// Copyright 2003 Nokia Corporation. // // THIS SOURCE CODE IS PROVIDED 'AS IS', WITH NO WARRANTIES WHATSOEVER, // EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS // FOR ANY PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE // OR TRADE PRACTICE, RELATING TO THE SOURCE CODE OR ANY WARRANTY OTHERWISE // ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE AND WITH NO // OBLIGATION OF NOKIA TO PROVIDE THE LICENSEE WITH ANY MAINTENANCE OR // SUPPORT. FURTHERMORE, NOKIA MAKES NO WARRANTY THAT EXERCISE OF THE // RIGHTS GRANTED HEREUNDER DOES NOT INFRINGE OR MAY NOT CAUSE INFRINGEMENT // OF ANY PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OWNED OR CONTROLLED // BY THIRD PARTIES // // Furthermore, information provided in this source code is preliminary, // and may be changed substantially prior to final release. Nokia Corporation // retains the right to make changes to this source code at // any time, without notice. This source code is provided for informational // purposes only. // // Nokia and Nokia Connecting People are registered trademarks of Nokia// Corporation.// Java and all Java-based marks are trademarks or registered trademarks of// Sun Microsystems, Inc.// Other product and company names mentioned herein may be trademarks or// trade names of their respective owners.// // A non-exclusive, non-transferable, worldwide, limited license is hereby // granted to the Licensee to download, print, reproduce and modify the // source code. The licensee has the right to market, sell, distribute and // make available the source code in original or modified form only when // incorporated into the programs developed by the Licensee. No other // license, express or implied, by estoppel or otherwise, to any other // intellectual property rights is granted herein.// unnamed packageimport javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class HawkMIDlet    extends MIDlet    implements Runnable{    private MenuList menuList;    private InstructionsScreen instructionsScreen;    private HawkCanvas hawkCanvas;    private boolean initDone = false;    public HawkMIDlet()    {    }        public void startApp()    {        Displayable current = Display.getDisplay(this).getCurrent();        if (current == null)        {            // first time we've been called            Display.getDisplay(this).setCurrent(new SplashScreen(this));        }        else        {            if (current == hawkCanvas)            {                hawkCanvas.start();            }            Display.getDisplay(this).setCurrent(current);        }    }    public void pauseApp()    {        Displayable current = Display.getDisplay(this).getCurrent();        if (current == hawkCanvas)        {            hawkCanvas.stop();        }    }    public void destroyApp(boolean unconditional)    {        if (hawkCanvas != null)        {            hawkCanvas.stop();   // kill its animation thread        }    }    private void quit()    {        destroyApp(false);        notifyDestroyed();    }    public void run()    {        init();    }    private synchronized void init()    {        if (!initDone)        {            menuList = new MenuList(this);            hawkCanvas = new HawkCanvas(this);            initDone = true;        }    }    void splashScreenPainted()    {        new Thread(this).start();  // start background initialization    }    void splashScreenDone()    {        init();   // if not already done        Display.getDisplay(this).setCurrent(menuList);    }    void menuListContinue()    {        Display.getDisplay(this).setCurrent(hawkCanvas);        hawkCanvas.start();    }    void menuListNewGame()    {        hawkCanvas.init();        Display.getDisplay(this).setCurrent(hawkCanvas);        hawkCanvas.start();    }    void menuListInstructions()    {        if (instructionsScreen == null)        {            instructionsScreen = new InstructionsScreen(this);        }        Display.getDisplay(this).setCurrent(instructionsScreen);    }    void menuListQuit()    {        quit();    }    void hawkCanvasMenu()    {        hawkCanvas.stop();        menuList.setGameActive(true);        Display.getDisplay(this).setCurrent(menuList);    }    void instructionsBack()    {        Display.getDisplay(this).setCurrent(menuList);    }    // method needed by lots of classes, shared by putting it here    static Image createImage(String filename)    {        Image image = null;        try        {            image = Image.createImage(filename);        }        catch (java.io.IOException e)        {            // just let return value be null        }        return image;    }}

⌨️ 快捷键说明

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