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

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

?? tiledfloor.java

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



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


public class TiledFloor 
{
  private Mesh floorMesh;


  public TiledFloor(Image2D floorIm, int sz) 
  { 
    /* Make sure the size value is divisible by 2, since
       we'll use size/2 later. */
    int size = (sz/2)*2;
    if (size != sz)
      System.out.println("Size set to multiple of 2: " + size);

    int numTiles = size*size;  
      /* Each tile is a 1-by-1 quadrilateral (quad), so numTiles
         of them will cover a size-by-size floor. */

    // build the floor mesh
    VertexBuffer floorVertBuf = makeGeometry(size, numTiles);

    IndexBuffer floorIdxBuf = 
         new TriangleStripArray( makeIndicies(numTiles), 
                                 makeStripLens(numTiles) );

    Appearance floorApp = makeAppearance(floorIm);

    floorMesh = new Mesh(floorVertBuf, floorIdxBuf, floorApp);
  }  // end of TiledFloor()


  private VertexBuffer makeGeometry(int size, int numTiles)
  /*  numTiles squares centered at the origin on the XZ plane.
      Normals aren't required since the floor doesn't reflect
      light. */
  {
    // create vertices
    short[] verts = makeVerts(size, numTiles);
    VertexArray va = new VertexArray(verts.length/3, 3, 2);
    va.set(0, verts.length/3, verts);

    // create texture coordinates
    short[] tcs = makeTexCoords(numTiles);
    VertexArray texArray = new VertexArray(tcs.length/2, 2, 2);
    texArray.set(0, tcs.length/2, tcs);

    VertexBuffer vb = new VertexBuffer(); 
    vb.setPositions(va, 1.0f, null); // no scale, bias
    vb.setTexCoords(0, texArray, 1.0f, null);

    return vb;
  }  // end of makeGeometry()


  private short[] makeVerts(int size, int numTiles)
  /* Each tile uses 4 points which are specified in the order
     {(x,z), {x+1,z), {x+1,z-1), (x,z-1)}. This is a counter
     clockwise order starting from the bottom left coord
     when looking down on the floor from 
     above the XZ plane. The y-axis values are always 0.

     The tiles are created starting from the top-left corner of the floor
     (when viewed from above), working across, going down a row at a time.
  */
  {
    short[] verts = new short[12*numTiles];   // 3 * 4 points for each tile
    int i=0;
    for(int z = (-size/2)+1; z <= size/2; z++)
      for(int x = -size/2; x <= (size/2)-1; x++) {
        verts[i] = (short) x; verts[i+1]=0; verts[i+2] = (short) z;
        verts[i+3] = (short)(x+1); verts[i+4]=0; verts[i+5] = (short) z;
        verts[i+6] = (short)(x+1); verts[i+7]=0; verts[i+8] = (short)(z-1);
        verts[i+9] = (short) x; verts[i+10]=0; verts[i+11] = (short)(z-1);
        i += 12;
      }
    return verts;
  }  // end of makeVerts()


  private short[] makeTexCoords(int numTiles)
  /* Each tile uses 4 (s,t) coordinates which are specified in the order
     {0,1,  1,1,  1,0,  0,0}. This is a counter
     clockwise order starting from the bottom left coord
     when looking down on the floor from above the XZ plane.

     Each tile will require 8 cells in the tex coords array, and there 
     are numTile tiles to specify.
  */
  { short[] tcs = new short[8*numTiles];   // 2 * 4 points for each tile
    for(int i = 0; i < 8*numTiles; i += 8) {  // {0,1,  1,1,  1,0,  0,0}
      tcs[i] = 0; tcs[i+1] = 1;               // for each tile
      tcs[i+2] = 1; tcs[i+3] = 1;
      tcs[i+4] = 1; tcs[i+5] = 0;
      tcs[i+6] = 0; tcs[i+7] = 0;
    }
    return tcs;
  }  // end of makeTexCoords()


