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

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

?? sprite.java

?? 《J2ME Game Programming》隨書光盤源代碼
?? JAVA
字號:
import javax.microedition.lcdui.Graphics;

/**
 * A state manager for a game sprite. Use in conjunction with an ImageSet in
 * order to draw animated, multi-state sprites. For each instance of an animated
 * graphic you should create one corresponding Sprite object. Graphics are
 * shared using a common ImageSet. To animate you must call this class's cycle
 * method.
 * @author Martin J. Wells
 */
public class Sprite
{
   private int currentFrame;
   private int currentState;
   private long currentStateBegan;		// time this currentState started
   private ImageSet imageSet;
   private long lastFrameChange;
   private int totalCycles;

   /**
    * Constructor for a Sprite object requiring the source image set and the
    * starting state and frame.
    * @param is The imageSet which is the source of graphics for this Sprite.
    * @param startingState The starting state (normally 0).
    * @param startingFrame The starting frame (normally 0).
    */
   public Sprite(ImageSet is, int startingState, int startingFrame)
   {
      imageSet = is;
      setState(startingState, true);
      currentFrame = startingFrame;
   }

   /**
    * Change to a specific frame.
    * @param f The frame to change to.
    */
   public final void setFrame(int f)
   {
      currentFrame = f;
   }

   /**
    * Change to a different state.
    * @param s The state to change to.
    * @param force Normally we wont change change if that is already the current
    * state. However this has the effect of not reseting the state began time
    * and totalCycles counter. Set this to true to force those to be reset.
    */
   public final void setState(int s, boolean force)
   {
      if (currentState != s || force)
      {
         currentState = s;
         currentFrame = 0;
         totalCycles = 0;
         currentStateBegan = System.currentTimeMillis();
      }
   }

   /**
    * Resets all state information such as the current animation frame, total
    * number of completed cycles and the time the state began.
    */
   public final void reset()
   {
      currentFrame = 0;
      totalCycles = 0;
      currentStateBegan = 0;
      lastFrameChange = 0;
   }

   /**
    * Get the time the last state change occurred.
    * @return Time last state was changed in milliseconds since epoch.
    */
   public final long getWhenStateBegan()
   {
      return currentStateBegan;
   }

   /**
    * @return The total time spent in the current state.
    */
   public final long getTimeInCurrentState()
   {
      return (System.currentTimeMillis() - currentStateBegan);
   }

   /**
    * @return The current state.
    */
   public final int getCurrentState()
   {
      return currentState;
   }

   /**
    * @return The current frame number.
    */
   public final int getCurrentFrame()
   {
      return currentFrame;
   }

   /**
    * Draws the current sprite frame onto a specified graphics context.
    * @param target The target to draw the image frame onto.
    * @param targetX The target x position.
    * @param targetY The target y position.
    */
   public final void draw(Graphics target, int targetX, int targetY)
   {
      imageSet.draw(target, currentState, currentFrame, targetX, targetY);
   }

   /**
    * Cycles the current sprites animation and goes forward by the number of
    * frames corresponding to the amount of time that has elapsed.
    * @param deltaMS The amount of time that has passed in milliseconds.
    */
   public final void cycle(long deltaMS)
   {
      // change frame if we are animating (and enough time has passed)
      if (imageSet.getTotalFrames(currentState) > 1 &&
              imageSet.getAnimTime(currentState) > 0)
      {
         long deltaTime = System.currentTimeMillis() - lastFrameChange;
         if (deltaTime > imageSet.getAnimTimePerFrame(currentState))
         {
            currentFrame++;
            lastFrameChange = System.currentTimeMillis();
            if (currentFrame >= imageSet.getTotalFrames(currentState))
            {
               currentFrame = 0;
               totalCycles++;
            }
         }
      }
   }

