(公式)游戏中的物理公式

弓箭的运动:

dx = targetX- bowX;
dy = targetY- bowY;
angle = Math.atan2(dy,dx);

求出目标位置和弓箭绘制的弧度;

var gravity:Number = 1.45;
var vx:Number = Math.cos(angle) * power;
var vy:Number = Math.sin(angle) * power;

addEventListener(Event.ENTER_FRAME, _fly);
function _fly(e: Event): void {
	vy = vy + gravity;
	var degree: Number = Math.atan2(vy, vx);
	rotation = degree * 180 / Math.PI;
	x = x + vx;
	y = y + vy;
}
然后根据弧度和power(力量或飞行速度),算出x和y方向的增量;

飞行过程中,y方向的增量(vy)加上重力系数,再根据增量求出每帧的增量弧度,再将弧度转换度数,则得到箭头飞行时角度的变化,最后x、y方向分别加上增量;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值