我应该使用Core Animation或SpriteKit / Cocos2D来实现简单,闪烁的2D动画吗?

时间:2014-09-05 07:56:35

标签: ios animation cocos2d-iphone core-animation sprite-kit

我需要指导如何为小的2d事物制作动画,例如,一个简单地保持眨眼的角色。 SpriteKitcocos2d"过多"实现这种事情?我不打算制作游戏,我只是想将标准iOS控件和执行简单动画的艺术品混合在一起,但是我可能需要在不久的将来制作更精细的动画(角色运行) , 例如)。我应该使用Core Animation框架吗?或者也许是另一个更好的选择?

我支持iOS 7.0 +

提前致谢

2 个答案:

答案 0 :(得分:2)

核心动画在这里是最好的,因为您特别希望使用户界面元素闪烁(而不是用棋盘和精灵构建游戏)。使用Core Animation设置重复动画以更改其Alpha值。

使用计时(如Ease-In-Ease-Out)甚至可以添加一个" Mac睡眠灯"呼吸效应。使用这种方法与iZabala(公认的功能性)方法相比,意味着你让系统决定这个动画的每一帧是否都可以在给定的时刻运行。如果它太忙而无法动画保持UI响应,Core Animation将根据需要删除帧。

你也可以对动画进行分组(所以如果你有一组带有闪烁指示的"按钮,你可以在相同的动画组中以相同的时间运行它们,这样它们就不会得到它们彼此不同步,看起来像一棵闪闪发光的圣诞树。)

答案 1 :(得分:-1)

您可以使用NSTimer类每X次调用一个函数。例如,如果你想要某些东西眨眼,你可以这样做:

NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target: self
                                   selector: @selector(blink) userInfo: nil repeats: YES];

-(void) blink { //supose that myObject is an UIView in this example
   if(myObject.hidden){ 
     myObject.hidden=NO;

   }
   else { 
     myObject.hidden=YES;
   }
}

你可以使用移动的位置,alpha或透明度来淡出,淡入...玩对象具有的属性。