📄 gameflatobj.java
字号:
package LR;
import javax.microedition.lcdui.game.Sprite;
import javax.microedition.lcdui.*;
import java.util.Random;
public class gameFlatObj extends Sprite
{
/*public final static int DEFAULT_PROPERTIES=0;
public final static int JUMP_FLAT_PROPERTIES=1;
public final static int GO_RIGHT_PROPERTIES=2;
public final static int GO_LEFT_PROPERTIES=3;
public final static int HARM_PROPERTIES=4;*/
private final static int IMG_LENGTH=6;
private static Image[] imgList;
private static Random rnd;
private static int nowProp=0;
private boolean isTop=false;
private int[] HideObj={0,0,1,1,2,2,3,3,2,2,1,1};
private int properties=0;
private int x,y;
private long stayTime=0;
static
{
imgList=new Image[IMG_LENGTH];
for(int i=0;i<imgList.length;i++)
{
try
{
imgList[i]=Image.createImage("/flat"+i+".png");
System.out.println("Picture "+(i+1)+" Loaded");
}
catch(Exception e)
{
System.out.println("Can't Load pic"+e);
}
}
}
private boolean isStayEnought()
{
if((System.currentTimeMillis()-stayTime)>1000)
{
stayTime=System.currentTimeMillis();
return true;
}
else
{
return false;
}
}
public void resetTime()
{
stayTime=0;
}
public gameFlatObj(boolean isFirst)
{
super(imgList[getRnd(25,isFirst)],50,8);
if(isFirst)
{
properties=nowProp;
}
else
{
properties=nowProp;
//System.out.println(nowProp);
}
if(properties==5)
{
this.setFrameSequence(HideObj);
}
objInit();
}
public void objInit()
{
this.defineCollisionRectangle(0,0,50,6);
rnd=new Random();
objReset();
}
public void up()
{
y-=1;
if(y<0)
{
isTop=true;
}
this.setPosition(x,y);
}
public void doOnChar(gameCharObj gco)
{
switch(properties)
{
case 0:
gco.up(y);
break;
case 1:
gco.jump();
break;
case 2:
gco.up(y);
gco.roll(gameCharObj.MOVE_RIGHT);
break;
case 3:
gco.up(y);
gco.roll(gameCharObj.MOVE_LEFT);
break;
case 4:
gco.up(y);
if(isStayEnought())
{
gco.setCharHarm(false);
}
break;
case 5:
if((Math.abs(rnd.nextInt())%10)<7)
{
gco.up(y);
}
else
{
gco.go();
}
}
}
public boolean getIsTop()
{
return isTop;
}
public int getProperties()
{
return properties;
}
private void objReset()
{
x=getStartPos();
y=220;
}
private int getStartPos()
{
int tmp=Math.abs(rnd.nextInt())%6;
switch(tmp)
{
case 0:
return 10;
case 1:
return 30;
case 2:
return 50;
case 3:
return 70;
case 4:
return 90;
case 5:
return 110;
default:
return 10;
}
}
private static int getRnd(int i,boolean isFirst) //返回指定数值中的随机整数
{
if(isFirst)
{
return nowProp=0;
}
else
{
int tmp=Math.abs(rnd.nextInt())%i;
switch(tmp)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
return nowProp=0;
case 7:
case 8:
case 9:
return nowProp=1;
case 10:
case 11:
case 12:
return nowProp=2;
case 13:
case 14:
case 15:
return nowProp=3;
case 16:
case 17:
case 18:
return nowProp=4;
case 19:
case 20:
case 21:
return nowProp=5;
case 22:
case 23:
default:
return nowProp=0;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -