iOS动画之3D动画

iOS动画之3D动画,第1张

3D是在原来的基础上修改z轴,实现投影、拉伸等3D喜爱效果,iOS提供了一个3D变幻矩阵(CATtransform3D),通过这个矩阵可实现各种透视、拉伸、移动和缩放效果。

一、相关概念

1、锚点,其指定了bounds相对于position的值,同时也是变化时的中心点,默认为(0.5,0.5),

2、矩阵变化的原理,CATransform3D实质上是定义了一个三维变换,源码如下

public init(m11: CGFloat(x缩放), m12: CGFloat(y切变), m13: CGFloat, m14: CGFloat, m21: CGFloat(x切变), m22: CGFloat(y缩放), m23: CGFloat, m24: CGFloat, m31: CGFloat, m32: CGFloat, m33: CGFloat, m34: CGFloat(透视), m41: CGFloat(x平移), m42: CGFloat(y平移), m43: CGFloat(z平移), m44: CGFloat)

二、3D动画效果

3D旋转效果:

三、Cover Flow 3D效果

漂亮jQuery 3D动画图片轮播切换特效插件jquery.slicebox.js,基于jQuery,插件采用CSS 3D 动画效果,支持事件Callback调用,支持参数自定义配置,如:speed:600 切换速度、autoplay:true 是否自动播放,在浏览器兼容方面,需要浏览器支持CSS3变换变形属性,不支持的将看不到3D特效,推荐学习下代码。 使用方法: 1.加载插件和jQuery1 2 3 4<link type="text/css" rel="stylesheet" href="css/slicebox.css" /> <script type="text/javascript" src="js/modernizr.js"></script> <script type="text/javascript" src="js/jquery8.js"></script> <script type="text/javascript" src="js/jquery.slicebox.js"></script> 2.HTML内容,HTML头部需要采用HTML5头 <!DOCTYPE html>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22<ul id="sb-slider" class="sb-slider"> <li> <img src="images/1.jpg" alt="image1"/> </li> <li> <img src="images/2.jpg" alt="image2"/> </li> <li> <img src="images/3.jpg" alt="image2"/> </li> <li> <img src="images/4.jpg" alt="image2"/> </li> <li> <img src="images/5.jpg" alt="image2"/> </li> </ul> <div> <span onclick="$slicebox.previous()">上一页</span> <span onclick="$slicebox.next()">下一页</span> <span onclick="$slicebox.jump(4)">跳页</span> </div> 3.函数调用1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18<script type="text/javascript"> var $slicebox$(function() { $slicebox = $('#sb-slider').slicebox({ interval:6000, orientation : "r", //表示幻灯片的切换方向,可取 (v)垂直方向, (h)水平方向 or (r)随机方向 perspective : 800, //透视点距离,可以通过改变其值查看效果 cuboidsCount : 5, //幻灯片横向或纵向被切割的块数,切割的每一块将会以3D的形式切换 cuboidsRandom : true, //是否随机 cuboidsCount 参数的值 maxCuboidsCount : 5, //设置一个值用来规定最大的 cuboidsCount 值 colorHiddenSides : "#333", //隐藏的幻灯片的颜色 sequentialFactor : 150, //幻灯片切换时间(毫秒数) speed : 600, //每一块3D立方体的速度 autoplay : true, //是否自动开始切换 onBeforeChange : function(position) { return false}, onAfterChange : function(position) { return false} }) }) </script> 参数说明: orientation : "r", //表示幻灯片的切换方向,可取 (v)垂直方向, (h)水平方向 or (r)随机方向 perspective : 800, //透视点距离,可以通过改变其值查看效果 cuboidsCount : 5, //幻灯片横向或纵向被切割的块数,切割的每一块将会以3D的形式切换 cuboidsRandom : true, //是否随机 cuboidsCount 参数的值 maxCuboidsCount : 5, //设置一个值用来规定最大的 cuboidsCount 值 colorHiddenSides : "#333", //隐藏的幻灯片的颜色 sequentialFactor : 150, //幻灯片切换时间(毫秒数) speed : 600, //每一块3D立方体的速度 autoplay : true, //是否自动开始切换


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11872851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存