国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于手機游戲中的炮彈軌跡—拋物線

2019-11-17 05:57:37
字體:
來源:轉載
供稿:網友
關于手機游戲中的炮彈軌跡——拋物線
  在手機游戲的開發中經常會根據一條拋物線來模擬炮彈的軌跡。在已知炮彈的發射點,射程和射擊高度的情況下,完全可由
拋物線方程來模擬出炮彈的運行軌跡,當然,這里的模擬只是理想狀態下的,并沒有把風力等因素考慮進去。
  根據炮彈的發射點(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);


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泾源县| 刚察县| 陆丰市| 神农架林区| 桂林市| 淮滨县| 日土县| 沂南县| 黑水县| 砚山县| 淳化县| 镇远县| 锡林郭勒盟| 安庆市| 通化市| 隆德县| 新沂市| 镇坪县| 凤城市| 涟水县| 定襄县| 咸宁市| 静宁县| 安国市| 阿尔山市| 宁都县| 开化县| 东宁县| 岢岚县| 黔西县| 西昌市| 吴江市| 乐东| 桂阳县| 迁西县| 民权县| 连云港市| 乡城县| 福建省| 广水市| 枞阳县|