【 tulaoshi.com - 编程语言 】
                             
                            关于手机游戏中的炮弹轨迹——抛物线   在手机游戏的开发中经常会根据一条抛物线来模拟炮弹的轨迹。在已知炮弹的发射点,射程和射击高度的情况下,完全可由
  抛物线方程来模拟出炮弹的运行轨迹,当然,这里的模拟只是理想状态下的,并没有把风力等因素考虑进去。
  根据炮弹的发射点(x1,y1),射程(cs)和射击高度(h)可得出抛物线的三个点:
  p1:(x1,y1)
  p2:(x2,y2)    x2=x1+cs/2, y2=y1+h
  p3:(x3,y3)    x3=x1+cs,   y3=y1
  根据这三个点可列出抛物线方程
  ax1^2+bx1+c=y1
  ax2^2+bx2+c=y2
  ax3^2+bx3+c=y3
  计算方程得到该抛物线的系数a,b,c
  得到a,b,c后,即可根据a,b,c计算出抛物线每点的轨迹。  下面的例子将说明如何绘制轨迹:   例子源码及图片下载 
  我的MSN是zhagy_1981@hotmail.com,欢迎指出不足之处。
  例子运行效果如下:
 
  
  
  
  
     例子canvas中的代码
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)  import Java.io.IOException;
  import javax.microedition.lcdui.Graphics;
  import javax.microedition.lcdui.Image;
  import javax.microedition.lcdui.game.GameCanvas;
  import javax.microedition.lcdui.game.Sprite;
  import javax.microedition.lcdui.game.TiledLayer;
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)public class MyCanvas extends GameCanvas implements Runnable
  {
   //小船的位置
   int x,y;
   //小船精灵
   Sprite ship;
   //地图
   TiledLayer background;
   //图片
   Image ship_IMG, sea_IMG, bullet_IMG;
   //炮弹
   Bullets bullets;
   public MyCanvas()
   {
    super(true);
    //初始化船的位置
    x = 10;
    y = 60;
    try
    {
     ship_IMG = Image.createImage("/ship.png");
     sea_IMG = Image.createImage("/sea.png");
     bullet_IMG = Image.createImage("/bullet.png");
    }
    catch (IOException e)
    {
     e.printStackTrace();
    }
    //初始化炮弹
    bullets = new Bullets(bullet_IMG);
    //初始化小船
    ship = new Sprite(ship_IMG, 24, 30);
    ship.setPosition(x, y);
    //初始化地图
    background = new TiledLayer(20, 6, sea_IMG, 32, 32);