J2ME 手机游戏粒子系统实现的1个思路

 

粒子系统要求支持浮点。blur算法网上有很多。

想了下,先发在自己的网站上了www.j2megame.com 

我给个简单的思路:

1.选定粒子颜色红色和桔黄

2.定义粒子参数(强烈建议不要用float类型,建议使用Int,如果实在要用的话,请用MATHFP类库代替

,软件下载 里面有)
    float    lizi_x;              //当前x坐标
    float    lizi_y;              //当前y坐标
    float    lizi_Angle;          //方向角度
    float    lizi_Velocity;          //速度
    float    lizi_Acceleration;//加速度
    float    lizi_Life;           //生命值
    float    lizi_Dec;          //衰减速度
    byte     lizi_Colar;        //粒子颜色 0红 1桔黄
  
3.给粒子赋初值,并建立数学模型:初始化粒子内各个变量.

下面是我根据一部分资料写的数学模型:
 粒子运动最主要的两个属性就是速度和加速度
    lizi_Velocity //速度
    lizi_Acceleration /加速度
    此外,为了更好的表示粒子的随机效果,采用了调整计算,如下:(摘录自火焰算法实现,这部分代码主要是改变角度和速度,然后再绘制到屏幕上)
    Random_angle = RndNum * PI*2  偏航:随机的角度值,范围(0-360)
    Random_rad = (RndNum * 180) *(PI/180)  斜度:随机的角度值(0-180)转换为弧度值
    在X轴方向上的随机调整:Velocity.lizi_x = Velocity.lizi_x*Cos(Rndom_rad)
    在Y轴方向上的随机调整:Velocity.lizi_y=Velocity.lizi_y*Sin(Random_rad)*Cos(Random_angle)

 

4.剩下的就是paint和repaint了,这样写 能在midp2.0/cldc1.1机子上跑,估计也很卡。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值