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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? imageset.java

?? 基于java的一款游戲的故事?;趈ava的一款游戲的故事?;趈ava的一款游戲的故事。
?? JAVA
字號:
package com.thinkenjoy.tools;

import java.io.IOException;

import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

//#if NOK_7260 || NOK_7210 || NOK_6101 || NOK_6230i || NOK_7370 || NOK_QD
//# import com.nokia.mid.ui.DirectUtils;
//#endif

/**
 *
 * 圖片幀的容器
 * 此類主要是負責(zé)一些圖片處理方面的事務(wù)
 */
public class ImageSet {
  private int totalStates; // 只被addState方法調(diào)用

  private Image[][] stateFrames;

  private int[] stateAnimTime, stateFrameWidth, stateFrameHeight;

  /**
   * 構(gòu)造函數(shù),初始化相應(yīng)數(shù)組
   *
   * @param numStates
   */
  public ImageSet(int numStates) {
    stateAnimTime = new int[numStates];
    stateFrameWidth = new int[numStates];
    stateFrameHeight = new int[numStates];

    stateFrames = new Image[numStates][];
  }

  /**
   * 添加新的圖片序列狀態(tài),
   * @param frames
   * 圖片幀數(shù)組
   * @param animTime
   * 整個圖片幀數(shù)組的顯示時間
   */
  public final void addState(Image frames[], int animTime) {
    int state = totalStates++;

    if (state >= stateFrames.length) {
      // 擴大狀態(tài)的數(shù)量
      stateAnimTime = Tools.expandArray(stateAnimTime, 1);
      stateFrameWidth = Tools.expandArray(stateFrameWidth, 1);
      stateFrameHeight = Tools.expandArray(stateFrameHeight, 1);
      stateFrames = Tools.expandArray(stateFrames, 1);
    }
    stateAnimTime[state] = animTime;
    stateFrameWidth[state] = frames[0].getWidth();
    stateFrameHeight[state] = frames[0].getHeight();
    stateFrames[state] = frames;
  }

  /**
   * 獲得指定狀態(tài)下的圖片幀數(shù)量
   *
   * @param state
   * 某一狀態(tài)
   * @return 指定狀態(tài)下的圖片幀數(shù)量
   */
  public final int getTotalFrames(int state) {
    return stateFrames[state].length;
  }

  /**
   * 獲得相應(yīng)狀態(tài)的持續(xù)總時間 注:并不是每幀的延遲時間
   *
   * @param state
   *            相應(yīng)狀態(tài)
   * @return 持續(xù)總時間
   */
  public final int getAnimTime(int state) {
    return stateAnimTime[state];
  }

  /**
   * 獲得每幀的延遲時間
   *
   * @param state
   *            相應(yīng)狀態(tài)
   * @return 每幀的延遲時間
   */
  public final int getAnimTimePerFrame(int state) {
    return stateAnimTime[state] / stateFrames[state].length;
  }

  /**
   * 在畫布上畫相應(yīng)狀態(tài)的相應(yīng)幀
   *
   * @param target
   *            相應(yīng)畫布
   * @param state
   *            相應(yīng)狀態(tài)
   * @param frame
   *            相應(yīng)幀
   * @param targetX
   *            繪制幀的相應(yīng)X坐標(biāo)
   * @param targetY
   *            繪制幀的相應(yīng)Y坐標(biāo)
   */
  public final void draw(Graphics target, int state, int frame, int targetX,
                         int targetY) {
    if (stateFrames[state][frame] != null) {
      target.drawImage(stateFrames[state][frame], targetX, targetY,
                       Tools.GRAPHICS_TOP_LEFT);
    }
  }

  /**
   * 提取出相應(yīng)狀態(tài)相應(yīng)幀的圖片
   *
   * @param state
   *            相應(yīng)狀態(tài)
   * @param frame
   *            相應(yīng)幀
   * @return
   */
  public final Image getFrame(int state, int frame) {
    return stateFrames[state][frame];
  }

  /**
   * 得到一張圖片的相應(yīng)裁剪區(qū)域
   *
   * @param filename
   *            圖片文件的名字
   * @param originX
   *            裁剪區(qū)域的起始X坐標(biāo)
   * @param originY
   *            裁剪區(qū)域的起始Y坐標(biāo)
   * @param width
   *            裁剪區(qū)域的寬度
   * @param height
   *            裁剪區(qū)域的高度
   * @return 裁剪區(qū)域的圖片
   */
  public final static Image loadClippedImage(String filename, int originX,
                                             int originY, int width, int height) {
    try {
      // 載入整張圖片
      Image fileImage = Image.createImage(filename);
      // 用getImageRegion方法用以提取出想要的圖片
      return getImageRegion(fileImage, originX, originY, width, height);
    }

    catch (IOException ioe) {
      System.out.println("can't load file: " + filename);
      return null;
    }
  }

