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

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

?? mobileguncamera.java

?? 手機J2ME開發的CS游戲的Demo
?? JAVA
字號:


import javax.microedition.lcdui.*;
import javax.microedition.m3g.*;


public class MobileGunCamera
{
  // initial camera position
  private static final float X_POS = 0.0f; 
  private static final float Y_POS = 0.4f; 
  private static final float Z_POS = 2.0f; 

  // translation and rotation increments
  private static final float ANGLE_INCR = 3.0f;   // degrees
  private static final float MOVE_INCR = 0.1f;

  // booleans for remembering key presses
  private boolean upPressed = false;
  private boolean downPressed = false;
  private boolean leftPressed = false;
  private boolean rightPressed = false;

  // for examining the camera's (x,y,z) position
  private Transform trans = new Transform();
  private float[] transMat = new float[16];
  private float xCoord, yCoord, zCoord;


  // for storing the camera's current y- rotations
  private float yAngle;
  private Transform rotTrans = new Transform();

  // scene graph elements for the camera
  private Group transGroup;
  private Camera cam;
  private Mesh shotMesh;


  public MobileGunCamera(int width, int height)
  /* Build the camera scene graph branch:
       transGroup --> camera
                |--->  gun image mesh
                |--->  shot image mesh
  */
  {
    cam = new Camera();
    float aspectRatio = ((float) width) / ((float) height);
    cam.setPerspective(70.0f, aspectRatio, 0.1f, 50.0f);
    cam.postRotate(-2.0f, 1.0f, 0, 0);  // apply x-axis rotations to camera

    // gun image mesh
    Image2D imGun = loadImage("/gun.png");
    ImageSquare imSqGun = new ImageSquare(imGun, 0.025f, -0.055f, -0.1f, 0.05f);
    Mesh gunMesh = imSqGun.getImageSquareMesh();
    gunMesh.setPickingEnable(false);

    // shot image mesh
    Image2D imShot = loadImage("/shot.png");
    ImageSquare imSqShot = 
             new ImageSquare(imShot, 0, -0.05f, -0.15f, 0.1f);
    shotMesh = imSqShot.getImageSquareMesh();
    shotMesh.setPickingEnable(false);
    shotMesh.setRenderingEnable(false);  // invisible intially

    // put eveything together
    // transGroup handles both camera translation and y-axis rotations
    transGroup = new Group();      // no initial rotation
    trans.postTranslate(X_POS, Y_POS, Z_POS);
    transGroup.setTransform(trans);
    transGroup.addChild(cam);
    transGroup.addChild(gunMesh);
    transGroup.addChild(shotMesh);

    // store initial rotation
    yAngle = 0.0f;
  }  // end of MobileGunCamera()


  public Group getCameraGroup()
  {  return transGroup; }

  public Camera getCamera()
  {  return cam; }


  private Image2D loadImage(String fn)
  // load the image stored in fn
  { Image2D im = null;
    try {
       im = (Image2D)Loader.load(fn)[0];
    }
    catch (Exception e)
    { System.out.println("Cannot make image from " + fn); }
    return im;
  }  // end of loadImage()


  // ----- handle key presses / releases, and return details ------

  public void pressedKey(int gameAction)
  {
    switch(gameAction) {
      case Canvas.UP:    upPressed = true;    break;
      case Canvas.DOWN:  downPressed = true;  break;
      case Canvas.LEFT:  leftPressed = true;  break;
      case Canvas.RIGHT: rightPressed = true; break;
      default: break;
    }
  }  // end of pressedKey()


  public void releasedKey(int gameAction)
  {
    switch(gameAction) {
      case Canvas.UP:    upPressed = false;    break;
      case Canvas.DOWN:  downPressed = false;  break;
      case Canvas.LEFT:  leftPressed = false;  break;
      case Canvas.RIGHT: rightPressed = false; break;
      default: break;
    }
  }  // end of releasedKey()



  // ------------ position and direction access methods ------------

  public float[] getPosition()
  // return the current position of the camera
  { storePosition();
    return new float[] { xCoord, yCoord, zCoord };
  }  // end of getPosition()


  private void storePosition()
  // extract the current (x,y,z) position from transGroup
  {
    transGroup.getCompositeTransform(trans);

    trans.get(transMat);
    xCoord = transMat[3];
    yCoord = transMat[7];
    zCoord = transMat[11]; 
  }  // end of storePosition()


