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

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

?? footballclass.java

?? netbean下開發的
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * FootballClass.java
 *
 * Created on 2007年6月3日, 下午10:13
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package hello;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import java.io.IOException;
import javax.microedition.lcdui.game.Sprite;
/**
 *
 * @author FXB
 */
//初步考慮,每200微妙刷新一次球的圖像
public class FootballClass {
    private int TimeDelay;
    private int TimeN = 0;
    //X方向的最大速度
    private static final float MAXX = 3;
    //地面的摩擦阻力
    private static final float GROUNDFORCE = 0.3f;
    //碰撞方向變化的精度
    private static final float MINX = 0.5f;
    
    private Sprite Football;    //足球精靈
    
    private float Football_X;   //足球當前X坐標
    private float Football_Y;   //足球當前Y坐標
    
    private float PreFootball_X;    //足球當前幀的前一幀的X坐標
    private float PreFootball_Y;    //足球當前幀的前一幀的Y坐標
    
    private float NextFootball_X;   //足球下一幀的X坐標
    private float NextFootball_Y;   //足球下一幀的Y坐標
    
    private float Football_R;   //足球的半徑
    
    private boolean Direction_Y = false;    //當前足球的豎直運動方向,ture為向上,false為向下
    private boolean Direction_X = false;    //當前足球的水平運動方向,ture為向左,false為向右
    
    private float Football_distance_X = 0.5f;      //前后兩幀X方向的距離,大于0,則是向右運動,小于0,則是向左運動
    private double Football_distanceR_Y ;      //前兩幀的距離和后兩幀的距離在Y方向上之差
    private double Football_diatanceR_Y_;
    private float Resistance_air;   //空氣阻力造成的距離差
    private float Force = 0;    //人頭頂足球的力度,5為無能量損失碰撞,789為增加能量,123為減能量。
    
    private float Football_H ;   //足球當前的高度
    
    private int IsStrike = 0;   //碰撞類型標記,0為無碰撞,1為左側碰撞,2為右側碰撞,3為地板碰撞,4為頭部碰撞
    
    public boolean state = true ;      //用來標記當前游戲的狀態,如果state變為false,則表明球觸到地面了,游戲應該結束
    private FootballGameCanvas footballGameGanvas;
   
    /** Creates a new instance of FootballClass */
    public FootballClass(Sprite Football, float Football_X, float Football_Y ,
            double Football_ditanceR_Y, float Resistance_air,int TimeDelay,FootballGameCanvas footballGameGanvas) {
        this.TimeDelay = TimeDelay;
        this.footballGameGanvas = footballGameGanvas;
        
        
//        this.TimeN = 0;
        this.Football = Football;   //初始化足球精靈
        
        this.Football_X = Football_X;   //初始化足球的當前X坐標
        this.Football_Y = Football_Y;   //初始化足球的當前Y坐標
        
        this.Football_distanceR_Y = Football_ditanceR_Y;    //初始化前兩幀的距離和后兩幀的距離在Y方向上之差,重力越大,此值越大
        this.Football_diatanceR_Y_ = this.Football_distanceR_Y;

        this.PreFootball_X = Football_X;  //初始化足球的前一點X坐標
        this.PreFootball_Y = Football_Y;   //初時化足球前一點坐標的Y坐標
        
        this.Resistance_air = Resistance_air;   //空氣阻力造成的距離差
                
                
    }
    
    //計算下一點的X坐標
    public void cmpNext_X(){
        if(this.Football_distance_X < -MAXX){
            this.Football_distance_X = -MAXX;
        }else
            if(this.Football_distance_X > MAXX){
            this.Football_distance_X = MAXX;
            }
        this.NextFootball_X = this.Football_X + this.Football_distance_X;

    }
    
    //確定當前運動的方向,分兩個方向,向上or向下
    public void isDirection_Y(){
        if(this.Football_Y <= this.PreFootball_Y){
            this.Direction_Y = true;
        }else
            this.Direction_Y = false;
    }
    
