Core Animations 能否支持以每秒 20 帧的速度从 32 x 32 像素放大到 120 x 170 像素?
Posted
技术标签:
【中文标题】Core Animations 能否支持以每秒 20 帧的速度从 32 x 32 像素放大到 120 x 170 像素?【英文标题】:Can Core Animations supports a 20 frames per second enlargement from 32 x 32 px to 120 x 170 px? 【发布时间】:2009-12-15 18:25:44 【问题描述】:我的 background.jpg 有 52 个 32x32 mini poker cards.png,当用户触摸 1 张卡片时,它会放大到 120x 170 像素。
在任何时间点,只有一张牌被选中(即被激活),最多有 19 张整张牌重叠(120x170 / 32x32)。
我应该使用 Core Animation 还是必须学习 OpenGL 或使用 cocos2d 之类的库?
【问题讨论】:
【参考方案1】:我确信 Core Animation 可以处理这个问题。如果您的卡片是UIImageViews
,您可能只需要使用以下内容:
UIImageView * card; // Assume this is a valid UIImageView
[UIView beginAnimations@"CardZoom" context:nil];
[UIView setAnimationDuration 0.8]; // However long you want
card.frame = CGRectMake(newX, newY, 120, 170); // set to final position and size
[UIView commitAnimations];
【讨论】:
非常感谢!!!我的卡片是 UIImageViews,但每张卡片有 20 张 png 图像可在 1 秒内制作动画……它会变慢吗?我最近注册了开发计划,因此无法在手机上测试动画。【参考方案2】:如果性能是一个问题,OpenGL 是要走的路。但是您的 52 个精灵的应用程序不应该对大多数设备造成负担。
【讨论】:
以上是关于Core Animations 能否支持以每秒 20 帧的速度从 32 x 32 像素放大到 120 x 170 像素?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Core Graphics 以 30-60 fps 手动移动/旋转物体
从 .NET Core 应用程序同时提供 REST 和 GraphQL API