<b>J2ME游戏开辟笔记整编版</b>[Java编程]
本文“<b>J2ME游戏开辟笔记整编版</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
-------------普通类问题--------------
1 J2ME中查表法利用三角函数
CLDC和MIDP都没有供应三角函数,并且CLDC1.0中也没有浮点数,所以我们的挑选是查表.利用8位定点数的sin和cos表.下面是wtk自带demo中的代码,只供应了有限的几个角度,实际利用时按照需求细化角度值.
// sines of angles 0, 10, 20, 30, 40, 50, 60, 70, 80, 90,all *256
private static final int[] SINES =
{ 0, 44, 88, 128, 165, 196, 222, 241, 252, 256 };
// angle is in degrees/10, i.e. 0..36 for full circle
private static int sineTimes256(int angle)
{
angle %= 36; // 360 degrees
if (angle <= 9) // 0..90 degrees
{
return SINES[angle];
}
else if (angle <= 18) // 90..180 degrees
{
return SINES[18-angle];
}
else if (angle <= 27) // 180..270 degrees
{
return -SINES[angle-18];
}
else // 270..360 degrees
{
return -SINES[36-angle];
}
}
// angle is in degrees/10, i.e. 0..36 for full circle
private static int cosineTimes256(int angle)
{
return sineTimes256(angle + 9); // i.e. add 90 degrees
}
(2006.5 注:有一些算法可以生成三角函数值,这样只要在游戏载入时生成一下函数表便可,节俭一些数据)
2 J2ME中利用随机数
产生0~n之间的随机数:
(ran.nextInt()>>>1)%n
或
(ran.nextInt()&0x7FFFFFFF)%n
产生-n~0之间的随机数:
(ran.nextInt() | 0x80000000 )%n
以上是“<b>J2ME游戏开辟笔记整编版</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |