rprt.net
当前位置:首页 >> 如何获取精灵的动作 CoCos2D >>

如何获取精灵的动作 CoCos2D

int currentAnimIndex = 0; //精灵当前播放的是第几帧for(int i = 0; i displayedFrame() == anim->getFrames()->getObjectAtIndex(i)) { //这个i返回的只是一个索引,如果帧数是从1开始计算就要+1 currentAnimIndex = i+1; }}prite->displayedFrame()

可以用cctargetedaction,比如: cctargetedaction* t = cctargetedaction::create(sprite2, moveto); sprite->runaction(ccsequence::create(moveto, t, moveto, null)); sprite先moveto,然后sprite2执行moveto,最后sprite执行moveto.

触摸坐标是否在精灵上第一个思路是先获取你的sprite的boundingBox,和你触摸点坐标,判断触摸点坐标是否包含于sprite的区域内(这个rect是包含sprite的位置横纵坐标和宽高)CGRectContainsPoint(你的精灵的RECT,你触摸的点的坐标)获取精灵的方法可以考虑将你的所有精灵加入到一个单例层里作为精灵管理层,加进去的时候定义好TAG值,方便随时随地可根据TAG值取到你想要的精灵.

int currentanimindex = 0; //精灵当前播放的是第几帧for(int i = 0; i displayedframe() == anim->getframes()->getobjectatindex(i)) { //这个i返回的只是一个索引,如果帧数是从1开始计算就要+1 currentanimindex = i+1; }}prite->displayedframe()获

这个问题很普遍,就是你点击一次,让它跳一下.等落下来了,再点一次,再跳一次.动画过程中点击不会跳跃.一般在游戏开发中,我们都习惯用一个bool en变量来控制,你先点击事件中,也就是这个精灵runAction();的时候en设为false,并且跳跃动画推荐有jumpBy,在其中添加一个回调,专门用来当动画结束是将en设为true.建议多看看damo.谢谢~祝你成长.

Cocos2d-x3.0//a static methodSprite* HelloWorld::maskedSpriteWithSprite(Sprite* textureSprite, Sprite* maskSprite){ // 1 RenderTexture * rt = RenderTexture::create( maskSprite->getContentSize().width, maskSprite->getContentSize().height ); // 2

你打印的是创建时候的角度,想要获得转弯之后的角度,必须是在转弯之后获取角度并打印,你可以将转动角度和获取角度放在CCSequence,获取角度放在CCCallfuncN回调函数里面;当然你也可以直接通过一个定时器来获取

可以用CCTargetedAction,比如:CCTargetedAction* t = CCTargetedAction::create(sprite2, moveto);sprite->runAction(CCSequence::create(moveto, t, moveto, NULL));sprite先moveto,然后sprite2执行moveto,最后sprite执行moveto.

单单一个精灵 有个蛋的碰撞大小 你要是想做碰撞检测 用boundingbox能获取到一个矩形 这个大小跟精灵图片大小一致

你好.根据你的描述:获取当前动画播放到第几帧了好像是不行吧,不过可以查看动画已经播放的时间,duration

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.rprt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com