草庐IT

ANIMATION

全部标签

iOS Sprite 动画帧率

我正在使用cocos2d制作“又一款iOS”游戏,现在想知道Sprite动画可接受的每秒帧数是多少?这更像是一个理论问题,即我必须绘制多少动画帧才能使游戏看起来不错。例如:动画专家喜欢为一秒钟的动画绘制32帧,而我认为4帧就足够了。我不想为了一些没人注意到的东西而牺牲RAM。那么一秒钟的Sprite动画绘制多少帧最好呢?4,6,8,12,16,20,24,32?更新:如果我为新iPad创建高分辨率图形,那么24帧的单个Sprite动画不适合2048x2048像素的纹理图集:(而且我不想有很多这些是出于对RAM的担忧。还是我一开始就认为这里有什么问题? 最佳答

ios - 动画 block - 完成立即触发

为什么以下代码在触发后立即记录“完成”?[UIViewanimateWithDuration:0.3animations:^{NSLog(@"Start");}completion:^(BOOLfinished){NSLog(@"done");}]; 最佳答案 因为你实际上并没有对任何东西进行动画处理(NSLog不能进行动画处理)。您需要为一个对象设置动画,否则将立即调用完成block。如果没有任何动画,则0.3秒的持续时间将被忽略。 关于ios-动画block-完成立即触发,我们在St

objective-c - 核心动画动画层水平翻转

我有两个View,我想使用核心动画在两个View之间切换,为每个View的图层设置动画。我想要的动画就像UIViewAnimationOptionTransitionFlipFromLeft提供的那样,但我无法做到。我可以让图层旋转180度,然后当动画停止时我过渡到下一个View。如何做到这一点?我使用的代码如下:CABasicAnimation*animation=[CABasicAnimationanimationWithKeyPath:@"transform"];self.view.layer.zPosition=100;CATransform3Dtransform=CATran

iphone - 如何让处理程序重复 UIView animateWithDuration?

我正在使用UIView类方法animateWithDuration来重复我的View动画。我怎样才能拥有一个可用于稍后停止此动画的处理程序?例如,重复的动画在一种方法中开始,我需要稍后从另一种方法中停止它。 最佳答案 假设您已经创建了一个已取消属性,您可以执行类似的操作。如评论中所述,完成block的startAnimation调用需要包装在异步调用中以避免堆栈溢出。请务必将“id”替换为您实际拥有的任何类类型。-(void)startAnimation{[UIViewanimateWithDuration:1.0delay:0.0

iphone - 在制作动画时应用 CAAnimation 的更改

我想使用给定的CAAnimation为UIView制作动画,并在动画播放时与View交互(该View具有手势识别器)。如果我理解正确的话,CAAnimation只会为View层设置动画,但View本身将保持在原来的位置。如何使UIView随CAAnimation一起移动? 最佳答案 如果您只关心视觉“粘性”,您可以这样做:[myAnimationsetRemovedOnCompletion:NO];但这只是视觉上的。它不会更改实际图层的属性。如果您希望图层的属性也更新为新值,您可以执行以下操作://Youhavecodeabovet

ios - UIImageView 是怎么做到动画这么流畅的? (或 : how to get OpenGL to efficiently animate frame by frame textures)

澄清一下,我知道纹理图集在使用多个不同图像时会提高性能。但我感兴趣的是,当你不这样做时,事情是如何完成的。我尝试在自定义OpenGL中手动制作一些逐帧动画,其中每一帧我绑定(bind)一个新纹理并将其绘制在同一个点Sprite上。它可以工作,但与UIImageView抽象相同的能力相比它非常慢。我预先加载了所有纹理,但重新绑定(bind)是在每一帧完成的。相比之下,UIImageView接受单个图像,而不是纹理图集,所以我想它的做法类似。这些是单独加载的76张图像,而不是作为纹理图集,每张大约200像素见方。在OpenGL中,我怀疑瓶颈是需要在每一帧重新绑定(bind)纹理。但是UII

ios - Mac OS X 10.7 Lion 上核心动画的 AVFoundation 问题

在MacOSX10.7中,Apple引入了AVFoundation,我正在尝试生成一个包含动画形状的简单快速影片。问题是核心动画没有渲染,我最终只有一个空白的“黑色”视频。下面是我使用的代码。我尝试了很多变体,但遗憾的是,它们都不起作用。导出状态始终为“已完成”。奇怪的是,UIView包含另一个层设置,但添加到AVSynchronizedLayer的方式相同,它显示得很好,我可以在动画中来回滑动。//NOTE:compositionisanAVMutableCompositioncontainingasinglevideo//track(30sofblackin1280x720).//

ios - 我应该如何在 iOS 中将音效与 UI 动画同步?

我想在为UI元素设置动画时播放一些声音效果(例如,在UI对象移动时播放移动声音),这需要精确的时间和同步。根据MultimediaProgrammingGuide中的描述,我真的无法弄清楚我应该使用哪个框架。.所以我需要你的帮助来选择一个。我想做的是:播放简短(最多10秒)的音效(例如按钮敲击声)。能够将其中一些与UI动画同步(例如,View出现/消失)。我尝试使用AudioToolbox框架中的AudioServicesPlaySystemSound函数,有时效果很好,但有时声音不会立即播放。例如,当单击按钮时,它的操作会在播放声音之前执行,即使在按钮的操作方法中首先调用了Audio

ios - 使用 CAKeyframeAnimation 动画图像序列

我正在尝试为一系列图像制作动画,这可以通过简单的UIImageView动画轻松完成;但是,我希望能够检测到动画何时结束,以便允许用户执行另一项任务。所以我试图用CAKeyframeAnimation来做。当我运行以下代码时,程序崩溃了。有人可以告诉我我做错了什么吗?CALayer*myLayer=[[CALayeralloc]init];[myLayersetBounds:CGRectMake(0,0,100,100)];[myLayersetPosition:CGPointMake(160.0,100.0)];myLayer.backgroundColor=[[UIColorcolo

ios - 为 UIView 的 CoreGraphics/drawRect 内容制作动画

是否可以为UIView的CoreGraphics内容设置动画?假设我有一个名为MyView的UIView子类,它实现了drawRect:方法,如下所示:-(void)drawRect:(CGRect)rect{CGContextRefc=UIGraphicsGetCurrentContext();CGContextSetStrokeColorWithColor(c,someColor);CGContextSetLineWidth(c,someWidth);CGContextMoveToPoint(c,leftOfMyUIView,topOfMyUIView);CGContextAddL