`
liubo0_0
  • 浏览: 21825 次
社区版块
存档分类
最新评论

核心动画(4)

 
阅读更多

换换函数:

CATransform3D CATransform3DMakeTranslation (CGFloat tx, CGFloat ty, CGFloat tz)

tx:X轴偏移位置,往下为正数。

ty:Y轴偏移位置,往右为正数。

tz:Z轴偏移位置,往外为正数。

例:
如果有2个图层,一个是绿色的,一个是红色的。先加载绿色,后加载红色。

tx,ty的左右偏移先不说了。

如果绿色的tz为-10红色的tz为 0 效果如下。


如果绿色的tz为 0红色的tz为-10 效果如下。

对于tz来说,值越大,那么图层就越往外(接近屏幕),值越小,图层越往里(屏幕里)。


CATransform3D CATransform3DTranslate (CATransform3D t, CGFloat tx, CGFloat ty, CGFloat tz);

t:就是上一个函数。其他的都一样。

就可以理解为:函数的叠加,效果的叠加。



CATransform3D CATransform3DMakeScale (CGFloat sx, CGFloat sy, CGFloat sz);

sx:X轴缩放,代表一个缩放比例,一般都是 0 --- 1 之间的数字。

sy:Y轴缩放。

sz:整体比例变换时,也就是m11(sx)== m22(sy)时,若m33(sz)>1,图形整体缩小,若0<m33(sz)<1,图形整体放大,若m33(sz)<0,发生关于原点的对称等比变换。


当sx = 1,sy = 1时。如图:

当sx = 0.5,sy = 0.5时。如图:



CATransform3D CATransform3DScale (CATransform3D t, CGFloat sx, CGFloat sy, CGFloat sz)

t:就是上一个函数。其他的都一样。

就可以理解为:函数的叠加,效果的叠加。



CATransform3D CATransform3DMakeRotation (CGFloat angle, CGFloat x, CGFloat y, CGFloat z);


旋转效果。

angle:旋转的弧度,所以要把角度转换成弧度:角度 * M_PI / 180。

x:向X轴方向旋转。值范围-1 --- 1之间

y:向Y轴方向旋转。值范围-1 --- 1之间

z:向Z轴方向旋转。值范围-1 --- 1之间


例:向X轴旋转60度。 向Y轴旋转60度。 向Z轴旋转60度。


向 X轴,Y轴都旋转60度,就是沿着对角线旋转。


可以通过X,Y,Z轴同时变化,来旋转图像。


CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z);

t:就是上一个函数。其他的都一样。

就可以理解为:函数的叠加,效果的叠加。



CATransform3D CATransform3DInvert (CATransform3D t);

翻转效果。

未使用 使用


CGAffineTransform CATransform3DGetAffineTransform (CATransform3D t);

bool CATransform3DIsAffine (CATransform3D t);

仿射效果。


就是把一个 CATransform3D 对象转换成一个 CGAffineTransform 对象。

也就是把 CATransform3D 矩阵 转换成 CGAffineTransform 矩阵


变换函数同时提供了可以比较一个变换矩阵是否是单位矩阵,或者两个矩阵是否相等。

bool CATransform3DIsIdentity (CATransform3D t);

bool CATransform3DEqualToTransform (CATransform3D a, CATransform3D b);



也可以通过修改数据结构和键值来设置变换效果。

struct CATransform3D
               {
                 CGFloat m11, m12, m13, m14;
                           CGFloat m21, m22, m23, m24;
                           CGFloat m31, m32, m33, m34;
                                  CGFloat m41, m42, m43, m44;
}
可以直接修改 其中的一个值,来达到相同的效果。
或者修改键值
[myLayer setValue:[NSNumber numberWithInt:0] forKeyPath:@"transform.rotation.x"];





分享到:
评论

相关推荐

    ios核心动画高级技巧

    本主题“iOS核心动画高级技巧”将深入探讨这个框架的一些高级用法,帮助开发者提升应用的用户体验。 1. **层的概念与使用**:Core Animation基于图层(Layer)系统构建,每个图层都是一个独立的绘图单元,可以包含...

    核心动画编程指南

    核心动画是iOS开发中一个非常重要的概念,它涉及到图形界面的动态表现,能够使应用程序更加生动和吸引用户。核心动画是建立在Objective-C语言的基础上的,它是Cocoa Touch框架的一部分,专门设计用于提供高效的动画...

    核心动画高级技巧

    本文档介绍了在使用核心动画时所涉及的基本概念。核心动画的是 Objective - C 的框架,它通过简单的动画编程接口来提供一套高性能的动画引擎。 你应该阅读此文档来理解Cocoa应用程序核心动画工作的机制。 阅读此文档...

    iOS 核心动画编程指南

    iOS核心动画编程指南是一份针对iOS开发者提供的官方文档,其主要内容包括了使用Objective-C语言框架进行动画编程的基础知识和高级技术。通过这份指南,开发者可以学会如何运用Apple提供的核心动画API来创建引人入胜...

    核心动画资料教程

    核心动画是iOS开发中的一个重要部分,它为开发者提供了强大的视觉效果和流畅的用户体验。这个教程旨在帮助你深入理解和熟练运用核心动画(Core Animation)技术,从而优化你的iOS应用,避免性能问题,如丢帧和卡顿。...

    ios核心动画pdf

    ### iOS核心动画原理详解 #### 一、核心动画概述与基本概念 **核心动画**是iOS开发中的一个重要组成部分,它提供了高性能的动画引擎,并通过简单的编程接口让开发者能够轻松实现复杂的动画效果。核心动画框架主要...

    iOS核心动画.pdf

    《iOS核心动画》是一本深入探讨苹果iOS平台上Core Animation框架的专业书籍。这本书旨在帮助开发者们理解和掌握如何在iOS应用中创建出流畅、丰富的动画效果。Core Animation是iOS系统中的一个关键组件,它允许开发者...

    iOS核心动画高级技巧以及源码

    本教程深入探讨iOS核心动画的高级技巧,通过实例代码帮助开发者从初级到高级全面掌握这一技术。 首先,Core Animation的核心概念包括CALayer、CAAnimation和CATransaction。CALayer是UI元素的基础,负责绘制和管理...

    ios 核心动画

    4. **缓冲与定时器动画**:核心动画提供了基于定时器的动画功能,这使得开发者可以更精确地控制动画的时机和持续时间。 5. **绘图技术**:为了实现高效的绘图,核心动画支持各种绘图技术,包括矢量图形、脏矩形优化...

    iOS核心动画高级技巧(iOS Core Animation: Advanced Techniques)

    iOS核心动画高级技巧是一本深入探讨iOS平台下核心动画技术的专著。核心动画是iOS中用于制作流畅动画效果的一套API,能够在不牺牲性能的前提下,提供复杂的动画和视觉效果。本书着重讲解了如何利用核心动画框架,进行...

    iOS的核心动画的四个效果

    在iOS开发中,核心动画(Core Animation)是一个强大的框架,用于创建流畅、高效的2D图形和动画效果。本文将深入探讨核心动画中的四个关键效果,它们是:平移(Translation)、旋转(Rotation)、缩放(Scaling)和...

    核心动画之转场动画

    在iOS开发中,动画是提升用户体验的关键因素之一,而核心动画(Core Animation)是Apple提供的一套强大的动画框架,用于创建丰富的视觉效果。本篇将详细探讨“核心动画之转场动画”,并基于提供的"12-核心动画"项目...

    IOS核心动画-左右摆动Demo

    "IOS核心动画-左右摆动Demo"是一个展示如何使用Core Animation框架创建一个图片左右摆动效果的示例。Core Animation是Apple为iOS和macOS平台提供的一个低级动画系统,它允许开发者以高性能的方式创建丰富的视觉效果...

    iOS 核心动画编程

    iOS 核心动画编程 本文档介绍了在使用核心动画时所涉及的基本概念。核心动画的是 Objective - C 的框架,它通过简单的动画编程接口来 供一套高性能的动画引擎。 你应该阅读此文档来理解Cocoa应用程序核心动画工作的...

    object-c 核心动画编程指南

    《Object-C核心动画编程指南》是Apple公司官方提供的一个专业文档,旨在向开发者介绍如何利用Objective-C语言在MacOSX和iOS平台上进行高效的动画编程。文档内容详细,涵盖了核心动画的关键概念、类结构、图层属性、...

    iOS核心动画高级技巧.mobi

    iOS核心动画高级技巧.mobi

Global site tag (gtag.js) - Google Analytics