開発環境 |
Apache Flex SDK 4.13.0 |
|
FlashDevelop 4.7.1.1 |
実行環境 |
Microsoft Windows 8.1 (64bit) |
プロジェクトの種類 |
ActionScript 3/AS3 Project |
プロジェクト名 |
parabola |
Main.as
package
{
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import mx.utils.StringUtil;
public class Main extends Sprite
{
public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var canvas:Sprite = new Sprite;
var gr:Graphics = canvas.graphics;
addChild(canvas);
// 補助線
gr.lineStyle(1, 0x000000);
gr.moveTo(0, 0);
gr.lineTo(0, 480);
gr.lineTo(640, 480);
const g:Number = 9.8; // 重力加速度 m/s^2
const v0:Number = 30; // 初速 30m/s = 108km/h
const th:Number = 45 * Math.PI / 180; // 角度
const p:Number = 5; // 倍率
const vx:Number = v0 * Math.cos(th);
const vy:Number = v0 * Math.sin(th);
gr.lineStyle(1, 0xff0000);
gr.moveTo(0, 480);
for (var t:Number = 0; ; t += 0.1)
{
var x:Number = vx * t;
var y:Number = vy * t - g * t * t / 2;
trace(StringUtil.substitute("t:{0} x:{1} y:{2}", t, x, y));
if (y < 0) break;
gr.lineTo(x * p, 480 - y * p);
}
}
}
}
最終更新:2015年01月21日 17:15