    //計算下一點的Y坐標
    public void cmpNext_Y(){
        this.isDirection_Y();

        if(this.Direction_Y){
            this.NextFootball_Y = 2*this.Football_Y - this.PreFootball_Y + (float)this.Football_distanceR_Y + this.Resistance_air; 
        }
        else{
            this.NextFootball_Y = 2*this.Football_Y - this.PreFootball_Y + (float)this.Football_distanceR_Y - this.Resistance_air;
        }

    }
    
        //如果檢測到碰撞,并且類項為0,無碰撞,則調用這個函數
    public boolean strikeNo(){
        this.cmpNext_X();
        this.cmpNext_Y();
        return true;
    }
    
        //顯示足球當前幀 ,并且對數據進行更新,
    public void displayFootball(){

            if(this.NextFootball_Y>this.footballGameGanvas.getmyHeight()-5-this.Football.getHeight()/2){
//                if(this.NextFootball_X>this.footballGameGanvas.getmyWidth()-10-this.Football.getWidth()/2){
//                    this.Football.setRefPixelPosition((int)this.footballGameGanvas.getmyWidth()-10-this.Football.getWidth()/2,
//                            (int)this.NextFootball_Y);
//                }else if(this.NextFootball_X<10+this.Football.getWidth()/2){
//                    this.Football.setRefPixelPosition((int)(10+this.Football.getWidth()/2),
//                            (int)this.NextFootball_Y);
//                }else
//                    this.Football.setRefPixelPosition((int)this.NextFootball_X,(int)this.NextFootball_Y);
//
//        }else{
//                if(this.NextFootball_X>this.footballGameGanvas.getmyWidth()-10-(this.Football.getWidth()/2)){
//                    this.NextFootball_X = this.PreFootball_X;
//                    this.NextFootball_Y = this.PreFootball_Y;
//                    System.out.println(this.footballGameGanvas.getmyWidth()-10-(this.Football.getWidth()/2));
//                     System.out.println(this.NextFootball_X);
//                    System.out.println("ssssssssssssssssssss");
//                    this.Football.setRefPixelPosition((int)this.footballGameGanvas.getmyWidth()-10-this.Football.getWidth()/2,
//                            (int)this.footballGameGanvas.getmyHeight()-5-this.Football.getHeight()/2);
//                }else {
//                            if(this.NextFootball_X<10+this.Football.getWidth()/2){
//                            
//                                this.NextFootball_X = this.PreFootball_X;
//                                this.NextFootball_Y = this.PreFootball_Y;
//                                System.out.println("tttttttttttttttttt");
//                                this.Football.setRefPixelPosition((int)(10+this.Football.getWidth()/2),
//                                        (int)this.footballGameGanvas.getmyHeight()-5-this.Football.getHeight()/2);
//                            }else{
                                this.Football.setRefPixelPosition((int)this.NextFootball_X,
                                        (int)this.footballGameGanvas.getmyHeight()-3-this.Football.getHeight()/2);
//                                System.out.println("vvvvvvvvvvvvvvvvvvvv");
////                            }
//                        }
        }else
            this.Football.setRefPixelPosition((int)this.NextFootball_X,(int)this.NextFootball_Y);
            
//        this.Football.setRefPixelPosition((int)this.NextFootball_X,
//                            (int)this.NextFootball_Y);
        this.updata_XY();
    }
    
       //更新XY的坐標點各值,包括當前,以前和以后的坐標
//    private int TimeM=0;
    public void updata_XY(){
        
        //使球旋轉起來
        if(this.TimeN*this.TimeDelay > -(40/this.Football_distance_X)  && this.Football_distance_X < 0){
            this.Football.nextFrame();
            this.TimeN = 0;
        }else if(this.TimeN*this.TimeDelay > 40/this.Football_distance_X && this.Football_distance_X > 0){
            this.Football.prevFrame();
            this.TimeN = 0;
        }

        this.TimeN++;
        
        
        this.PreFootball_X = this.Football_X;
        this.PreFootball_Y = this.Football_Y;
        
        this.Football_X = this.NextFootball_X;
        this.Football_Y = this.NextFootball_Y;
  
    }
    
