cocos2dx update跳跃函数

cocos2dx update跳跃函数,第1张

概述在update函数中写跳跃函数使主角没帧跳跃一小段位移 可以让跳跃动作看起来更加的自然 加入重力加速度等变量 运动更合理 首先在主角的初始化代码中进行初始起跳速度和重力加速的初始化(PS.重力加速度和初始速度不能用现实世界中的标准进行初始化) //这段代码中设置了主角的起跳速度m_speedY 下落速度m_speedfall 重力加速度 m_speedGrivaty 并且调用了update函数th

在update函数中写跳跃函数使主角没帧跳跃一小段位移 可以让跳跃动作看起来更加的自然 加入重力加速度等变量 运动更合理

首先在主角的初始化代码中进行初始起跳速度和重力加速的初始化(PS.重力加速度和初始速度不能用现实世界中的标准进行初始化)

//这段代码中设置了主角的起跳速度m_speedY下落速度m_speedfall 重力加速度m_speedGrivaty 并且调用了update函数this->scheduleUpdate();


bool Hero::init()

{ m_speedfall=0;

m_speedGrivaty=-500.0f;

m_speedY=250.0f;

m_isJumPing=false;

this->scheduleUpdate();

return true;

}

//这段代码位于update函数中 功能是主角的相关位移 运用了运动公式 对位移和速度变化的计算 然后不断重置主角的位置

if(myHero->m_isJumPing==true)

{

auto changeY=myHero->m_speedY*data+(1/2)*myHero->m_speedGrivaty*data*data;

myHero->m_speedY=myHero->m_speedY+myHero->m_speedGrivaty*data;

myHero->m_sprite->setpositionY(myHero->m_sprite->getpositionY()+changeY);

}

//这段代码也位于update函数中 主要用于跳跃结束后 重置主角数据并将跳跃状态设置为false

if(isCollIDeWithHeroX()==true&&myHero->m_isJumPing==true&&myHero->m_speedY<0.0f)

{

myHero->m_isJumPing=false;

myHero->m_sprite->stopAllActions();

myHero->m_sprite->runAction(Hero::createAnimate());

myHero->m_speedY=250.0f;

return;

}

总结

以上是内存溢出为你收集整理的cocos2dx update跳跃函数全部内容,希望文章能够帮你解决cocos2dx update跳跃函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1052105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存