  private int[] makeIndicies(int numTiles)
  /* Each tile uses 4 points which are specified in the order
     {1,2,0,3}. The first tile uses {1,2,0,3}, the second
     tile {5,6,4,7}, and so on.
  */
  { // positions for first tile: {1,2,0,3}
    int pos1 = 1; int pos2 = 2;
    int pos3 = 0; int pos4 = 3;

    int[] idxs = new int[4*numTiles];   // 4 points for each tile
    for(int i = 0; i < 4*numTiles; i += 4) {
      idxs[i] = pos1; pos1 += 4;   // increment the positions by 4
      idxs[i+1] = pos2; pos2 += 4;
      idxs[i+2] = pos3; pos3 +=4;
      idxs[i+3] = pos4; pos4 += 4;
    }
    return idxs;
  }  // end of makeIndicies()



  private int[] makeStripLens(int numTiles)
  /* Each tile uses 4 points, so the strip length array
     will be a sequence of 4's, numTiles in length.
  */
  { int[] lens = new int[numTiles]; 
    for(int i = 0; i < numTiles; i++)
      lens[i] = 4;
    return lens;
  }  // end of makeIndicies()


  private Appearance makeAppearance(Image2D floorIm)
  // No Material, with the texture clamped to each tile
  {
    Appearance app = new Appearance();

    if (floorIm != null) {
      Texture2D tex = new Texture2D(floorIm);
      tex.setFiltering(Texture2D.FILTER_NEAREST, Texture2D.FILTER_NEAREST);
      tex.setWrapping(Texture2D.WRAP_CLAMP, Texture2D.WRAP_CLAMP);
      app.setTexture(0, tex);
    }

    // add perspective correction
    PolygonMode floorPolygonMode = new PolygonMode();
    floorPolygonMode.setPerspectiveCorrectionEnable(true);
    // floorPolygonMode.setCulling(PolygonMode.CULL_NONE);  // switch off culling

    app.setPolygonMode(floorPolygonMode);

    return app;
  }  // end of makeAppearance()


  // -------------------- access method ----------------------

