⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hero.java

📁 学习j2me写的,虽然在碰撞上处理的不好!但其中的技巧还是可以学习的1
💻 JAVA
字号:
package Creature;

/*
 * Hero.java
 *
 * Created on 2005年11月19日, 上午8:51
 */

import Snowball.*;
import javax.microedition.lcdui.game.Sprite;

/*
 *
 * @author 诺飞
 */
public class Hero extends Creature
{
    public int LifeNum;//生命数
       
    public boolean GameOver; //游戏结束标志 true结束,false不结束 
    
    public boolean HeroRelive; //英雄复活 true复活,false不复活
        
    public int Scores;          //得分
    public int TempScores;          //得分
    
    
    public int GoodsType;     //物品种类    
    public boolean GoodsState;//物品状态
    public int GoodsX;        //物品X 
    public int GoodsY;        //物品Y 
    
    /** Creates a new instance of Player */
    public Hero(int x, int y, int WalkDir, Sprite ImageL, Sprite ImageR)
    {
        super(x, y, WalkDir, ImageL, ImageR);
        
        //设置人物参数
        StandFrame = 0;
        WalkFrameStart = 1;
        WalkFrameRate = 6;
        WalkFrameScale = 2;
        JumpUpFrame = 7;
        JumpDownFrame = 8;
        WalkInterval = 4;
        JumpInterval = 3;
        FeetStartL = 16;
        FeetEndL = 25;
        FeetStartR = 11;
        FeetEndR = 20;
       
        //添加攻击
        AttackState = 0;
        AttackFrame = 0;
        AttackStartFrame = 9;
        AttackEndFrame = 10;
        
        //帧的宽,高
        frameWidth = 30;
        frameHeight = 30;
        
        //生命
        LifeNum = 3;
        
        //英雄状态
        State = true;       //逻辑状态
        DrawState = true;   //绘画状态  

        //游戏状态
        GameOver = false;//游戏结束
        HeroRelive = false;//英雄复活      
        
        //物品
        GoodsType = 0;
        GoodsState = false;
        
        //过关飞行
        FlyVy = 20;
        
        //得分
        Scores = 0;
        TempScores = 0;
    }

    //过程更新
    public void Process(int TickCount)
    {
        super.Process(TickCount);
        AttackProc();   
        Hortation();
    }
  
    //攻击按钮
    public void Attack()
    {        
         //处理动作
        if(0 == AttackState){
            AttackState = 1;  
            AttackFrame = 0;
        }
    }
    
    //攻击过程
    private void AttackProc(){
        if(1 == AttackState){
          //处理动作
          Action = (0 == AttackFrame) ? AttackStartFrame : AttackEndFrame;
          if(1 == AttackFrame){
              AttackState = 0;
          }      
          AttackFrame = 1;
        }      
    }
    
    //过关飞行过程
    public void FlyProc(){
         y = y - FlyVy;       
    }
       
    /**==============================** 
     **          物品显示
     **==============================**/   
    public void GoodsDisplay(int x , int y){
        
        int Rnd; //随机数
        //随机运动模拟
        Rnd = Math.abs( this.rnd.nextInt() % 8);
        if(1 == Rnd){
            GoodsType = 1;
        }
        else if(2 == Rnd){
            GoodsType = 2;
        }
        else if(3 == Rnd){
            GoodsType = 3;
        }

        GoodsX = x;
        GoodsY = y - 40;
    }
    
    
    //获得物品
     public boolean GainGoods(){
         if( x + 30 > GoodsX  
            && x < GoodsX + 20
            && y - 10 >  GoodsY
            && y - 40 < GoodsY + 20 && GoodsState )
         {
             if( 3 == GoodsType){               
               if( WalkInterval >= 10){
                   Scores += 500;
                   TempScores += 500; 
               }
               else{
                   WalkInterval = WalkInterval + 2;  
               }
             }             
             return true;
         }
         return false;      
     }
     
    //英雄复活
    public void HeroRelive(){
        x = 0;
        y = 185;
        State = true;
        DrawState = true;
        MoveState = false;        
        GameOver = false;
        if( HeroRelive ){
            WalkInterval = 4;
            HeroRelive = false;
        }      
    }
    
    //奖励
    public void Hortation(){
        //TempScores = Scores;
        if( TempScores >= 10000){
            LifeNum++;   
            TempScores = TempScores - 10000;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -