首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特定时间的setScale在cocos2d中的Xcode

特定时间的setScale在cocos2d中的Xcode
EN

Stack Overflow用户
提问于 2014-10-17 21:09:17
回答 2查看 79关注 0票数 0

当用户获得额外的生命并在1或2秒后将其设置为正常值时,我正在尝试缩放一个sprite。

我有这个:

代码语言:javascript
复制
if (_score == 2)
{
    _life = _life + 1;
    string strLife = StringHelper::ToString(_life);
    _labelUpperLifeCounter->SetString(strLife);


    _labelUpperScoreLife->setScale(2.5f);

}

它起作用了,但我不知道怎么把它放回原处:

代码语言:javascript
复制
_labelUpperScoreLife->setScale(1.7f);

或者更好地让它在恢复正常之前像脉搏一样动2-3次.

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-17 21:19:39

我假设在c++中也可以得到同样的信息。这就是我如何在obj-c中这样做的。

代码语言:javascript
复制
id scaleUp = [CCActionScaleTo actionWithDuration:.1f scale:2.5f];
id pause = [CCActionDelay actionWithDuration : 1.f];
id scaleBack = [CCActionScaleTo actionWithDuration:.1f scale:1.7f];
id seq = [CCActionSequence actions: scaleUp,pause,scaleBack,nil];
[_labelUpperScoreLive runAction:seq];

一般的想法是:)翻译成c++是你的专业知识。这将刻度分数,停滞一点,然后返回到初始状态。

票数 1
EN

Stack Overflow用户

发布于 2014-10-18 16:44:56

最后我找到了另一种方法因为我失去了太多的时间..。

我创造了一个雪碧的副本,并把它放在另一个上面。我已经把它缩小了.

代码语言:javascript
复制
_labelUpperScoreLife2->setVisible(true);
    _labelUpperScoreLife2->setScale(3.0f);
    _labelUpperScoreLife2->runAction(CCFadeOut::create(1));

看上去很棒!

谢谢你的回答!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26433474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档