【Cocos2d-x】手柄与计分板功能的实现

这篇博客介绍了如何在基于Cocos2d-x引擎的贪食豆游戏中实现手柄控制角色移动和计分板功能。通过计算角度和力度更新角色位置,防止越界,并通过LabelBMFont创建计分板,实现实时得分显示。
摘要由CSDN通过智能技术生成

这里我们基于一个cocos2dx-x引擎的贪食豆小游戏,简单实现手柄与计分板等交互功能。


运行游戏发现,吃到了豆豆也不会有分数奖励,甚至手柄连豆豆的上下移动都没有实现。

可以发现,源码是指定左右和暂停来控制角色的移动,我们改用计算角度和力度来控制角色移动。


// 获取摇杆角度
float Joystick::getAngle()
{
	TouchPoint_Angle = atan2f((m_currentPoint - m_centerPoint).y, (m_currentPoint - m_centerPoint).x);
	return TouchPoint_Angle;
}

// 获取摇杆力度
float Joystick::getVelocity()
{
	TouchPoint_Distanse = m_centerPoint.getDistance(m_currentPoint);
	return 1.0 * TouchPoint_Distanse / m_radius;
}

然后通过计算所得的角度和力度分别更新角色横纵坐标,而且需要防止超出游戏界面

// 通过角度和力度控制角色移动
if (m_joystick->getVelocity() > 0)
{
	if (((bean->getPositionX() - bean->getContentSize().width / 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值