mali.java

来自「一个Java小程序」· Java 代码 · 共 131 行

JAVA
131
字号
/**
 * @(#)Mali.java	
 * Copyright (c) 2004-2005 wuhua of workroom Inc. All Rights Reserved.
 * @version 	1.0, 10/05/2004
 * @author 	饶荣庆
 * @author 	余煜辉
 */
package com.wuhua.mali;

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

/**
 *此类是用来描述玛莉赛跑中玛莉类
 */
public class Mali extends Sprite
{ 
	/**
	 *定义没贴图象的宽度
	 */
	public static int WIDTH = 32;
	
	/**
	 *定义没贴图象的高度
	 */
	public static int HEIGHT = 48;

	/**
     *定义初始化X的位置
     */

    public int myInitialY;

	/**
	 *定义初始化Y的位置
	 */
	public int myInitialX;

	/**
	 *定义水平方向初始速度变量
	 */
	public int rateX;

	/**
	 *定义与水平垂直方向初始速度变量
	 */
	public int rateY;

	 
	public Mali(int initialX, int initialY) throws Exception 
	{
		super(Image.createImage("/mali/mali.png"), WIDTH, HEIGHT);
		this.myInitialX = initialX;
		this.myInitialY = initialY;
		this.rateX = 1;	  		 //初始速度为0
		this.rateY = 65;			  //跳跃的高度
		defineReferencePixel(WIDTH/2, HEIGHT/2);	//设置动画的像素参考点为图象的中心
		setPosition(myInitialX, myInitialY); //设置游戏开始时玛莉的位置
		setFrame(2); //设置初始动作
	}

	public void reset()
	{
		setRefPixelPosition(myInitialX, myInitialY); //设置游戏开始时玛莉的位置
		setFrame(2); //设置初始动作
	}

    /**
	 *碰撞算法
	 */
	public boolean checkCollision(Parapet parapet) 
	{
		if(collidesWith(parapet, false)) 
		{
			return true;
		} 
		else return false;		
	 }

	/**
	 *玛莉前进方法
	 */
	public void advance()
	{
		
		move(rateX, 0);
	}
	
	/**
	 *玛莉加速方法
	 */
	public void accelerate()
	{
		if (rateX <= 5)   //速度不能超过10
		{
			rateX++;
		}
		this.advance();
	}

	/**
	 *玛莉减速方法
	 */
	public void	decelerate()
	{
		if (rateX >= 0)	  //速度不能小于0
		{
			rateX--;
		}
		this.advance();
	}

	/**
	 *玛莉跳跃是的高度方法
	 */
	public void jump()
	{
		this.move(0, -rateY); 
	}

	/**
	 *玛莉跳跃时下降的方法
	 */
	public void down()
	{
		this.move(0, rateY); 
	}

}

⌨️ 快捷键说明

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