- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有一个类似于 SpriteKit
中的 SKAction
的 CCAction
会在 Action 持续期间被多次调用(因此您可以创建基于流逝时间的自定义效果?)
我找到了 CCActionCallBlock
,但这只被调用了一次并且没有“时间过去”的参数。
例如 Cocos2D
中的这样的东西 (SpriteKit)。
SKAction *customACtion = [SKAction customActionWithDuration:ANIMATION_TIME actionBlock:^(SKNode *node, CGFloat elapsedTime) {
// Do something here
}];
我想要达到的效果是this .在 SpriteKit 中我可以这样做:
#define ANIMATION_TIME 2
SKAction *customACtion = [SKAction customActionWithDuration:ANIMATION_TIME actionBlock:^(SKNode *node, CGFloat elapsedTime) {
// Determine the percentage of the elapsed time
float percentage = (elapsedTime / ANIMATION_TIME) * 100;
// Put the result in a label
self.label.text = [NSString stringWithFormat: @"%d", percentage];
}];
最佳答案
在cocos2d中你可以创建多个CCActions并将它们放在一个容器(CCSequence)中以便一个接一个地运行。
这是一个复合 Action 的例子..
id action1 = [CCMoveTo actionWithDuration:2 position:ccp(100,100)];
id action2 = [CCMoveBy actionWithDuration:2 position: ccp(80,80)];
id action3 = [CCMoveBy actionWithDuration:2 position: ccp(0,80)];
[sprite runAction: [CCSequence actions:action1, action2, action3, nil]];
action1 将首先执行。当 action1 完成时,将执行 action2。当 action2 完成时,才会执行 action3。
有关更多详细信息,请参阅此 OFFICAL LINK
这可以被这个..
[self schedule: @selector(updateLabel:) interval:0.1] // Set interval,repeat whatever you want
-(void) updateLabel: (ccTime) dt
{
if(dt>2000){
[self unschedule:@selector(updateLabel)];
}
float percentage =percentage+ (dt/ (ANIMATION_TIME * 10));
// Put the result in a label
self.label.text = [NSString stringWithFormat: @"%d", percentage];
}
关于ios - CCAction block "tweening",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20746302/
self.boxesOnLift = [NSMutableArray array]; [self init]; [[CCSpriteFrameCache sharedS
是否有一个类似于 SpriteKit 中的 SKAction 的 CCAction 会在 Action 持续期间被多次调用(因此您可以创建基于流逝时间的自定义效果?) 我找到了 CCActionCal
我正在尝试为音乐过渡创建淡入/淡出效果。我创建了一个继承自 CCActionInterval 的 CCFadeMusic Action 所以如果我从一个层做这样的事情它工作正常(它只是更新更新( fl
是否可以同时在一个 Sprite 上运行多个 ccactions?例如,如果我有一个 CCFadeIn、一个 CCScaleTo 和一个 CCRotateBy,它们都具有相同的持续时间,我可以同时在一
我正在用 Cocos2d 制作游戏。目前,我的敌人每 3 秒以 75 像素间隔移动。我希望他们能够拍摄。我的意思是,我希望敌人移动,然后停止,然后射击,然后重复。但显然,您知道不存在 CCShootA
我有一款 Cocos2D 游戏,采用 Box2D 物理。在我的 GameScene.mm 中,我正在研究一种缩放到给定比例的方法: -(void) zoomToScale:(float)zoom wi
我有两个在 onEnterTransitionDidFinish 方法中运行的 CCMoveTo,用于移动 Sprite 。两者都被正确定义,并且都有效,但只有被称为第二个的那个才真正显示出视觉变化。
在 coco2d 中创建自定义操作的最佳方式是什么? 我想创建一个自定义 Action ,以在我的游戏对象上创建卡通南瓜动画。我是否只是子类化 CCFiniteTimeAction 类并覆盖更新方法?
我在 CCSprite 上运行了两个 CCAnimations。如何检查特定操作是否在 Sprite 上运行?以及如何根据需要暂停/恢复它们? 我已经检查了 actionManager 中的 numb
我是 Cocos2d 的新手。我知道the similar question has been asked. 但我不知道如何将 Sprite 移动到一个圆圈内,然后它会触发完成 block 或调用回调
我是一名优秀的程序员,十分优秀!