<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    路是爬出來的

    游戲入門之一 雷電 精靈模型

          設計游戲我個人認為一個好的角色操作將事半工倍。所以我現在把雷電的所有角色抽象成一個Fairy。里面有實現繪制的方法以及移動,碰撞算法。

          在這里我強調下,我的碰撞算法是簡單的實現。就是一個物體為參照物體。在10像素范圍內x,y軸如果發現另外一個物體侵入則判斷為true,發之為false

    java 代碼


     


    1.    

    2. package org.wuhua.game.model;  

    3.   

    4. import javax.microedition.lcdui.Graphics;  

    5. import javax.microedition.lcdui.Image;  

    6.   

    7. import org.wuhua.game.util.Log;  

    8.    

    9. /** 

    10.  * 類名:Sprite.java 

       
       

    11.  * 編寫日期: 2006-11-29 

       

    12.  * 程序功能描述:建立精靈物體模型 

       

    13.  * Demo: 

       

    14.  * Bug: 

       

    15.  *  

    16.  * 程序變更日期 :

       
       

    17.  * 變更作者 :

       
       

    18.  * 變更說明 :

       

    19.  *  

    20.  * @author wuhua 

       
       

    21.  */  

    22. public class Fairy {  

    23.     static Log log = Log.getLog("Fairy");  

    24.     /** 

    25.      * position of Fairy in x offset  

    26.      */  

    27.     int x; // = 0;  

    28.   

    29.     /** 

    30.      * position of Fairy in y offset  

    31.      */  

    32.     int y; // = 0;  

    33.   

    34.     /** 

    35.      * width of layer  

    36.      */  

    37.     int width; // = 0;  

    38.   

    39.     /** 

    40.      * height of layer 

    41.      */  

    42.     int height; // = 0;  

    43.   

    44.     /**  

    45.      * If the Layer is visible it will be drawn when paint 

    46.      * is called. 

    47.      */  

    48.     boolean visible = true;  

    49.       

    50.     /** 

    51.      * 圖片資源 

    52.      *   

    53.      */  

    54.       

    55.     Image fairy;   

    56.       

    57.     public Fairy(Image fairy,int x, int y){  

    58.         this.fairy = fairy;  

    59.         this.x = x;  

    60.         this.y = y;  

    61.     }  

    62.       

    63.     public void setPosition(int x, int y) {  

    64.         this.x = x;  

    65.         this.y = y;  

    66.     }  

    67.       

    68.     public void move(int dx, int dy) {    

    69.        

    70.         x += dx;  

    71.         y += dy;  

    72.     }  

    73.       

    74.     public void setVisible(boolean visible) {  

    75.         this.visible = visible;  

    76.     }  

    77.   

    78.      

    79.     public final boolean isVisible() {  

    80.         return visible;  

    81.     }  

    82.   

    83.     public final int getHeight() {  

    84.         return height;  

    85.     }  

    86.   

    87.     public final int getWidth() {  

    88.         return width;  

    89.     }  

    90.   

    91.     public final int getX() {  

    92.         return x;  

    93.     }  

    94.   

    95.     public final int getY() {  

    96.         return y;  

    97.     }  

    98.       

    99.     public void paint(Graphics g){  

    100.         if (g == null) {  

    101.             throw new NullPointerException("Graphics 不存在");  

    102.         }  

    103.         if(this.visible){  

    104.             //log.debug("x=" + x + " y=" + y);   

    105.             g.drawImage(fairy, x, y,  Graphics.TOP | Graphics.HCENTER);  

    106.         }  

    107.     }  

    108.   

    109.     /** 

    110.      * 進行簡單的碰撞算法, 希望高手可以給個建議。 

    111.      * @param f 

    112.      * @return 

    113.      */  

    114.     public final boolean collidesWith(Fairy f){  

    115.           

    116.        

    117.         if((f.getX() >= this.getX() - 20 && f.getX() <= this.getX() + 20)  

    118.                 &&  (f.getY() >= this.getY() - 10  && f.getY() <= this.getY()+10 )){  

    119.             //log.debug("this.getY=" + this.getY());  

    120.             //log.debug("f.getY=" + f.getY());  

    121.                

    122.                

    123.             return true;  

    124.         }  

    125.               

    126.         return false;  

    127.     }  

    128.    

    129.   

    130. }  


    posted on 2006-12-30 09:24 路是爬出來的 閱讀(1307) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: jiz zz在亚洲| 亚洲欧美在线x视频| 亚洲男人的天堂www| 日韩色日韩视频亚洲网站| 四虎影院免费在线播放| 亚洲春色另类小说| 99久久久国产精品免费无卡顿| 亚洲人成依人成综合网| www视频在线观看免费| 亚洲日本在线免费观看| 很黄很黄的网站免费的| 国产成+人+综合+亚洲专| 手机在线免费视频| 黑人粗长大战亚洲女2021国产精品成人免费视频| 一个人看www在线高清免费看| 人妻无码中文字幕免费视频蜜桃| 国产青草视频免费观看97| 亚洲av无码无线在线观看| 国产无遮挡色视频免费视频| 国产精品亚洲一区二区三区久久| 国产免费人成视频在线观看| 免费看美女午夜大片| 国产亚洲精品免费视频播放| 国产自国产自愉自愉免费24区| 亚洲国产成人高清在线观看| 1000部啪啪未满十八勿入免费| 亚洲精品国产国语| 亚洲日韩VA无码中文字幕| a毛片在线还看免费网站| 亚洲综合久久1区2区3区| 成人免费毛片视频| 成人国产网站v片免费观看| 精品国产_亚洲人成在线高清| 亚洲av片在线观看| 亚洲A∨精品一区二区三区| 免费无码作爱视频| 亚洲av成人一区二区三区| 亚洲A丁香五香天堂网| 久久精品成人免费网站| 最新亚洲精品国偷自产在线| 亚洲精品无码你懂的网站|