亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? retainedmodemidlet.java

?? 3Ddemo, 開發于J2ME
?? JAVA
字號:
/******************************************************************************//** *        @file        RetainModeMidlet.java *        @brief        A simple example of a retained mode M3G midlet * *        Copyright (C) 2004 Superscape plc * *        This file is intended for use as a code example, and *        may be used, modified, or distributed in source or *        object code form, without restriction, as long as *        this copyright notice is preserved. * *        The code and information is provided "as-is" without *        warranty of any kind, either expressed or implied. *//******************************************************************************/package com.superscape.m3g.wtksamples.retainedmode;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.lang.IllegalArgumentException;import java.util.Timer;import java.util.TimerTask;import javax.microedition.lcdui.Canvas;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.CommandListener;import javax.microedition.lcdui.Display;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Font;import javax.microedition.lcdui.Graphics;import javax.microedition.lcdui.Image;import javax.microedition.m3g.*;import javax.microedition.midlet.MIDlet;import javax.microedition.midlet.MIDletStateChangeException;public class RetainedModeMidlet extends MIDlet implements CommandListener {    private Display myDisplay = null;    private JesterCanvas myCanvas = null;    private Timer myRefreshTimer = new Timer();    private TimerTask myRefreshTask = null;    private Command exitCommand = new Command("Exit", Command.ITEM, 1);    Graphics3D myGraphics3D = Graphics3D.getInstance();    World myWorld = null;    private long worldStartTime = 0;    private long lastPauseTime = 0;    private boolean paused = false;    int viewport_x;    int viewport_y;    int viewport_width;    int viewport_height;    int currentContent = 0;    /**     * RetainedModeMidlet - default constructor.     */    public RetainedModeMidlet() {        super();        // Set up the user interface.        myDisplay = Display.getDisplay(this);        myCanvas = new JesterCanvas(this);        myCanvas.setCommandListener(this);        myCanvas.addCommand(exitCommand);    }    /**     * startApp()     */    public void startApp() throws MIDletStateChangeException {        myDisplay.setCurrent(myCanvas);        if (!paused) {            // executed for the first time            try {                myWorld = (World)Loader.load(                        "/com/superscape/m3g/wtksamples/retainedmode/content/swerve.m3g")[0];                setupAspectRatio();            } catch (Exception e) {                e.printStackTrace();            }        }        worldStartTime = System.currentTimeMillis();        paused = false;        myCanvas.repaint();    }    /**     * pauseApp()     */    public void pauseApp() {        paused = true;        lastPauseTime += (System.currentTimeMillis() - worldStartTime);    }    /**     * destroyApp()     */    public void destroyApp(boolean unconditional) throws MIDletStateChangeException {        myRefreshTimer.cancel();        myRefreshTimer = null;    }    /**     * Make sure that the content is rendered with the correct aspect ratio.     */    void setupAspectRatio() {        viewport_x = 0;        viewport_y = 0;        viewport_width = myCanvas.getWidth();        viewport_height = myCanvas.getHeight();        Camera cam = myWorld.getActiveCamera();        float[] params = new float[4];        int type = cam.getProjection(params);        if (type != Camera.GENERIC) {            //calculate window aspect ratio            float waspect = viewport_width / viewport_height;            if (waspect < params[1]) {                float height = viewport_width / params[1];                viewport_height = (int)height;                viewport_y = (myCanvas.getHeight() - viewport_height) / 2;            } else {                float width = viewport_height * params[1];                viewport_width = (int)width;                viewport_x = (myCanvas.getWidth() - viewport_width) / 2;            }        }    }    /**     * MIDlet paint method.     */    public void paint(Graphics g) {        if ((myCanvas == null) || (myGraphics3D == null) || (myWorld == null)) {            return;        }        if ((g.getClipWidth() != viewport_width) || (g.getClipHeight() != viewport_height) ||                (g.getClipX() != viewport_x) || (g.getClipY() != viewport_y)) {            g.setColor(0x00);            g.fillRect(0, 0, myCanvas.getWidth(), myCanvas.getHeight());        }        // Delete any pending refresh tasks.        if (myRefreshTask != null) {            myRefreshTask.cancel();            myRefreshTask = null;        }        if (paused) {            // don't update the animation if paused            myGraphics3D.bindTarget(g);            myGraphics3D.setViewport(viewport_x, viewport_y, viewport_width, viewport_height);            myGraphics3D.render(myWorld);            myGraphics3D.releaseTarget();            return;        }        // Update the world to the current time.        long startTime = System.currentTimeMillis() - worldStartTime + lastPauseTime;        if ((currentContent == 0) && (startTime > 5000)) {            currentContent++;            try {                myWorld = (World)Loader.load(                        "/com/superscape/m3g/wtksamples/retainedmode/content/skaterboy.m3g")[0];                setupAspectRatio();            } catch (Exception e) {                e.printStackTrace();            }            g.setColor(0x00);            g.fillRect(0, 0, myCanvas.getWidth(), myCanvas.getHeight());        }        // update any animations in the world        int validity = myWorld.animate((int)startTime);        // render the 3d scene        myGraphics3D.bindTarget(g);        myGraphics3D.setViewport(viewport_x, viewport_y, viewport_width, viewport_height);        myGraphics3D.render(myWorld);        myGraphics3D.releaseTarget();        if (validity < 1) { // The validity too small; allow a minimum of 1ms.            validity = 1;        }        if (validity == 0x7fffffff) { // The validity is infinite; schedule a refresh in 1 second.            myRefreshTask = new RefreshTask();            myRefreshTimer.schedule(myRefreshTask, 1000);        } else { // Schedule a refresh task.            // Create a new refresh task.            myRefreshTask = new RefreshTask();            // Schedule an update.            myRefreshTimer.schedule(myRefreshTask, validity);        }    }    /**     * Handle commands.     */    public void commandAction(Command cmd, Displayable disp) {        if (cmd == exitCommand) {            try {                destroyApp(false);                notifyDestroyed();            } catch (Exception e) {                e.printStackTrace();            }        }    }    /**     * Inner class for refreshing the view.     */    private class RefreshTask extends TimerTask {        public void run() {            // Get the canvas to repaint itself.            myCanvas.repaint(viewport_x, viewport_y, viewport_width, viewport_height);        }    }    /**     * Inner class for handling the canvas.     */    class JesterCanvas extends Canvas {        RetainedModeMidlet myTestlet;        /**         * Construct a new canvas         */        JesterCanvas(RetainedModeMidlet Testlet) {            myTestlet = Testlet;        }        /**         * Initialize self.         */        void init() {        }        /**         * Cleanup and destroy.         */        void destroy() {        }        /*         * Ask myTestlet to paint itself         */        protected void paint(Graphics g) {            myTestlet.paint(g);        }        /*         * Ask myTestlet to handle keyPressed events         */        protected void keyPressed(int keyCode) {        }        /*         * Ask myTestlet to handle keyReleased events         */        protected void keyReleased(int keyCode) {        }        /*         * Ask myTestlet to handle keyRepeated events         */        protected void keyRepeated(int keyCode) {        }        /*         * Ask myTestlet to handle pointerDragged events         */        protected void pointerDragged(int x, int y) {        }        /*         * Ask myTestlet to handle pointerPressed events         */        protected void pointerPressed(int x, int y) {        }        /*         * Ask myTestlet to handle pointerReleased events         */        protected void pointerReleased(int x, int y) {        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合在线视频| 中文字幕亚洲在| 国产精品白丝在线| 日本一区中文字幕| 97久久人人超碰| 精品久久久久久久久久久久久久久久久 | 99久久精品国产网站| 色88888久久久久久影院按摩| 精品久久久久久最新网址| 亚洲一区视频在线| bt欧美亚洲午夜电影天堂| 久久精品一区二区三区不卡牛牛 | 蜜桃视频在线一区| 欧美在线制服丝袜| 亚洲精品欧美激情| 色综合视频一区二区三区高清| 日韩欧美精品在线视频| 日韩激情一二三区| 在线一区二区三区做爰视频网站| 国产日产欧产精品推荐色| 激情亚洲综合在线| 91精品免费在线观看| 五月天亚洲精品| 制服丝袜一区二区三区| 亚洲国产精品欧美一二99| 色婷婷激情久久| 一区二区三区中文在线| 欧美综合色免费| 一区二区三区四区av| 在线免费不卡电影| 一区二区不卡在线视频 午夜欧美不卡在| 处破女av一区二区| 日韩一区欧美小说| 91成人国产精品| 亚洲高清一区二区三区| 欧美日韩成人高清| 男人的j进女人的j一区| 日韩精品一区二区三区在线观看| 久久电影网站中文字幕| 日韩精品中午字幕| 久久国产乱子精品免费女| www国产成人免费观看视频 深夜成人网 | 欧美日韩二区三区| 亚洲午夜精品在线| 欧美日韩精品一区二区三区蜜桃| 天堂精品中文字幕在线| 欧美大片在线观看| 粉嫩一区二区三区性色av| 亚洲欧洲三级电影| 欧美美女一区二区在线观看| 日韩电影在线观看一区| 久久亚洲一级片| 99在线精品观看| 日日噜噜夜夜狠狠视频欧美人 | 中文字幕不卡一区| 床上的激情91.| 亚洲日本在线a| 欧美日韩卡一卡二| 国产美女视频一区| 成人免费在线观看入口| 欧美日韩一级大片网址| 国产自产视频一区二区三区| 欧美一卡二卡三卡四卡| 免费国产亚洲视频| 蜜臀av国产精品久久久久| 在线视频一区二区三| 一区二区三区欧美| 91精品国产综合久久精品图片| 8x8x8国产精品| 国产精品一区二区三区四区| 日韩精品一区二区三区四区| 不卡的电影网站| 日本成人在线电影网| 欧美极品美女视频| 欧美日韩中文字幕精品| 国产精品一区二区久久精品爱涩| 亚洲三级在线播放| 久久综合色一综合色88| 欧美日韩在线亚洲一区蜜芽| 国产乱码精品1区2区3区| 午夜av电影一区| 国产精品水嫩水嫩| 日韩一级大片在线| 91久久香蕉国产日韩欧美9色| 狠狠色综合日日| 亚洲第一精品在线| 国产偷v国产偷v亚洲高清| 欧洲精品在线观看| 99久久99久久精品国产片果冻| 日韩黄色片在线观看| 怡红院av一区二区三区| 欧美激情一区二区三区在线| 欧美日韩亚洲国产综合| caoporm超碰国产精品| 久久99国产精品久久| 亚洲成年人网站在线观看| 国产精品成人网| 久久久久久一二三区| 精品视频一区二区三区免费| 91小视频在线| 99久久国产综合精品女不卡| 国产在线精品一区二区| 日日摸夜夜添夜夜添亚洲女人| 亚洲另类在线制服丝袜| 亚洲天堂成人在线观看| 久久在线免费观看| 精品久久人人做人人爽| 日韩三级视频在线观看| 91精品国产综合久久香蕉的特点| www.成人在线| 成人精品小蝌蚪| 成人免费毛片片v| 精久久久久久久久久久| 韩国成人在线视频| 国产精品香蕉一区二区三区| 精品一区二区三区的国产在线播放| 午夜电影一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了 | 国产精品情趣视频| 欧美日韩亚洲另类| 欧美一区二区高清| 欧美一区二区在线看| 欧美久久一区二区| 欧美一区二区三区小说| 欧美大片在线观看一区| 久久久久久久久久久久久久久99| 国产欧美一区二区精品性色| 久久久99免费| 亚洲视频小说图片| 亚洲一二三区视频在线观看| 午夜激情综合网| 国产在线精品免费av| 国产人成亚洲第一网站在线播放| 91麻豆国产福利在线观看| 蜜臀av国产精品久久久久| 日韩在线一二三区| 三级精品在线观看| 国产精品三级av在线播放| 亚洲日本乱码在线观看| 亚洲国产一区视频| 激情综合一区二区三区| gogo大胆日本视频一区| 欧美日韩在线亚洲一区蜜芽| 精品国产自在久精品国产| 亚洲欧洲av色图| 婷婷开心激情综合| 国产成人亚洲精品青草天美| 一本在线高清不卡dvd| 91精品国产综合久久久蜜臀粉嫩 | 国产精品传媒入口麻豆| 性感美女极品91精品| 国产精品资源网站| 99re视频精品| 精品久久久久久久久久久久包黑料| 欧美激情在线一区二区三区| 性欧美大战久久久久久久久| 国产精品亚洲专一区二区三区| 欧美亚洲国产一区在线观看网站| 欧美成人国产一区二区| 亚洲精品一卡二卡| 国产成人aaaa| 91精品国产麻豆国产自产在线 | 91成人网在线| 国产无一区二区| 午夜精品久久久久久| zzijzzij亚洲日本少妇熟睡| 日韩天堂在线观看| 亚洲成人av一区二区| 成人免费av资源| 精品日韩在线观看| 日韩福利电影在线| 在线观看亚洲一区| 自拍偷拍国产精品| 成人综合在线观看| 欧美精品一区二区三区一线天视频| 亚洲精品一卡二卡| 99re热视频精品| 亚洲国产精品99久久久久久久久| 老司机精品视频在线| 色丁香久综合在线久综合在线观看| 久久蜜臀中文字幕| 国产美女一区二区三区| 精品剧情在线观看| 日韩高清一级片| 欧美影院午夜播放| 有码一区二区三区| 在线精品视频一区二区三四| 国产精品成人网| 91色porny蝌蚪| 成人欧美一区二区三区| 99v久久综合狠狠综合久久| 国产色产综合色产在线视频| 极品销魂美女一区二区三区| 777午夜精品视频在线播放| 亚洲精品国产成人久久av盗摄| 波多野结衣的一区二区三区| 国产欧美一区二区在线| 成人性生交大片| 亚洲欧美在线视频观看| 色哟哟一区二区|