  /**
   * 得到一張圖片的相應(yīng)裁剪區(qū)域(從相應(yīng)的位置起裁剪原始圖片的剩余部分)
   *
   * @param filename
   *            圖片文件的名字
   * @param originX
   *            裁剪區(qū)域的起始X坐標(biāo)
   * @param originY
   *            裁剪區(qū)域的起始Y坐標(biāo)
   * @return 裁剪區(qū)域的圖片
   */
  public final static Image loadClippedImage(String filename, int originX,
                                             int originY) {
    try {
      // 載入整張圖片
      Image fileImage = Image.createImage(filename);

      // 如果只是完整地載入一張圖片
      if (originX == 0 && originY == 0)
        return fileImage;

      // 得到我們想要的圖片區(qū)域
      return getImageRegion(fileImage, originX, originY, fileImage
                            .getWidth(), fileImage.getHeight());
    }

    catch (IOException ioe) {
      System.out.println("can't load file: " + filename);
      return null;
    }
  }

  /**
   * 在原始圖片上剪切出一張新圖片
   *
   * @param source 原始圖片
   * @param x
   *            新圖片在原始圖片上的起始X坐標(biāo)
   * @param y
   *            新圖片在原始圖片上的起始Y坐標(biāo)
   * @param width
   *            新圖片的寬度
   * @param height
   *            新圖片的高度
   * @return 僅僅包含原始圖片部分的新圖片
   */
  public final static Image getImageRegion(Image source, int x, int y,
                                           int width, int height) {
    //#ifdef debug
    //# if (x + width > source.getWidth() || y + height > source.getHeight())
    //# System.out.println("Warning: attempting extract using (" + x + ","
    //# + y + "," + width + "," + height + ") when image is " + "("
    //# + source.getWidth() + "," + source.getHeight() + ")");
    //#endif
    // 為新圖片創(chuàng)建一張空白圖片

    //#if NOK_7260 || NOK_7210 || NOK_6101 || NOK_6230i || NOK_7370
    //# Image result = DirectUtils.createImage(width, height, 0);
    //# // 在空白圖片上根據(jù)相應(yīng)位置繪制
    //# result.getGraphics().drawImage(source, -x, -y, Tools.GRAPHICS_TOP_LEFT);
    //#else
    Image result = Image.createImage(source, x, y, width, height, 0x00000000);
    //#endif

    return result;
  }

