cocos2d-x 计算两点之间的夹角

本文介绍了一种在游戏开发中使子弹自动朝向目标的方法。通过计算起点和终点之间的向量,并据此调整子弹的旋转角度,使得子弹始终指向终点位置。此方法适用于不同象限的目标。

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

我们想要实现一个发射子弹的方法 子弹的朝向的角度会根据发射的终点和起点变化。


auto sp = Sprite::create("bullet.png");


Vec2 endPos = Vec2(200, 500);


Vec2 startPos = Vec2(100, 50);


auto move = MoveTo::create(5, endVec2);


sp->runAction(move);


//计算角度

Vec2 dis = endPos - startPos;


sp->setRotation(Vec2(dis.y, dis.x).getAngle() / 3.14f * 180);//一定注意x和y参数是倒过来的


这样发射出去的子弹就会朝向终点了,无论dis在哪个象限。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值