  public Mesh getFloorMesh()
  {  return floorMesh;  }

} // end of TiledFloor Class

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色一区二区三区免费观看| 久久精品久久精品| 99精品欧美一区二区蜜桃免费| 欧美mv日韩mv国产网站| 国内精品自线一区二区三区视频| 日韩免费看的电影| 国产91精品一区二区| 亚洲激情在线激情| 欧美男人的天堂一二区| 日本不卡一区二区三区高清视频| 日韩你懂的在线播放| eeuss鲁一区二区三区| 石原莉奈在线亚洲二区| 欧美xxxxxxxxx| 欧洲人成人精品| 国产.精品.日韩.另类.中文.在线.播放| 精品久久久久久久久久久久久久久久久| 国产精品99久久不卡二区| 亚洲欧美日韩中文字幕一区二区三区 | 久久er精品视频| 亚洲天堂精品在线观看| 在线成人免费视频| 国产成人av影院| 久久精品国产亚洲一区二区三区| 国产区在线观看成人精品| 欧美一区二区在线看| av亚洲精华国产精华| 国产福利一区二区三区视频| 亚洲一区电影777| 亚洲精品成人a在线观看| 国产精品对白交换视频| 欧美国产激情一区二区三区蜜月| 日韩丝袜美女视频| 亚洲精品一区在线观看| 欧美成人高清电影在线| 日韩午夜激情免费电影| 91麻豆精品国产91久久久使用方法| 色欲综合视频天天天| 91豆麻精品91久久久久久| 91麻豆产精品久久久久久 | 99热精品国产| 99这里只有精品| 91精彩视频在线观看| 在线电影欧美成精品| 日韩一级视频免费观看在线| www日韩大片| 亚洲视频一区在线| 三级一区在线视频先锋| 老司机一区二区| av在线这里只有精品| 日本高清不卡一区| 日韩视频免费直播| 国产精品不卡一区二区三区| 亚洲欧美电影一区二区| 美美哒免费高清在线观看视频一区二区| 美女视频黄a大片欧美| 东方欧美亚洲色图在线| 欧美男女性生活在线直播观看| 精品国产乱码久久久久久久久| 亚洲男人电影天堂| 韩国女主播成人在线观看| 色婷婷av一区二区三区软件| 欧美电影免费观看高清完整版在线观看| 欧美国产精品一区二区三区| 日本午夜精品一区二区三区电影| 高清成人在线观看| 一区二区欧美视频| 国产精品综合网| 日韩欧美一区中文| 首页亚洲欧美制服丝腿| 91成人网在线| 一区二区三区四区不卡在线| 成人免费看视频| 成人欧美一区二区三区视频网页| 激情综合一区二区三区| 欧美刺激脚交jootjob| 免费人成在线不卡| 精品福利在线导航| 韩国成人精品a∨在线观看| 精品日韩欧美一区二区| 蜜臀av一区二区在线观看| 91精品欧美福利在线观看| 男女视频一区二区| 日本一区二区三区四区| 成人精品免费看| 亚洲综合成人网| 欧美一级一级性生活免费录像| 精品综合免费视频观看| 国产精品久久久久久久久果冻传媒| 国产精品 日产精品 欧美精品| 国产精品不卡在线观看| 欧美日本在线视频| 麻豆精品在线播放| 一区二区三区日韩精品视频| 777色狠狠一区二区三区| 国产福利电影一区二区三区| 亚洲精品欧美二区三区中文字幕| 日韩一卡二卡三卡四卡| av一区二区三区四区| 日本成人中文字幕在线视频| 亚洲国产精品高清| 日韩美女主播在线视频一区二区三区| youjizz久久| 久久成人久久爱| 亚洲国产成人91porn| 日本一区二区三区久久久久久久久不 | 久久婷婷久久一区二区三区| 97精品电影院| 成人免费毛片app| 国产99久久精品| 狠狠色综合色综合网络| 亚洲国产日韩av| 99v久久综合狠狠综合久久| 一区二区三区国产精华| 蜜桃视频一区二区三区| 欧美色图激情小说| 成人激情免费网站| 国产精品456| 国内成人免费视频| 国产精品综合久久| 成人免费av资源| fc2成人免费人成在线观看播放| 国产九九视频一区二区三区| 另类小说一区二区三区| 国产一区二区中文字幕| 国产成人综合亚洲网站| 99视频精品免费视频| 欧洲日韩一区二区三区| 日韩免费在线观看| 国产精品视频一二三| 亚洲一区在线观看视频| 精品一区二区三区久久| 成人免费黄色在线| 欧美三片在线视频观看| 精品奇米国产一区二区三区| 亚洲另类色综合网站| 亚洲精品伦理在线| 韩国女主播成人在线| 一本一道波多野结衣一区二区| 欧美日韩国产综合一区二区 | 色综合天天综合网天天狠天天| 欧美亚洲丝袜传媒另类| 国产欧美精品在线观看| 午夜视频在线观看一区二区| 国产精品一级在线| 欧美一级片免费看| 亚洲一区在线播放| 国产成人午夜高潮毛片| 欧美精品一区二区三区蜜臀| 五月天激情综合| 欧美影院一区二区| 亚洲女同一区二区| 不卡大黄网站免费看| 国产精品乱码久久久久久| 激情综合五月婷婷| 26uuu亚洲综合色| 国产成人av电影在线| 日韩视频在线永久播放| 日韩av电影免费观看高清完整版| av在线播放一区二区三区| 国产精品久久久久7777按摩| 九九久久精品视频| 亚洲国产精品激情在线观看| 国产一区二区不卡在线| 国产日产欧美一区| 91同城在线观看| 亚洲一区二区三区视频在线 | 奇米色一区二区三区四区| 欧美日韩高清一区| 麻豆精品在线视频| 国产欧美综合在线| 日韩女优av电影| 国内精品在线播放| 亚洲欧美日韩系列| 日韩视频中午一区| 成人动漫在线一区| 午夜精品久久久久久久久久久 | gogo大胆日本视频一区| 亚洲国产精品麻豆| 精品国产一区二区三区久久影院| 国产伦精品一区二区三区免费迷 | 精品国产免费一区二区三区四区| 国产福利不卡视频| 天涯成人国产亚洲精品一区av| 久久夜色精品国产欧美乱极品| 91免费精品国自产拍在线不卡| 蜜臀av性久久久久蜜臀av麻豆| 日本一区二区三区四区| 欧美电影一区二区| 91久久国产综合久久| 国v精品久久久网| 激情都市一区二区| 日本视频中文字幕一区二区三区| 中文字幕一区二区三区在线不卡| 欧美一区二区在线看| 欧美视频在线一区二区三区| av中文字幕不卡| 99精品视频在线播放观看| 国产夫妻精品视频| 国产精品小仙女|