  /**
   * 分離幀
   *
   * @param sourceImage
   *            原始合并圖片
   * @param sourceX
   *            原始圖片的分離起始X坐標(biāo)
   * @param sourceY
   *            原始圖片的分離起始Y坐標(biāo)
   * @param framesWide
   *            橫向的分離數(shù)量
   * @param framesHigh
   *            縱向的分離數(shù)量
   * @param frameWidth
   *            每幀的寬度
   * @param frameHeight
   *            每幀的高度
   * @return 存儲每幀圖片的數(shù)組
   */
  public final static Image[] extractFrames(Image sourceImage, int sourceX,
                                            int sourceY, int framesWide,
                                            int framesHigh, int frameWidth,
                                            int frameHeight) {
    // 存儲每幀圖片的數(shù)組
    Image[] frames = new Image[framesWide * framesHigh];
    int frameCount = 0;

    for (int fy = 0; fy < framesHigh; fy++)
      for (int fx = 0; fx < framesWide; fx++)
        frames[frameCount++] = getImageRegion(sourceImage,
                                              sourceX + (fx * frameWidth),
                                              sourceY + (fy * frameHeight),
                                              frameWidth, frameHeight);
    return frames;
  }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品av综合导航| 成人av电影在线网| 欧美亚洲一区二区在线观看| 久久免费美女视频| 亚洲成a人片综合在线| 色激情天天射综合网| 国产精品美女久久久久高潮| 美女视频黄久久| 欧美精品99久久久**| 一个色综合av| 欧美影视一区二区三区| 亚洲精品老司机| a级高清视频欧美日韩| 中文字幕精品综合| 不卡的av电影在线观看| 欧美韩国日本综合| 粉嫩av一区二区三区粉嫩| 久久精品免视看| 国产jizzjizz一区二区| 欧美国产丝袜视频| 一本到不卡精品视频在线观看| 成人免费在线视频| 欧美在线观看一区| 亚洲男女一区二区三区| 欧美偷拍一区二区| 免费人成黄页网站在线一区二区 | 欧美成人在线直播| 久久99精品久久久久久动态图| 欧美精品一区视频| 国产伦精一区二区三区| 国产精品每日更新| 欧美亚洲一区二区在线| 人人狠狠综合久久亚洲| 亚洲精品一区二区三区福利| 成人综合婷婷国产精品久久蜜臀| 国产精品伦理在线| 欧美日韩在线播放三区| 美女视频一区二区三区| 欧美国产禁国产网站cc| 91污片在线观看| 午夜精品福利视频网站| 欧美成人一区二区三区在线观看 | 极品瑜伽女神91| 国产精品区一区二区三区| 91麻豆.com| 久久精品国产澳门| 日韩理论在线观看| 日韩一区二区三区免费观看| 天天操天天色综合| 欧美韩国日本不卡| 欧美伦理电影网| 丰满岳乱妇一区二区三区| 亚洲二区在线视频| 日韩一区二区免费视频| www.亚洲国产| 久久99蜜桃精品| 亚洲美腿欧美偷拍| 日韩欧美国产三级电影视频| 99久久国产综合精品色伊| 视频在线观看91| 中文字幕一区二区三区色视频| 欧美性猛交xxxx黑人交 | 亚洲国产色一区| 久久久99免费| 欧美精品乱码久久久久久按摩| 韩国在线一区二区| 亚洲一区二区三区美女| 中文字幕第一页久久| 日韩亚洲欧美成人一区| 色综合视频在线观看| 国产精品综合视频| 亚洲黄色片在线观看| 久久精品亚洲麻豆av一区二区 | 日韩电影在线观看一区| 自拍偷拍国产精品| 国产农村妇女毛片精品久久麻豆 | 国产乱码精品一区二区三| 日韩高清欧美激情| 亚洲午夜在线观看视频在线| 亚洲国产精品成人综合 | av不卡一区二区三区| 国内精品久久久久影院一蜜桃| 午夜欧美电影在线观看| 亚洲免费大片在线观看| 国产精品久久久久永久免费观看| 欧美日韩视频不卡| 欧美亚洲自拍偷拍| 欧美性一区二区| 91精品办公室少妇高潮对白| 久久久欧美精品sm网站 | 久久综合丝袜日本网| 久久精品无码一区二区三区| 亚洲国产成人自拍| 综合久久一区二区三区| 香蕉久久一区二区不卡无毒影院| 午夜精品免费在线| 激情欧美一区二区| 99久久婷婷国产| 欧美日韩国产在线观看| 日韩欧美精品在线视频| 国产精品三级视频| 日韩美女视频一区| 午夜精品久久久久影视| 激情偷乱视频一区二区三区| 91在线精品一区二区| 欧美日本高清视频在线观看| 欧美tk丨vk视频| 国产精品久久毛片a| 亚洲成人在线网站| 国产精品一区二区黑丝| 在线观看一区日韩| 欧美不卡激情三级在线观看| 国产精品久久久久久久岛一牛影视 | 成人av影视在线观看| 欧美亚洲国产一区在线观看网站| 欧美变态tickling挠脚心| 国产欧美一区二区精品婷婷| 亚洲自拍都市欧美小说| 国产麻豆视频一区二区| 欧美在线不卡一区| 久久久噜噜噜久噜久久综合| 亚洲一区二区中文在线| 国产精品原创巨作av| 欧美性xxxxxx少妇| 国产精品毛片无遮挡高清| 天天射综合影视| 99精品久久久久久| 日韩毛片视频在线看| 琪琪一区二区三区| 91久久线看在观草草青青| 久久精品视频网| 日本不卡不码高清免费观看| 99视频精品全部免费在线| 精品美女一区二区三区| 亚洲高清在线精品| 成人中文字幕电影| 日韩美女主播在线视频一区二区三区 | 欧美一区二区三区免费在线看| 国产精品国产三级国产专播品爱网| 日韩黄色片在线观看| 91麻豆精东视频| 欧美国产1区2区| 国产一区二区导航在线播放| 欧美日本一区二区三区| 一区二区三区在线观看网站| 国产91精品在线观看| 日韩欧美亚洲国产另类| 日韩激情一二三区| 欧美视频你懂的| 一区二区三区免费| 91在线视频网址| 国产精品无人区| 国产成人在线视频网站| 久久久国际精品| 国模冰冰炮一区二区| 日韩视频免费观看高清完整版| 亚洲国产成人va在线观看天堂| 91一区二区三区在线播放| 国产精品嫩草久久久久| 国产99久久久国产精品免费看 | 26uuu国产电影一区二区| 麻豆精品一区二区综合av| 69久久99精品久久久久婷婷| 亚洲二区在线观看| 欧美精品粉嫩高潮一区二区| 亚洲aaa精品| 欧美巨大另类极品videosbest | 日韩精品综合一本久道在线视频| 亚洲成人自拍偷拍| 欧美二区在线观看| 麻豆久久久久久久| 五月婷婷激情综合网| 欧美乱熟臀69xxxxxx| 蜜臀a∨国产成人精品| 欧美大胆一级视频| 久久99久久精品| 久久无码av三级| 粉嫩av一区二区三区| 中文字幕视频一区| 在线观看国产精品网站| 午夜亚洲福利老司机| 91精品国产综合久久小美女| 免费欧美高清视频| 国产亚洲女人久久久久毛片| 成人午夜电影久久影院| 亚洲人妖av一区二区| 色婷婷av一区| 亚洲电影第三页| 日韩一区二区在线看| 国产精品91一区二区| 最近中文字幕一区二区三区| 欧美综合色免费| 精品在线免费视频| 国产精品久久久久久久岛一牛影视 | 久久精品人人做人人爽97| av在线播放一区二区三区| 亚洲v精品v日韩v欧美v专区| 欧美一区二区观看视频| 国产精品综合网| 亚洲伊人伊色伊影伊综合网|