  public float[] getDirection()
  /* Rotate the vector (0,0,-1) by the current y-axis rotation.
     (0,0,-1) represents the initial forward direction for the
     camera. The result after the rotation will be the camera's
     current forward direction. 
  */
  { float[] zVec = {0, 0, -1.0f, 0};
    rotTrans.transform(zVec);
    return new float[] { zVec[0], zVec[1], zVec[2] };
  } // end of getDirection()


  // ------------- update camera position and rotation ---------------

  public void update()
  {
    if (upPressed || downPressed)
      updateMove();
    else if (leftPressed || rightPressed)
      updateRotation(); 
  }  // end of update()


  private void updateMove()
  {
    transGroup.getTransform(trans);
    if (upPressed)          // move forward
      trans.postTranslate(0, 0, -MOVE_INCR);
    else    // move backwards
      trans.postTranslate(0, 0, MOVE_INCR);
    transGroup.setTransform(trans);
  }  // end of updateMove()


  private void updateRotation()
  {
    if (leftPressed) {   // rotate left around the y-axis
      rotTrans.postRotate(ANGLE_INCR, 0, 1.0f, 0);
      yAngle += ANGLE_INCR;
    }
    else {   // rotate right around the y-axis
      rotTrans.postRotate(-ANGLE_INCR, 0, 1.0f, 0);
      yAngle -= ANGLE_INCR;
    }

    // angle values are modulo 360 degrees
    if (yAngle >= 360.0f)
      yAngle -= 360.0f;
    else if (yAngle <= -360.0f)
      yAngle += 360.0f;

    // apply the y-axis rotation to transGroup
    storePosition();
    trans.setIdentity();
    trans.postTranslate(xCoord, yCoord, zCoord);
    trans.postRotate(yAngle, 0, 1.0f, 0);
    transGroup.setTransform(trans);
  }  // end of updateRotation()


  // -------------- display shot ------------

