WEB开发网
开发学院WEB开发Jsp 关于手机游戏中的炮弹轨迹—抛物线 阅读

关于手机游戏中的炮弹轨迹—抛物线

 2008-01-05 20:31:08 来源:WEB开发网   
核心提示:关于手机游戏中的炮弹轨迹——抛物线 在手机游戏的开发中经常会根据一条抛物线来模拟炮弹的轨迹,在已知炮弹的发射点,关于手机游戏中的炮弹轨迹—抛物线,射程和射击高度的情况下,完全可由抛物线方程来模拟出炮弹的运行轨迹,射程(cs)和射击高度(h)可得出抛物线的三个点:p1:(x1,y1)p2:(x2,y2) x2=x1+c
关于手机游戏中的炮弹轨迹——抛物线   在手机游戏的开发中经常会根据一条抛物线来模拟炮弹的轨迹。在已知炮弹的发射点,射程和射击高度的情况下,完全可由
抛物线方程来模拟出炮弹的运行轨迹,当然,这里的模拟只是理想状态下的,并没有把风力等因素考虑进去。
  根据炮弹的发射点(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中的代码

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;

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);

Tags:关于 手机游戏 炮弹

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接