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

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

?? pogoroomidlet.java

?? 手機的資源有限
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************//** *        @file        PogoRooMIDlet.java *        @brief        A simple example of a game using M3G * *        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.pogoroo;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 PogoRooMIDlet extends MIDlet implements CommandListener {    // UserIDs for objects we use in the scene.    static final int POGOROO_MOVE_GROUP_TRANSFORM_ID = 554921620;    static final int CAMERA_GROUP_TRANSFORM_ID = 769302310;    static final int POGOROO_TRANSFORM_ID = 347178853;    static final int ROO_BOUNCE_ID = 418071423;    // Key event type IDs    public static final int KEY_REPEATED = 0;    public static final int KEY_PRESSED = 1;    public static final int KEY_RELEASED = 2;    // Key IDs    static final int keyNone = 0;    static final int keyForward = 1;    static final int keyBackward = 2;    static final int keyLeft = 3;    static final int keyRight = 4;    static final int MaxHops = 10;    static final float GroundEdge = 9.0f;    private Display myDisplay = null;    private PogoRooCanvas 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;    // Control objects for game play    // control for 'roo - group transform and cameras    private AnimationController animRoo = null;    private Group tRoo = null;    private Group tCams = null;    private Group acRoo = null;    private float dirRoo = 0.0f;    private float dirCam = 0.0f;    private int keyMoveRoo = keyNone;    private int keyTurnRoo = keyNone;    private int hopCount = 0;    private int animTime = 0;    private int animLength = 0;    private int animLastTime = 0;    private boolean okToHop = false;    private float[] posRoo = new float[3];    private float[] posRooLast = new float[3];    private float[] posTemp = new float[3];    private int edgeCount = 0;    private float turnAngle;    // lookup table for roo hops    private float[] hopSteps =        { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.05f, 0.1f, 0.2f, 0.1f, 0.05f, 0.0f };    int viewport_x;    int viewport_y;    int viewport_width;    int viewport_height;    /**     * PogoRooMIDlet - default constructor.     */    public PogoRooMIDlet() {        super();        // Set up the user interface.        myDisplay = Display.getDisplay(this);        myCanvas = new PogoRooCanvas(this);        myCanvas.setCommandListener(this);        myCanvas.addCommand(exitCommand);    }    /**     * startApp()     */    public void startApp() throws MIDletStateChangeException {        myDisplay.setCurrent(myCanvas);        try {            // load the world from the M3D file            myWorld = (World)Loader.load(                    "/com/superscape/m3g/wtksamples/pogoroo/content/pogoroo.m3g")[0];            getObjects();            setupAspectRatio();        } catch (Exception e) {            e.printStackTrace();        }        myRefreshTask = new RefreshTask();        // schedule a repeating timer to give us a framerate of 20fps.        myRefreshTimer.schedule(myRefreshTask, 0, 50);    }    /**     * 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;            }        }    }    /**     * getObjects()     * get objects from the scene tree for use in the game AI     */    public void getObjects() {        try {            tRoo = (Group)myWorld.find(POGOROO_MOVE_GROUP_TRANSFORM_ID);            tCams = (Group)myWorld.find(CAMERA_GROUP_TRANSFORM_ID);            acRoo = (Group)myWorld.find(POGOROO_TRANSFORM_ID);            animRoo = (AnimationController)myWorld.find(ROO_BOUNCE_ID);            // get length of animation            AnimationTrack track = acRoo.getAnimationTrack(0);            animLength = 1000; // default length, 1 second            if (track != null) {                KeyframeSequence ks = track.getKeyframeSequence();                if (ks != null) {                    animLength = ks.getDuration();                }            }        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * hopRoo()     * Hops the roo backwards or forwards     */    private void hopRoo() {        // Move the kangaroo across the ground, but synchronize with animation        if (animTime == 0) // OK to start!         {            hopCount = 0;            okToHop = true;        }        // in hopping sequence        if (okToHop) {            switch (keyMoveRoo) {            case keyForward:            case keyBackward:                // move according to direction and increment from look up table                 // to get nice hop effect                int oldHopCount = hopCount;                hopCount = (animTime * 10) / animLength;                // end of sequence                if (hopCount >= MaxHops) {                    okToHop = false;                    hopCount = MaxHops - 1;                }                // add up all the steps inbetween positions in animation                // this code always misses out increment zero, but that's                // OK because it's zero anyway!                turnAngle = (dirRoo * 3.14159f) / 180.0f;                float h = 0f;                for (int i = (oldHopCount + 1); i <= hopCount; i++)                    h += hopSteps[i];                float x = h * (float)Math.cos(turnAngle);                float y = h * (float)Math.sin(turnAngle);                if (keyMoveRoo == keyForward) {                    tRoo.translate(-x, -y, 0.0f);                } else {                    tRoo.translate(x, y, 0.0f);                }                break;            }        }    }    /**     * checkWorldEdge()     * Stops the roo going off the edge of the world     */    private void checkWorldEdge() {        // going off edge of ground        tRoo.getTranslation(posRoo);        if (edgeCount > 0) {            edgeCount--;        }        try {            // check to see if we have reached the edge of the world            if ((Math.abs(posRoo[0]) > GroundEdge) || (Math.abs(posRoo[1]) > GroundEdge)) {                edgeCount = 10;                tRoo.setTranslation(posRooLast[0], posRooLast[1], posRooLast[2]);            }        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * turnRoo()     * Turns the roo and makes sure the camera follows.     */    private void turnRoo() {        // turning Roo can happen any time        switch (keyTurnRoo) {        case keyLeft:            dirRoo += 5f;            dirCam -= 5f;            tRoo.setOrientation(dirRoo, 0, 0, 1);            tCams.setOrientation(dirCam, 0, 0, 1);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品日韩成人| 欧美一区二区视频免费观看| 国产精品不卡在线观看| 成人黄页毛片网站| 亚洲欧美日韩在线不卡| 在线视频你懂得一区| 视频一区二区国产| 欧美成人精精品一区二区频| 丁香啪啪综合成人亚洲小说 | 337p亚洲精品色噜噜| 蜜桃久久久久久久| 国产日韩视频一区二区三区| 91亚洲国产成人精品一区二区三 | 99久久综合国产精品| 夜夜操天天操亚洲| 日韩一级黄色大片| 成人开心网精品视频| 香蕉乱码成人久久天堂爱免费| 欧美成人r级一区二区三区| 懂色一区二区三区免费观看| 一区二区三区不卡视频在线观看| 欧美一二三四区在线| proumb性欧美在线观看| 爽好多水快深点欧美视频| 精品国产免费一区二区三区四区| 国产盗摄视频一区二区三区| 亚洲女子a中天字幕| 日韩精品一区二区三区四区 | 欧美视频三区在线播放| 久久99精品久久久久久国产越南| 国产精品久久久爽爽爽麻豆色哟哟| 欧美日韩精品一区二区三区 | 亚洲精品国产精品乱码不99| 欧美一级高清大全免费观看| 91免费视频观看| 韩国av一区二区| 亚洲福利一二三区| 国产精品美女久久久久久久 | 国产区在线观看成人精品| 欧美日韩国产综合一区二区| 成人午夜又粗又硬又大| 青椒成人免费视频| 成人免费一区二区三区视频| 日韩一区二区三区三四区视频在线观看| 成人激情午夜影院| 久久成人免费日本黄色| 亚洲成a人v欧美综合天堂| 亚洲欧洲国产日本综合| 久久蜜桃av一区精品变态类天堂| 欧美精选一区二区| 在线一区二区三区| proumb性欧美在线观看| 国产成人精品免费看| 奇米精品一区二区三区四区| 午夜欧美视频在线观看| 亚洲狼人国产精品| 亚洲欧洲无码一区二区三区| 中文字幕欧美三区| 久久久亚洲精品一区二区三区| 日韩视频中午一区| 91精品欧美久久久久久动漫 | 欧美日韩国产一级| 色综合久久久久综合体桃花网| 国产宾馆实践打屁股91| 国产综合久久久久久鬼色| 免费在线看成人av| 美女被吸乳得到大胸91| 青青草一区二区三区| 日韩av在线免费观看不卡| 亚洲成a天堂v人片| 天天影视涩香欲综合网 | 久草这里只有精品视频| 免费欧美日韩国产三级电影| 日韩黄色免费网站| 日韩va亚洲va欧美va久久| 免费在线观看一区| 美女脱光内衣内裤视频久久影院| 蜜臀av在线播放一区二区三区| 首页欧美精品中文字幕| 日本成人超碰在线观看| 黄网站免费久久| 国产成人午夜视频| eeuss鲁一区二区三区| 91最新地址在线播放| 色综合天天综合在线视频| 欧美性感一类影片在线播放| 欧美人妇做爰xxxⅹ性高电影| 欧美精品国产精品| 日韩精品一区二区三区中文不卡| 日本一区二区成人在线| 日本一区二区三区视频视频| 色菇凉天天综合网| 日韩黄色免费电影| 亚洲狠狠爱一区二区三区| 中文字幕欧美一| 欧美激情一区二区三区不卡| 欧美成人官网二区| 91精品国产黑色紧身裤美女| 欧美视频一区在线观看| 91女神在线视频| 91麻豆免费在线观看| 成人精品电影在线观看| 国产成人高清视频| 国产毛片一区二区| 国产成人精品亚洲777人妖| 黄色资源网久久资源365| 久久精品国产999大香线蕉| 日韩高清一区在线| 日韩av电影天堂| 麻豆中文一区二区| 日本亚洲视频在线| 麻豆成人免费电影| 久久er精品视频| 精品一区二区三区免费视频| 久久精品国产在热久久| 久草中文综合在线| 国产成人无遮挡在线视频| 国产精品一区免费视频| 国产精品自拍av| 成人午夜伦理影院| 91在线免费播放| 欧美日韩情趣电影| 69堂亚洲精品首页| 日韩久久久久久| 国产欧美久久久精品影院| 日韩理论电影院| 亚洲成a人片在线不卡一二三区| 五月激情综合色| 日韩和欧美一区二区三区| 免费成人在线影院| 国产成人精品免费一区二区| 99精品视频在线观看| 欧美午夜在线一二页| 欧美一区二区视频观看视频| 久久免费精品国产久精品久久久久| 亚洲免费在线观看视频| 日韩国产欧美三级| 国产69精品一区二区亚洲孕妇| 风间由美一区二区三区在线观看| 91麻豆swag| 日韩一区二区三区av| 国产精品色一区二区三区| 亚洲五码中文字幕| 韩国一区二区三区| 色就色 综合激情| 日韩免费高清av| 国产精品视频九色porn| 亚洲大片免费看| 懂色av一区二区夜夜嗨| 欧美三级午夜理伦三级中视频| 精品欧美一区二区在线观看 | 日韩免费看的电影| 亚洲女与黑人做爰| 久久国产精品无码网站| 日本精品一级二级| 久久在线免费观看| 一区二区不卡在线视频 午夜欧美不卡在| 日韩二区三区在线观看| 成人国产精品免费网站| 欧美一区二区三区在线观看| 中文字幕中文字幕一区二区| 久久电影国产免费久久电影| 色爱区综合激月婷婷| 久久精品在线免费观看| 午夜精品一区二区三区电影天堂| 国产成人精品免费视频网站| 欧美一级生活片| 亚洲精品中文在线观看| 国产成人在线视频网址| 日韩小视频在线观看专区| 亚洲影院在线观看| 波多野结衣一区二区三区| 精品日韩av一区二区| 丝袜国产日韩另类美女| 欧洲精品在线观看| 18欧美亚洲精品| 99综合电影在线视频| 久久嫩草精品久久久久| 久久国产日韩欧美精品| 91精品免费观看| 亚洲福利视频一区二区| 在线国产电影不卡| 亚洲精品国产精品乱码不99| 99久久精品免费看国产免费软件| 国产日韩三级在线| 国产成人精品aa毛片| 久久久久国产成人精品亚洲午夜| 免费在线一区观看| 日韩欧美激情四射| 免费看日韩精品| 3atv一区二区三区| 三级不卡在线观看| 欧美一区2区视频在线观看| 午夜精彩视频在线观看不卡| 欧美亚洲综合在线| 亚洲a一区二区| 日韩一区二区三区视频在线 | 久久久久久久性| 国产精品123区| 国产精品天干天干在观线|