  public void setShotVisible(boolean b)
  {  shotMesh.setRenderingEnable(b);  }

} // end of MobileGunCamera class

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美a级一区二区| 亚洲精品五月天| 国产一区二区主播在线| 久久综合久久综合久久| 国产一本一道久久香蕉| 国产精品日产欧美久久久久| caoporen国产精品视频| 一区二区三区四区高清精品免费观看| 欧洲中文字幕精品| 日本不卡高清视频| 久久久久国产精品人| 99国产精品一区| 天天色 色综合| 久久综合成人精品亚洲另类欧美| av激情综合网| 午夜免费久久看| 久久久噜噜噜久噜久久综合| 色综合中文字幕国产 | 国产成人免费视频精品含羞草妖精| 中文字幕 久热精品 视频在线| 91丨porny丨国产入口| 亚洲va欧美va国产va天堂影院| 精品88久久久久88久久久| 成人国产精品免费观看| 日韩在线一区二区| 国产欧美一区二区三区沐欲| 欧美亚洲一区二区在线| 国产一区二区三区精品欧美日韩一区二区三区 | 国产欧美综合色| 欧美视频一区二区三区四区| 国产一区999| 亚洲高清免费观看高清完整版在线观看 | 国产精品成人一区二区艾草| 欧美老人xxxx18| 成人深夜视频在线观看| 石原莉奈一区二区三区在线观看| 亚洲国产精品传媒在线观看| 91精品国产综合久久久久久漫画| 成人黄色国产精品网站大全在线免费观看| 午夜av一区二区| 中文字幕中文乱码欧美一区二区| 日韩一区二区三区视频在线| 91在线观看下载| 国产一区二区剧情av在线| 亚洲国产一区视频| 亚洲色图视频网站| 国产亚洲综合性久久久影院| 欧美精品xxxxbbbb| 91网页版在线| 成人污污视频在线观看| 久久成人18免费观看| 亚洲图片欧美色图| 亚洲精品国产一区二区三区四区在线 | av在线免费不卡| 蜜桃精品在线观看| 日韩精品一卡二卡三卡四卡无卡| 一区二区三区在线免费播放| 国产精品人人做人人爽人人添| 欧美精品一区在线观看| 日韩亚洲欧美综合| 在线播放91灌醉迷j高跟美女| 99久久精品国产精品久久| 国产91在线看| 国产成人8x视频一区二区| 国产又黄又大久久| 国内精品在线播放| 国产一区二区三区最好精华液| 老司机一区二区| 精品在线你懂的| 精品影院一区二区久久久| 日本不卡一二三| 久久成人免费网| 久久91精品国产91久久小草 | 丁香婷婷综合激情五月色| 国产精品1024久久| 国产成人免费在线视频| 国产成人免费在线观看不卡| 高清免费成人av| 成人av免费在线观看| 不卡一区二区在线| 99精品一区二区三区| 99热99精品| 色一区在线观看| 日本高清视频一区二区| 欧美体内she精视频| 欧美三级在线看| 日韩视频一区二区三区 | 国产精品婷婷午夜在线观看| 久久精品水蜜桃av综合天堂| 久久精品一区二区三区不卡牛牛| 欧美激情一区三区| 亚洲乱码中文字幕| 五月天激情综合网| 久久66热偷产精品| 成人av免费观看| 欧美亚洲高清一区| 日韩精品最新网址| 国产精品人成在线观看免费| 一区二区日韩av| 日本欧美肥老太交大片| 国产另类ts人妖一区二区| 成人精品国产一区二区4080| 日本韩国精品一区二区在线观看| 91精品国产综合久久久久久久久久| 26uuu色噜噜精品一区二区| 中文字幕久久午夜不卡| 亚洲成人精品在线观看| 久久91精品国产91久久小草| 99re视频精品| 欧美理论片在线| 中文字幕精品一区| 天天射综合影视| 成人亚洲精品久久久久软件| 欧美亚洲一区三区| 久久久久久免费| 亚洲午夜久久久久久久久电影网| 蜜桃av一区二区三区| 色综合久久中文字幕| 欧美成人性福生活免费看| 国产精品国产三级国产有无不卡| 性久久久久久久久| 成人一级黄色片| 欧美一区二区观看视频| 1区2区3区精品视频| 久久99精品久久久久久| 在线视频一区二区三区| 国产亚洲女人久久久久毛片| 视频在线在亚洲| 91麻豆国产精品久久| 久久综合久久综合九色| 午夜精品影院在线观看| 99精品欧美一区二区三区小说| 91精品久久久久久久99蜜桃| 1000精品久久久久久久久| 久久成人精品无人区| 欧美日韩免费一区二区三区视频| 中文一区在线播放| 国产尤物一区二区| 欧美一级片免费看| 亚洲国产精品麻豆| 99精品国产99久久久久久白柏 | 国产精品美女久久久久久| 日本亚洲免费观看| 色欧美日韩亚洲| 国产精品乱人伦一区二区| 国产麻豆精品一区二区| 欧美一区二区黄| 日本成人在线电影网| 欧美天堂一区二区三区| 亚洲综合免费观看高清完整版在线 | 国产成人免费视| 久久综合狠狠综合久久综合88| 日韩av在线发布| 欧美日韩一区中文字幕| 亚洲激情av在线| 99久久精品国产观看| 国产精品久久久久久亚洲毛片 | 国产精品成人在线观看| 欧洲视频一区二区| 日韩欧美精品三级| 国产精品国产a| 成人av在线资源网站| 国产欧美日韩三级| 国产精品 欧美精品| 久久婷婷国产综合精品青草| 麻豆精品久久精品色综合| 91精品视频网| 奇米在线7777在线精品| 精品三级在线看| 久久国产福利国产秒拍| 精品久久久久久久久久久久久久久| 美脚の诱脚舐め脚责91 | 国产三级久久久| 国产一区二区三区四区五区美女| 精品电影一区二区| 国产精品99久久久久久似苏梦涵 | 一区二区久久久久久| 色八戒一区二区三区| 亚洲成在人线免费| 欧美成人aa大片| 国产成人精品网址| 亚洲天堂网中文字| 欧美在线免费观看亚洲| 日本最新不卡在线| 久久久www免费人成精品| 成av人片一区二区| 亚洲国产三级在线| 26uuu国产一区二区三区| 国产精品一品二品| 一区二区三区中文字幕电影| 91精品久久久久久久99蜜桃| 国产一区二区三区视频在线播放 | 亚洲aⅴ怡春院| 精品粉嫩超白一线天av| 99久久久无码国产精品| 亚洲一二三专区| 精品国产一区二区亚洲人成毛片 | 日韩欧美美女一区二区三区| 国产成人夜色高潮福利影视| 亚洲日本电影在线|