塔防游戏的技术总结--移动组件

本文总结了塔防游戏中45°行走的移动组件实现原理。通过两个不同频率的更新驱动,慢频率负责数据更新,快频率负责物体位置表现。详细阐述了从A点到C点45°行走的计算过程,包括利用Math.atan2获取弧度、计算B点坐标,并结合寻路算法的路径列表进行位移控制。快频率则负责将计算出的位置应用到实际物体位移,从而实现流畅的移动效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本原理:

两个不同频率的update驱动,比如一个0.1s,一个0.033s,慢的跑1次,快的可以跑3次。

项目实际中一个是ECS的update驱动,一个是引擎提供的Component的update。

慢频率的ECS的update驱动数据,快的Component的update驱动表现,也就是更新物件的position。

关键逻辑:

项目中都是直线行走,现在分析特殊的45°行走,直线的行走类似。

现在红点物件从A点要走到C点,45°行走。

慢频率的逐帧的逻辑:

// atan2(y,x)是表示XY平面上所对应的(x,y)坐标的角度,它的值域范围是(-π,π)
// 两个点之间与水平夹角之间的度数
let radians = Math.atan2(y,x);
let vx = Math.cos(radians);
let vy = Math.sin(radians);

红点物件没有超过C点。

红点物件从A点走到了B点,如何得到B点的position。

红点物件走的 c1 = speed * dt (红点物件的speed,dt每帧的间隔时间)

A、C点的坐标是知道的,通关Math.atan2可以得到图中θ对应的弧度。

得到图中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值