本文展示手机游戏中物体做抛物线运动的代码实现。它采用近似模拟的方法,也就是先放大后缩小的模拟方式,并加入了一定的偏移量。

    这是45度角情况下的抛物线轨迹。

    是不是觉得高度不够呢!运算不够精确!那么我们在Y上加个偏移量来增加高度,公式改为:

    x= (vx+windSpeed )*t /100000; ;
    int pianyi=(t*400000);
    if(vy==0){
     pianyi=0;
    }
    y=(100000*(getHeight()-imgWu.getHeight())-(vy*t-100000*t*t+pianyi))/100000;

    这里的X轴还加了风速 windSpeed 现实中物体定受风速影响!当然这里的风速也是放大的了;

    if(vy==0){
     pianyi=0;
    }

    这个代码是在平抛的时候就不需要加入高度偏移了。现在再看45度角的抛物线:

    图2

    如果你还不满意还可以改动偏移数值来让模拟更精确。下面来看一些角度在不同力度和风速下的轨迹快照:

    图3

    【责任编辑:火凤凰 TEL:(010)68476606-8007】



    共2页: 上一页 [1] 2
    【内容导航】

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone