<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 路是爬出來的 閱讀(1308) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 毛片a级毛片免费观看免下载| 亚洲人成影院在线| 91视频国产免费| 99久久国产精品免费一区二区 | 一道本在线免费视频| 亚洲永久在线观看| 91亚洲导航深夜福利| 亚洲自偷自偷图片| www.亚洲色图| 免费亚洲视频在线观看| 成年18网站免费视频网站| 免费黄色福利视频| 999任你躁在线精品免费不卡| 一级做a爰性色毛片免费| 鲁死你资源站亚洲av| 亚洲日本乱码卡2卡3卡新区| 亚洲综合色丁香麻豆| 亚洲国产精品福利片在线观看| 亚洲中文字幕无码爆乳av中文| 国产yw855.c免费视频| 免费黄色网址入口| 成人啪精品视频免费网站| 欧美男同gv免费网站观看| 13一14周岁毛片免费| 99在线观看精品免费99| 久久精品视频免费看| 日本一区午夜艳熟免费| 东方aⅴ免费观看久久av | 久久久亚洲精品蜜桃臀| 亚洲精品国自产拍在线观看| 亚洲av无码国产精品色在线看不卡| 国产成人免费a在线视频色戒| 麻豆国产入口在线观看免费| 免费观看美女裸体网站| 永久免费bbbbbb视频| 免费大片黄手机在线观看| 亚洲日韩国产一区二区三区| 亚洲精品国产精品乱码不卡| 怡红院亚洲怡红院首页| 久久精品国产亚洲av成人| 亚洲人成在线播放网站岛国|