`
zhanghan
  • 浏览: 192637 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Flex学习笔记_06 使用行为对象和动画效果_ 放缩\调整大小效果

    博客分类:
  • Flex
阅读更多

6.3.2 放缩效果和调整大小效果
Zoom 放缩效果 对对象进行放大或者缩小操作,是通过改变对象的水平比例scaleX 和垂直比例scaleY 来实现的。

 

Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">  
  3.     <mx:Style source="style.css" />  
  4.     <mx:Script>  
  5.         <![CDATA[  
  6.             import mx.effects.Zoom;  
  7.              
  8.             internal function zoomCanvas():void{  
  9.                 var newZoom:Zoom = new Zoom();  
  10.                 newZoom.zoomHeightFrom =0.01;  
  11.                 newZoom.zoomWidthFrom = 0.01;  
  12.                 newZoom.originX = 0;  
  13.                 newZoom.originY = 0;  
  14.                 newZoom.target = Canvas_1;  
  15.                 newZoom.duration = 2000;  
  16.                 newZoom.play();  
  17.             }  
  18.         ]]>  
  19.     </mx:Script>  
  20.       
  21.     <mx:Canvas id="Canvas_1" styleName="box" x="48" y="40" width="200" height="200" >  
  22.         <mx:Text x="15" y="37" text="文本,请注意放大过程中文本的变化" width="166" height="82"/>  
  23.     </mx:Canvas>  
  24.     <mx:Button x="48" y="277" label="放大" click="zoomCanvas()"/>  
  25. </mx:Application>  
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Style source="style.css" />
    <mx:Script>
        <![CDATA[
            import mx.effects.Zoom;
           
            internal function zoomCanvas():void{
                var newZoom:Zoom = new Zoom();
                newZoom.zoomHeightFrom =0.01;
                newZoom.zoomWidthFrom = 0.01;
                newZoom.originX = 0;
                newZoom.originY = 0;
                newZoom.target = Canvas_1;
                newZoom.duration = 2000;
                newZoom.play();
            }
        ]]>
    </mx:Script>
   
    <mx:Canvas id="Canvas_1" styleName="box" x="48" y="40" width="200" height="200" >
        <mx:Text x="15" y="37" text="文本,请注意放大过程中文本的变化" width="166" height="82"/>
    </mx:Canvas>
    <mx:Button x="48" y="277" label="放大" click="zoomCanvas()"/>
</mx:Application>

 

始末位置的长宽比例 :zoomWidthFrom、zoomWidthTo、zoomHeightFrom、zoomHeightTo 。取0-1的值。默认1
动画的参照点坐标:originX 、originY。 默认以组件的中心点。
captureRollEvents:是否忽略动画过程中的鼠标移上和移出动作。

Resize 调整大小 效果和 Zoom 相比,似乎相同,其实两者区别很大。Resize 是重新确定对象的长宽属性。会影响子元素。

始末位置的长宽:widthFrom、widthTo、heightFrom、heightTo
长宽的增量: widthBy、heightBy
如果指定了widthTo 则会忽略widthBy。没有指定widthBy,则默认为当前的宽度。

hideChildreTargets:针对Panel组件,用来隐藏Panel组件的子级元素,同时临时关闭Panel组件的自动调整功能,直到动画结束后再重新恢复。这样可以提搞性能。

 

Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">  
  3.     <mx:Style source="style.css" />  
  4.     <mx:Script>  
  5.         <![CDATA[  
  6.             import mx.effects.Resize;  
  7.             import mx.events.TweenEvent;  
  8.             //鼠标动作  
  9.             internal function resizeCanvas():void{  
  10.                 //创建新的Resize对象  
  11.                 var newResize:Resize = new Resize();  
  12.                 //设定高度和宽度的起始值  
  13.                 newResize.heightFrom = 200;  
  14.                 newResize.widthFrom = 200;  
  15.                 //高度的最终值  
  16.                 newResize.heightTo = 240;  
  17.                 //宽度增加40相当于 widthTo = 240  
  18.                 newResize.widthBy = 40;  
  19.                 //指定要隐藏内部元素的Panel  
  20.                 newResize.hideChildrenTargets = [Panel_1,Panel_2];  
  21.                 newResize.target = Canvas_1;  
  22.                 newResize.duration = 2000;     
  23.                 //监听动画的结束事件             
  24.                 newResize.addEventListener(TweenEvent.TWEEN_END,EndHandler);                 
  25.                 Canvas_1.autoLayout = false;  //注释掉这一句代码然后运行程序,观察差别  
  26.                 newResize.play();  
  27.             }  
  28.             internal function EndHandler(evt:TweenEvent):void{  
  29.                 Canvas_1.autoLayout = true;  
  30.             }  
  31.         ]]>  
  32.     </mx:Script>  
  33.       
  34.     <mx:Canvas id="Canvas_1" styleName="box" x="26" y="40" width="200" height="200" >  
  35.         <mx:Text x="10" y="10" text="说明:调整大小效果" width="166" height="26"/>  
  36.         <mx:Panel id="Panel_1" styleName="imgPanel" x="10" y="33" width="80%" height="80%" layout="absolute" title="面板一">  
  37.             <mx:Image x="0" y="0" source="tree.jpg"/>  
  38.         </mx:Panel>  
  39.     </mx:Canvas>  
  40.     <mx:Button x="26" y="293" label="放大" click="resizeCanvas()"/>  
  41.     <mx:Panel id="Panel_2" styleName="imgPanel" x="279" y="40" width="134" height="129" layout="absolute" title="面板二">  
  42.         <mx:Image x="0" y="0" source="tree.jpg"/>  
  43.     </mx:Panel>  
  44. </mx:Application>  
分享到:
评论

相关推荐

    放缩_计算机图形学放缩_

    在计算机图形学中,放缩(Scaling)是图形变换的一种基本操作,用于改变图形或图像在二维或三维空间中的大小。...这个过程可能会涉及到学习和调试,但是一旦掌握了基础,你就可以自由地创造出各种复杂的图形效果。

    热区随网页大小等比放缩

    3. **响应式设计(Responsive Web Design)**:响应式设计是一种开发方法,使网站能够根据用户使用的设备(如桌面、平板电脑或手机)自动调整布局、图片大小和功能。它通过媒体查询、弹性网格布局和灵活的图片来实现...

    图片放缩功能 Demo

    首先,图片放缩涉及到的主要概念是图像处理,它包括图像的读取、解析、调整大小以及保存。在计算机视觉和图形学中,常用的图像格式有JPEG、PNG、BMP等,这些格式的图片可以通过编程语言中的库或框架进行操作。 1. *...

    Image_Transform.rar_Pan sharpening_图像 放缩

    在IT领域,图像处理是计算机视觉的一个重要...总之,"Image_Transform.rar"压缩包内容涵盖了图像处理中的关键知识点,通过学习和实践这些技术,开发者能够掌握对图像进行高级操作的能力,为各种应用场景提供有力支持。

    js银河特效,点击变换颜色,滑轮滚动放缩大小,鼠标长按拖动翻转,优秀源代码

    js银河特效,点击变换颜色,滑轮滚动放缩大小,鼠标长按拖动翻转,优秀源代码 js银河特效,点击变换颜色,滑轮滚动放缩大小,鼠标长按拖动翻转,优秀源代码 js银河特效,点击变换颜色,滑轮滚动放缩大小,鼠标长按...

    ZOOMJS仿Medium的图片放缩效果超漂亮

    通过监听用户的鼠标事件,如点击和滚动,ZOOM.JS可以实时调整图片的大小和位置,实现平滑的缩放和平移动画。此外,它还可能利用CSS3的transform属性来优化性能,特别是在移动设备上。 在使用ZOOM.JS时,开发者首先...

    仿 Medium 的图片放缩效果,超漂亮.zip

    为了实现平滑的过渡效果,`zoom.js`可能采用了CSS的`transition`属性,定义了在属性改变时的动画效果,如变化速度和时间。此外,它可能还会考虑浏览器的兼容性问题,通过条件判断或者polyfill技术确保在旧版本浏览器...

    上海繁易HMI软件 放缩功能演示.zip

    通过"放缩.rar"这个文件,我们可以预期里面可能包含的是一个实际的HMI项目文件,演示了如何在软件中设置和使用放缩功能,或者是一个动画视频,直观展示了放缩操作的过程和效果。对于学习和理解上海繁易HMI软件的放缩...

    Android动画之Tween动画实现

    一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变);第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。 本例子主要实现了Tweene动画,实现了...

    高考数学_压轴题_放缩法技巧全总结(最强大).doc

    在数列的单调性证明中,裂项放缩与数学归纳法的结合使用(如例3和例4)也是一种有效的策略。裂项技巧的灵活运用,可以将复杂的数列性质转化为直观的不等式,从而简化证明过程。 ### 函数放缩法 函数放缩法通常涉及...

    js彩色圈圈,动态炫彩放缩旋转绽放,惊叹效果,前端小白必看!

    js彩色圈圈,动态炫彩放缩旋转绽放,惊叹效果,前端小白必看! js彩色圈圈,动态炫彩放缩旋转绽放,惊叹效果,前端小白必看! js彩色圈圈,动态炫彩放缩旋转绽放,惊叹效果,前端小白必看! js彩色圈圈,动态炫彩...

    节点笔记_Ve.3.5.3内部测试版

    ·节点放缩[NODEZOOM] 基点节点名(字符串) X轴放缩倍数(数值) Y轴放缩倍数(数值) 3、新增节点整化功能,开启后将限制节点坐标并纠正对齐到矩线网络。 ——Ve.3.1.3 更新说明—— 1、修复没有连接或节点笔记文件...

    (学)高中数学数列放缩专题:用放缩法处理数列和不等问题.doc

    高中学科数学数列放缩专题 本文将详细介绍高中学科数学数列放缩专题,涵盖数列...高中学科数学数列放缩专题是高中学科数学的重要组成部分,通过对数列和不等问题的处理方法的学习,学生可以更好地理解和应用数列知识。

    安卓QQ相关相关-高仿QQ空间图片放缩效果很好.rar

    在安卓平台上,实现类似QQ空间的图片放缩效果是一个常见的需求,这涉及到图像处理和UI交互的技巧。本文将深入探讨如何在Android中创建一个高仿QQ空间的图片放缩功能,以及可能遇到的问题和解决方案。 首先,我们...

    节点笔记_Ve.3.7.6.内部测试版_20200203

    命令"启动大容量命令传输模式:"和"start extra long command transmission mode:"接需要接收的字节数后可触发,接收足字节数后执行再命令。 例如:"启动大容量命令传输模式:1000" 或 "start extra long command ...

    安卓手势滑动 放缩1111

    实现滑动和放缩功能,通常需要结合使用`View`或`ViewGroup`的滚动和缩放属性。例如,`ScrollView`和`HorizontalScrollView`可以处理垂直和水平滑动,而`ImageView`的`scaleType`属性可以设置图片的缩放模式。对于更...

    C#控件大小(及字体)随窗口改变自动缩放

    使用布局管理器,如`TableLayoutPanel`或`FlowLayoutPanel`,它们可以帮助你更好地管理控件的位置和大小。这些布局管理器会根据容器的大小自动调整控件的位置和尺寸。 4. **自定义控件的重绘**: 如果需要更精细...

    C# 类似苹果可放缩的工具栏

    这种工具栏通常具有高度自适应性和用户友好的界面,允许用户根据需要调整其大小和布局。以下是对这个主题的详细讨论: 1. **控件设计**: - 工具栏(Toolbar)是一种常见的UI元素,用于放置各种快捷操作按钮或菜单...

    Exam 4-2--坐标系变换平移、旋转、放缩_C#_坐标变换_

    在计算机图形学中,坐标变换是至关重要的概念,它允许我们改变对象在屏幕上的位置、方向和大小。在C#编程环境中,我们可以利用数学库和特定的类来实现这些操作。本节主要讨论的是坐标系变换中的三个基本操作:平移...

Global site tag (gtag.js) - Google Analytics