    //根據傳入的精靈和傳入精靈的類項來檢測碰撞,并更新IsStrike值
    //碰撞類型標記,0為與天花板碰撞,1為左側碰撞,2為右側碰撞,3為地板碰撞,4為頭部碰撞
    public boolean isStrike(Sprite SpriteElse,int type){
        if(this.Football.collidesWith(SpriteElse , true )){
            switch(type){
                case 0:
                    this.strikeNext_Zero();
                    System.out.println("天花板碰撞");

                    break;
                case 1:
                    this.strikeNext_One();
                    System.out.println("左側碰撞");
                    break;
                case 2:
                    this.strikeNext_Two();
                    System.out.println("右側碰撞");
                    break;
                case 3:
                    //當無y方向的運動時,足球的x方向運動也將停止
                    if( (this.Football_Y-this.PreFootball_Y) >=0 &&
                            (this.Football_Y-this.PreFootball_Y)<=this.Football_distanceR_Y*2){
                        this.Football_distance_X = 0;
                        this.Football_distanceR_Y = 0;
                        this.state = false;     //球掉落在地上,引發游戲over
                    }else
                    {
//                    System.out.println(this.Football_Y-this.PreFootball_Y);
//                    System.out.println(this.Football_distanceR_Y-this.Resistance_air);
                        this.strikeNext_Three();
                    System.out.println("地板碰撞");
                    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女男精品视频| 男男成人高潮片免费网站| 久久成人免费日本黄色| 91丨九色丨蝌蚪富婆spa| 欧美大白屁股肥臀xxxxxx| 有坂深雪av一区二区精品| 国产河南妇女毛片精品久久久| 欧美高清性hdvideosex| 国产精品二区一区二区aⅴ污介绍| 久久狠狠亚洲综合| 欧美日韩午夜影院| 一区二区三区四区不卡视频 | 久久天天做天天爱综合色| 亚洲成年人影院| 色94色欧美sute亚洲线路二| 久久精品人人做人人爽人人| 免费人成在线不卡| 欧美日韩高清一区二区三区| 亚洲女爱视频在线| 国产91丝袜在线观看| 精品对白一区国产伦| 免费观看在线色综合| 欧美亚洲高清一区二区三区不卡| 18欧美亚洲精品| 99精品欧美一区二区蜜桃免费 | 日本韩国视频一区二区| 国产精品伦理在线| 成人激情免费电影网址| 国产欧美一区二区三区鸳鸯浴 | 五月激情综合网| 在线一区二区三区四区五区 | 国产亚洲短视频| 国产一区免费电影| 久久久久久电影| 韩国精品一区二区| 精品国产伦理网| 久久成人久久鬼色| 久久老女人爱爱| 国产成人自拍网| 国产欧美精品一区二区三区四区 | 青草国产精品久久久久久| 欧美疯狂性受xxxxx喷水图片| 亚洲电影在线播放| 欧美福利视频一区| 美女脱光内衣内裤视频久久影院| 91精品国产高清一区二区三区 | 亚洲丝袜另类动漫二区| 99久久免费国产| 一区二区三区免费看视频| 在线国产电影不卡| 丝袜亚洲精品中文字幕一区| 91精品在线一区二区| 欧美aⅴ一区二区三区视频| 日韩精品中文字幕一区| 国产一区美女在线| 国产精品久久三| 色综合天天做天天爱| 亚洲一区在线看| 欧美一区日韩一区| 国产一区二区三区观看| 国产日韩精品一区二区三区 | 国产成人免费视频网站| 18欧美乱大交hd1984| 一道本成人在线| 日本人妖一区二区| 久久人人爽人人爽| 99久久99久久免费精品蜜臀| 一区二区三区免费| 91精品国产综合久久香蕉麻豆| 美女任你摸久久| 国产欧美日本一区二区三区| 色94色欧美sute亚洲线路一ni| 婷婷六月综合亚洲| 国产亚洲精品福利| 色av综合在线| 精品一区二区三区的国产在线播放 | 精品一区在线看| 国产精品免费丝袜| 欧美精品一级二级三级| 国产精品影音先锋| 一区二区三区影院| 日韩欧美成人一区二区| 成人黄色软件下载| 午夜激情综合网| 欧美极品aⅴ影院| 欧美日韩国产影片| 国产不卡在线视频| 五月激情综合网| 国产精品蜜臀在线观看| 欧美日韩在线播放一区| 国产综合久久久久久久久久久久| 亚洲色图第一区| 精品福利二区三区| 欧美四级电影在线观看| 国产精品自在欧美一区| 一区二区三区四区不卡在线| 久久综合国产精品| 欧美在线啊v一区| 国产激情一区二区三区| 亚洲一级二级在线| 国产精品色在线| 欧美一区二区三区小说| 色综合天天综合网天天看片| 精品一区二区三区日韩| 亚洲午夜私人影院| 国产精品毛片无遮挡高清| 欧美一区二区三区思思人| 一本一道久久a久久精品综合蜜臀| 精品一二三四区| 亚洲国产精品精华液网站| 国产精品理伦片| 精品国产髙清在线看国产毛片| 在线观看国产日韩| 99这里都是精品| 国产在线播放一区| 免费日本视频一区| 亚洲国产cao| 亚洲精品成人在线| 国产精品天干天干在线综合| 欧美videos大乳护士334| 欧美日韩精品专区| 色呦呦网站一区| 成人午夜视频在线| 国产精品亚洲第一区在线暖暖韩国| 三级欧美在线一区| 亚洲制服丝袜在线| 亚洲欧美色图小说| 中文字幕中文字幕在线一区| 欧美精品一区在线观看| 3d动漫精品啪啪1区2区免费| 欧美视频在线播放| 色呦呦日韩精品| 一本一道综合狠狠老| 99精品黄色片免费大全| 国产成人综合自拍| 国产精品亚洲а∨天堂免在线| 美女网站色91| 久久精品久久久精品美女| 丝袜美腿亚洲色图| 日韩中文字幕亚洲一区二区va在线 | 在线免费观看成人短视频| av不卡一区二区三区| 懂色av一区二区三区免费观看| 九九九精品视频| 激情六月婷婷综合| 九九在线精品视频| 国内精品久久久久影院一蜜桃| 久久草av在线| 久久99精品久久久久婷婷| 老鸭窝一区二区久久精品| 日本va欧美va精品发布| 美女视频黄免费的久久| 日本不卡一区二区三区高清视频| 日韩—二三区免费观看av| 天天综合网 天天综合色| 日韩精品成人一区二区在线| 日本大胆欧美人术艺术动态| 蜜桃免费网站一区二区三区| 久久精品国产亚洲高清剧情介绍| 日本欧美在线观看| 美女久久久精品| 国产乱理伦片在线观看夜一区| 国产精品一级片在线观看| 国产成人精品免费网站| www.色精品| 欧美伊人久久久久久午夜久久久久| 91国产免费观看| 6080日韩午夜伦伦午夜伦| 欧美r级在线观看| 国产亚洲精品7777| 日韩理论片网站| 亚洲午夜电影在线| 蜜桃91丨九色丨蝌蚪91桃色| 极品美女销魂一区二区三区| 国产在线播精品第三| 成人精品在线视频观看| 成人丝袜18视频在线观看| 成人av网站在线观看| 欧美亚洲高清一区| 日韩视频免费观看高清完整版在线观看| 日韩欧美在线1卡| 国产偷国产偷亚洲高清人白洁| 国产欧美精品一区aⅴ影院| 亚洲男人都懂的| 日韩激情中文字幕| 国产麻豆日韩欧美久久| 99精品欧美一区二区蜜桃免费| 欧美日韩中文字幕一区二区| 91精品一区二区三区久久久久久| 精品国产乱码久久久久久老虎| 国产欧美日韩精品a在线观看| 一区二区视频在线看| 一区二区在线免费观看| 蜜桃免费网站一区二区三区| 成人性视频免费网站| 欧美亚洲动漫另类| 精品福利一二区| 一区二区高清视频在线观看| 麻豆久久一区二区| av一区二区三区黑人|