   /**
    * @return The total number of cycles this sprite has animated through.
    * Very useful for determining if a sprite has finished it's animation.
    */
   public final int getTotalCycles()
   {
      return totalCycles;
   }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区视频在线| 久久99国产精品久久| 一区二区在线观看免费| 视频在线观看91| 日本道在线观看一区二区| 94-欧美-setu| 欧美日韩一区不卡| 欧美精品一区二区三区在线播放| 久久精品夜夜夜夜久久| 亚洲女人小视频在线观看| 麻豆免费精品视频| 在线免费观看日本一区| 欧美日韩精品免费| 久久亚洲精华国产精华液 | 国产在线不卡一卡二卡三卡四卡| 国模冰冰炮一区二区| 成人禁用看黄a在线| 久久精品日产第一区二区三区高清版| 欧美xxxxxxxx| 欧洲日韩一区二区三区| 欧美体内she精高潮| 日韩国产欧美三级| 亚洲一级二级三级在线免费观看| 久久精品亚洲一区二区三区浴池 | 欧美日韩成人激情| 欧美日韩中文一区| 日韩免费视频一区| 国产精品久久看| 香蕉久久夜色精品国产使用方法| 日本免费新一区视频| 国产成人亚洲精品青草天美 | 91丨九色丨黑人外教| 在线国产电影不卡| 91精品国产综合久久小美女| 久久久高清一区二区三区| 亚洲在线视频网站| 国产成都精品91一区二区三| 8x福利精品第一导航| 亚洲国产精品精华液ab| 麻豆91在线看| 在线视频你懂得一区| 欧美videossexotv100| 亚洲一二三专区| 91最新地址在线播放| 国产欧美一区视频| 毛片av一区二区| 制服丝袜日韩国产| 亚洲3atv精品一区二区三区| 国产伦精品一区二区三区免费迷| 欧美日韩日本视频| 亚洲第一成年网| 在线观看免费亚洲| 亚洲自拍偷拍av| 91国在线观看| 亚洲一线二线三线久久久| 波多野结衣中文字幕一区二区三区 | 国产成人av电影| 91精品一区二区三区久久久久久| 国产区在线观看成人精品| 国产九色精品成人porny| 久久色视频免费观看| 国产乱码字幕精品高清av | 日本va欧美va瓶| 国产一区二区h| 国产精品视频看| 一本色道久久综合亚洲精品按摩| 亚洲精品高清在线观看| 色综合亚洲欧洲| 悠悠色在线精品| 欧美亚男人的天堂| 亚洲成年人影院| 久久影音资源网| 色综合欧美在线视频区| 亚洲va欧美va人人爽| 欧美xxxx在线观看| 97久久超碰精品国产| 日韩va亚洲va欧美va久久| 久久只精品国产| 91成人在线观看喷潮| 久久电影网站中文字幕| 麻豆成人在线观看| 亚洲欧美国产77777| 日韩免费电影网站| 一本大道久久a久久综合婷婷 | 一区二区三区精密机械公司| 日韩欧美国产综合| 国产成人一级电影| 日日欢夜夜爽一区| 国产精品日日摸夜夜摸av| 91国模大尺度私拍在线视频| 日本不卡高清视频| 国产精品久久一级| 日韩三级中文字幕| 色偷偷一区二区三区| 国产麻豆精品久久一二三| 亚洲午夜在线视频| 国产精品灌醉下药二区| 久久亚洲春色中文字幕久久久| 国产日韩视频一区二区三区| 欧美少妇性性性| 成人h精品动漫一区二区三区| 久久99国产精品久久99| 日韩激情一二三区| 午夜久久久久久久久| 玉足女爽爽91| 国产精品你懂的在线| 欧美mv和日韩mv的网站| 欧美日韩一区二区在线观看| 欧美在线观看一二区| 91视频一区二区三区| 国产精品一区二区免费不卡| 日韩av不卡一区二区| 自拍偷拍亚洲欧美日韩| 国产精品久久久久久久第一福利 | 91网页版在线| 91浏览器入口在线观看| 成年人网站91| 色婷婷精品久久二区二区蜜臂av| 99re亚洲国产精品| 成人黄色在线看| 91香蕉视频污在线| 91久久人澡人人添人人爽欧美| 99精品国产一区二区三区不卡| www.亚洲色图| 欧美在线观看你懂的| 欧美一二三四区在线| 国产精品日日摸夜夜摸av| 亚洲人成网站影音先锋播放| 舔着乳尖日韩一区| 精品一区二区三区免费毛片爱| 国产精品自拍在线| 在线观看日韩电影| 欧美一区二区精品久久911| 久久久www免费人成精品| 亚洲欧美日韩国产手机在线| 一区二区免费在线| 日韩精彩视频在线观看| 97久久人人超碰| 久久九九全国免费| 蜜桃精品在线观看| 91污在线观看| 久久综合久久久久88| 日日夜夜精品视频免费| 成人av在线播放网址| 精品久久久久久久久久久久久久久久久 | 色综合天天综合狠狠| 欧美日韩成人综合天天影院| 国产日韩av一区二区| 蜜桃视频在线一区| 在线精品视频一区二区三四| 国产欧美精品在线观看| 三级不卡在线观看| 色综合中文字幕国产 | 亚洲一区二区视频在线观看| 成人精品国产免费网站| 国产亚洲一区二区三区在线观看| 亚洲成人久久影院| 91亚洲男人天堂| 中文字幕乱码亚洲精品一区| 日韩极品在线观看| 在线亚洲人成电影网站色www| 欧美精品一区二区在线播放| 日本欧美肥老太交大片| 3atv一区二区三区| 久久精品国产亚洲a| 日韩欧美精品在线视频| 亚洲成人资源在线| 欧美三级三级三级| 日韩中文字幕一区二区三区| 色婷婷综合中文久久一本| 国产精品视频在线看| 国产一区二区福利视频| 国产精品久久久久天堂| 91亚洲精品久久久蜜桃| 一区二区三区精品视频在线| 欧美视频在线观看一区| 午夜精品久久久久久久久久| 精品视频一区二区三区免费| 午夜免费久久看| 日韩一区二区免费在线电影| 狠狠网亚洲精品| 亚洲欧洲日韩在线| 欧美人狂配大交3d怪物一区| 精品写真视频在线观看| 亚洲国产精品黑人久久久| 成人高清视频在线| 亚洲成人免费视| 日韩精品一区二区三区在线播放 | 欧美国产一区二区| 国产一区二区三区免费在线观看| 欧美一级免费大片| 成人高清免费观看| 首页国产丝袜综合| 国产欧美日韩综合精品一区二区| 不卡的av电影| 国产91综合一区在线观看| 免费成人深夜小野草| 日韩av电影天堂| 日本网站在线观看一区二区三区| 亚洲天堂网中文字|