WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章J2ME技术开发环境使用Jbulider开发j2me程序

使用Jbulider开发j2me程序
作者:syngle  来源:j2medev  发布时间:2005-11-2 15:28:39
// Method to Handle User Inputs
private void input()
{
int keyStates = getKeyStates();

playerSprite.setFrame(0);
if(isalive)
{
if(counter==0)
{
enemyDirect=Math.abs(random.nextInt()%4);
}
counter++;
switch(enemyDirect)
{
case 0:
enemyY=Math.max(0,--enemyY);
break;
case 1:
enemyY=Math.min(++enemyY,height-enemySprite.getHeight());
break;
case 2:
enemyX=Math.max(0,--enemyX);
break;
case 3:
enemyX=Math.min(++enemyX,width-enemySprite.getWidth());
break;
}
counter=(counter++)%(sequence.length());
enemySprite.setFrame(sequence[counter]);
}
else
{
enemyY+=counter;
enemyY=Math.min(enemyY,height-enemySprite.getHeight());

if(enemyY<height-enemySprite.getHeight())
counter++;
enemySprite.setFrame(3);
}

// Left
if ((keyStates & LEFT_PRESSED) != 0)
{
currentX = Math.max(0, currentX - 1);
playerSprite.setFrame(1);
}

// Right
if ((keyStates & RIGHT_PRESSED) != 0)
if (currentX + 5 < width)
{
currentX = Math.min(width, currentX + 1);
playerSprite.setFrame(3);
}

// Up
if ((keyStates & UP_PRESSED) != 0)
{
currentY = Math.max(0, currentY - 1);
playerSprite.setFrame(2);
}

// Down
if ((keyStates & DOWN_PRESSED) != 0)
{
isdown=true;
}

if ((keyStates & DOWN_PRESSED) != 0)
{
if(isdown)
{
if (currentY + 10 < height)
{
currentY = Math.min(height, currentY + 1);
playerSprite.setFrame(4);
}
}
}

if((keyStates & FIRE_PRESSED)!=0)
{
isalive=!isalive;
counter=0;
}

if(!(enemyX+enemySprite.getWidth()<currentX || enemyY+enemySprite.getHeight()<currentY || enemyX>currentX+playerSprite.getWidth() || enemyY>currentY+playerSprite.getHeight()) && isalive)
{
counter=0;
isalive=false;
}
}

// Method to Display Graphics
private void drawScreen(Graphics g)
{
g.setColor(0xffffff);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0x0000ff);

// updating player sprite position
playerSprite.setPosition(currentX, currentY);
enemySprite.setPosition(enemyX,enemyY);

layerManager.setViewWindow(0, 0, width, height);
layerManager.paint(g, 0,0);

g.setColor(0xffffff);
flushGraphics();
}

}

此程序里敌人随机向4个方向移动,而玩家控制的角色可任意移动, 如果两者发生碰撞,则敌人死亡.

另外按fire键可直接让敌人生或死,呵呵~~

关于运行,Jbuilder里有个运行配置:

一般不用修改,如果多个Midlet,你可以在这里添加.

关于用Jbuilder打包.

一样file->new:

这个在2005和9,x里有所不同,选择Archive,右边选择MIDlet,然后ok.

这里选择要打包文件的目录,当前默认是所有的class文件和资源文件,你也可以删除掉,自己选择一部分.

然后next,直到最后. 然后运行,在运行配置中默认重新rebuild,打包等等.然后你能看到左上框里有jar文件和jad文件.

运行结果:

呵呵,用你控制的主角去碰撞这只大飞虫试试:

结果飞虫挂了,掉下去了哦,呵呵~~

全文完~~~

上一页  [1] [2] 

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码