有关于J2ME制作手机游戏的问题
我在做一个飞机的游戏,请问,我想要让BOSS在Y坐标达到多少的时候出现。那么这个Y坐标是如何取得的?还有一个手机游戏他的刷新频率是在哪里设定的?大恩不言谢!...
我在做一个飞机的游戏,请问,我想要让BOSS在Y坐标达到多少的时候出现。那么这个Y坐标是如何取得的?
还有一个手机游戏他的刷新频率是在哪里设定的?
大恩不言谢! 展开
还有一个手机游戏他的刷新频率是在哪里设定的?
大恩不言谢! 展开
展开全部
一般有两种,不过都是在线程里面完成的(run()方法里面)
1、第一种是GameLoft游戏中常用的,这种方法的优点是能让程序运行的稍微快点。
public void run() {
while (true) {
repaint();
serviceRepaints();
try {
long sleepTime = (long) (1000 / fps) -
(System.currentTimeMillis() - currTime);
if (sleepTime > 0L)
Thread.sleep(sleepTime);
currTime = System.currentTimeMillis();
}
catch (Exception ex) {
ex.printStackTrace();
}
workTime = System.currentTimeMillis() - currTime2;
currTime2 = System.currentTimeMillis();
}
}
}
2、这是普通的
public void run() {
while (true) {
repaint();
serviceRepaints();
try {
Thread.sleep(80);//线程睡眠80毫秒。
}
catch (Exception ex) {}
}
}
3、至于Boss的问题,这个坐标是你自己设定的。比如你设定BOSS要在50,1500的坐标点出现,那么当你的镜头达到这个值的时候,BOSS就应该出现了。镜头的计算一般是跟游戏性和操作有关的。有些射击游戏的地图是自动滚动的,每次滚动的时候,都要将飞机所在的屏幕位置映射为大地图坐标(比如飞机原始坐标10,200,地图以4像素的速度向前移动,那么5个循环以后,飞机所在的实际地图位置就是10,220了,尽管手机上飞机的位置没有发生变化),这样等飞机的地图Y坐标与BOSS的Y坐标的值小于屏幕高度的时候,就应该开始描绘BOSS。
如果地图不是自动滚动的,其原理跟自动滚动大同小异。自己稍微注意一下就能明白其中的不同之处。
1、第一种是GameLoft游戏中常用的,这种方法的优点是能让程序运行的稍微快点。
public void run() {
while (true) {
repaint();
serviceRepaints();
try {
long sleepTime = (long) (1000 / fps) -
(System.currentTimeMillis() - currTime);
if (sleepTime > 0L)
Thread.sleep(sleepTime);
currTime = System.currentTimeMillis();
}
catch (Exception ex) {
ex.printStackTrace();
}
workTime = System.currentTimeMillis() - currTime2;
currTime2 = System.currentTimeMillis();
}
}
}
2、这是普通的
public void run() {
while (true) {
repaint();
serviceRepaints();
try {
Thread.sleep(80);//线程睡眠80毫秒。
}
catch (Exception ex) {}
}
}
3、至于Boss的问题,这个坐标是你自己设定的。比如你设定BOSS要在50,1500的坐标点出现,那么当你的镜头达到这个值的时候,BOSS就应该出现了。镜头的计算一般是跟游戏性和操作有关的。有些射击游戏的地图是自动滚动的,每次滚动的时候,都要将飞机所在的屏幕位置映射为大地图坐标(比如飞机原始坐标10,200,地图以4像素的速度向前移动,那么5个循环以后,飞机所在的实际地图位置就是10,220了,尽管手机上飞机的位置没有发生变化),这样等飞机的地图Y坐标与BOSS的Y坐标的值小于屏幕高度的时候,就应该开始描绘BOSS。
如果地图不是自动滚动的,其原理跟自动滚动大同小异。自己稍微注意一下就能明白其中的不同之处。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询