实训十一(人物的设置)

平台搭建好了,接下来就是设置人物的动作,主要是两个方面:行走,停止。

因为项目在创建的时候就已经默认设置屏幕的刷新频率为60次/秒,代码如下:

director->setDisplayStats(false);

director->setAnimationInterval(1.0 / 60);

游戏运行过程中,屏幕无时无刻不在刷新,所以我们只需要将resource文件中的关于人物的图片,完成关于人物停留的帧动画就ok了,

for (int i = 1; i <= 5; i++)
 {

  char pngName[260] = { 0 };
  sprintf(pngName, "stay%d.png", i);
  frameVector.pushBack(SpriteFrame::create(pngName, Rect(0, 0, 54, 58)));

 }
 StayAnimation = Animation::createWithSpriteFrames(frameVector, 0.1);
 StayAnimation->setRestoreOriginalFrame(false);
 StayAnimation->setLoops(10000);
 StayAnimate = Animate::create(StayAnimation);

人物行走时动作的创建,与上面说的原理是一样的,就不再赘述了。

人物移动,行走是玩家控制的,其中动作间的切换,就需要设定不同的函数来控制,重点就在于获取人物(精灵)所在位置,以及停留时间的判断,这点跟碰撞检测是大同小异的。

原文地址:https://www.cnblogs.com/revenge/p/5918815.html