9.17.从SWF 文件中生成动态皮肤

评论(0)浏览(134)分类:flash/flex/fcs/AIR
9.17.从SWF 文件中生成动态皮肤9.17.1. 问题你想在Flash IDE 中创造一个按钮,它的每个状态有不同的动作。9.17.2. 解决办法创建一个FLA 并在此FLA 中创建一个意味着有多个帧和动作的输出的MovieClip 元件。利用生成的SWF 和MovieClip 名称,在源代码和元件引用中通过利用[Embed] 元数据标记将MovieClip 为你动作的拓展。把一个mx.core.UIComponent子类当作mx.controls.Button实..

9.16.编程实现状态控件的皮肤

评论(0)浏览(73)分类:flash/flex/fcs/AIR
9.16.编程实现状态控件的皮肤9.16.1. 问题你想编程实现皮肤,该皮肤能够解决控件显示不同状态的问题。9.16.2. 解决办法生成mx.skins.ProgrammaticSkin 的子类,然后利用updateDisplayList 方法依据name 属性值更新其显示内容。可以嵌入地利用skin 样式属性,或者利用setStyle 方法,再或者利用CSS 三种方法应用编程实现的自定义皮肤。9.16.3. 讨论通常控件都有状态或包含有状..

9.15.编程实现组件应用皮肤

评论(0)浏览(97)分类:flash/flex/fcs/AIR
9.15.编程实现组件应用皮肤9.15.1.问题你想更好地控制视觉元素如何在不指定图像皮肤时显示在组件中。9.15.2.解决办法生成一个继承mx.skins.ProgrammaticSkin 类的自定义皮肤类并重载保护类型的updateDisplayList 方法。9.15.3.讨论与图像皮肤相反,编程实现皮肤需要对ActionScript 更高级的理解,但提供了组件视觉表示的更深入的控制。编程实现的皮肤类是利用一些显示对象..

9.14.从SWF文件中嵌入皮肤

评论(0)浏览(106)分类:flash/flex/fcs/AIR
9.14.从SWF文件中嵌入皮肤9.14.1.问题你想在SWF 文件中保存一堆图像,以便用来为组件嵌入皮肤。9.14.2.解决办法生成一个SWF 文件, 用多个记号标记表示组件多个状态的输出。9.14.3.讨论在SWF 文件中生成一堆图像皮肤是将设计展现给其它开发人员的方便方法。另外它实现了将矢量图形做为皮肤的可能性。使用来自Flash IDE 库的元件的属性面板,你能选择用于引用图形元件的类..

9.13.嵌入图像的皮肤

评论(0)浏览(96)分类:flash/flex/fcs/AIR
9.13.嵌入图像的皮肤9.13.1. 问题你想用自定义的图像为组件的视觉元素应用皮肤。9.13.2. 解决办法利用组件的样式属性提供自定义的JPEG、GIF 或者PNG 图像。这些属性能在组件实例中嵌入地通过MXML 或者作为CSS 样式定义的部分而直接设定。9.13.3. 讨论内置的Flex 主题默认地为组件应用计划好的皮肤类。你能创造自定义编程实现皮肤类或者指定图形元素为皮肤,以修改组..

9.12.从SWF文件中嵌入字体

评论(0)浏览(111)分类:flash/flex/fcs/AIR
9.12.从SWF文件中嵌入字体9.12.1.问题你想从SWF 文件中嵌入字体,并将其应用在你的程序中。9.12.2.解决办法生成一个嵌有字体的SWF ,然后利用@font-face 指令声明你想在程序中嵌入的打印机字体。9.12.3.讨论你能从单个包含嵌入字体的SWF 文件中为你的程序嵌入多种打印机字体样式。与从字体文件中嵌入字体相反,从SWF 中嵌入的方法具有可携带性的优势。你能将你系统中可用..

9.11.应用嵌入字体

评论(0)浏览(93)分类:flash/flex/fcs/AIR
9.11.应用嵌入字体9.11.1.问题你想将字体嵌入程序以确保在任何机器上的外貌感观保持一致,不用去管用户系统字体如何。9.11.2.解决办法通过在ActionScript 中利用[Embed]元标记或者在CSS 中使用@font-face 以嵌入字体。9.11.3.讨论在程序中嵌入字体的原则确保文本应用的样式是完整的,不需要考虑用户机器上系统字体。你能利用ActionScript 和CSS 嵌入字体。下面例子..

9.10.编译主题SWC

评论(0)浏览(140)分类:flash/flex/fcs/AIR
9.10.编译主题SWC9.10.1.问题你想将你的样式文件打包放进主题SWC,然后编译到程序中。9.10.2.解决办法运用命令行工具生成一个主题SWC ,接着利用mxmlc 编译器的主题选项编译程序。9.10.3.讨论Shockwave Component (SWC)文件是按照PKZIP 格式打包的档案文件。SWC 文件允许你在众多开发者间交换大量文件的唯一档案而不是那些文件本身。正如你会生成MXML 和ActionSc..

9.9.同一个程序中使用多个主题

评论(0)浏览(94)分类:flash/flex/fcs/AIR
9.9.同一个程序中使用多个主题9.9.1.问题你想在同一程序中利用多个主题颜色以区分控件。9.9.2.解决办法运用容器的themeColor 属性来规定相应的彩色值。9.9.3.讨论你能利用mx:Canvas的themeColor 属性在同一程序中为控件指派不止一个Flex 主题。运用主题颜色可以改变在滚动、选择等相似的视图处理时被操作控件的外观。本招的例子向mx:Canvas 窗口添加三个子组件来显示三个主题..

9.8.自定义组件样式属性

评论(0)浏览(91)分类:flash/flex/fcs/AIR
9.8.自定义组件样式属性9.8.1.问题你想嵌入地创造并展现那些组件中本身没有的自定义样式属性。9.8.2.解决办法给你的自定义组件增加样式元数据并用getStyle 方法返回属性值。9.8.3.讨论Flex 框架为组件提供了可用的默认样式属性,但你能利用[Style] 元数据标记为自定义组件声明附加样式属性。在mx:Metadata标记中列出样式定义使得你在MXML 中组件声明内嵌入地指定属性值。..

9.7.运行时声明样式

评论(0)浏览(81)分类:flash/flex/fcs/AIR
9.7.运行时声明样式9.7.1.问题你想在运行时利用ActionScript 为Flex 组件声明和用户化样式。9.7.2.解决办法创造mx.styles.CSSStyleDeclaration 对象,并将和mx.styles.StyleManager 存储的选择器名联系起来。9.7.3.讨论CSSStyleDeclaration 对象拥有能在运行时被设置且用户化的样式属性及值。当你通过mx:Style标记在本地或外部文件中定义CSS 规则, Flex 在编译时自..

9.6.运行时加载CSS

评论(0)浏览(172)分类:flash/flex/fcs/AIR
9.6.运行时加载CSS9.6.1.问题你想通过运行时加载CSS 文件替代在编译时嵌入它们的方法,从而尽量保持你的SWF 的大小。9.6.2.解决办法用Flex 3 SDK 提供的mxmlc 工具将你的CSS 文件打包, 然后利用mx.styles.StyleManager在运行时加载CSS 文件。9.6.3.讨论编译时加载样式使你不需重新编译程序即可改变样式定义。若要在运行时加载SWF,你需要使用StyleManager 的load..

9.5.运行时定制样式

评论(0)浏览(81)分类:flash/flex/fcs/AIR
9.5.运行时定制样式9.5.1.问题你想在运行时定制组件所赋予的样式属性值。9.5.2.解决办法利用setStyle 方法重置样式属性值。9.5.3.讨论setStyle 方法继承自mx.core.UIComponent 的任意子类。你可以利用setStyle 在运行时对已定义的样式对属性进行赋值。setStyle 方法的参数分别是样式名称和期望的值。+展开-ActionScriptmyContainer.setStyle("backgroundColor",0xF..

9.4.修改初始样式属性

评论(0)浏览(78)分类:flash/flex/fcs/AIR
9.4.修改初始样式属性9.4.1.问题你想修改一个组件实例的初始样式属性。9.4.2.解决办法利用组件的属性或者子标记嵌入地为指定的样式属性赋值。9.4.3.讨论你可以在组件声明的子标记内嵌入地为样式属性赋值。其它方法定义的样式属性均会重新改变程序中本地或外部已经定义的值。考虑下面的例子:+展开-XMLmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout..

9.3.嵌入CSS样式

评论(0)浏览(114)分类:flash/flex/fcs/AIR
9.3.嵌入CSS样式9.3.1.问题你想在你的程序中利用CSS 为组件嵌入使用样式。9.3.2.解决办法在本地定义中定义样式,或者利用mx:Style标签的source 属性从外部文件中嵌入使用CSS规则。9.3.3.讨论样式可以在编译时通过多种方式嵌入进你的Flex 程序。这一诀窍讲述利用CSS 语法定义嵌入在你程序中的样式。在Flex 中运用CSS,你可以做到以下内容:? 在MXML 文件的mx:Styl..

9.2.重写默认的应用程序样式

评论(0)浏览(80)分类:flash/flex/fcs/AIR
9.2.重写默认的应用程序样式9.2.1.问题你希望修改主Application 容器所被指派的默认样式.9.2.2.解决办法将主程序的styleName 属性设置为plain.9.2.3.讨论Application 容器是Flex 程序的根容器,并且描述了Flash 播放器的绘图区域。它含有定义其样式和外观的默认属性。例如, Application 标记含有分别设置为8 和6 像素的horizontalGap 值与verticalGap 值(子控件间的水平与..

9.1.用CSS定义组件样式

评论(0)浏览(91)分类:flash/flex/fcs/AIR
9.1.用CSS定义组件样式9.1.1.问题你希望利用CSS 对组件应用皮肤9.1.2.解决办法利用类选择器或类型选择器声明样式属性。9.1.3.讨论你可以用CSS 个性化你的用户界面。如果熟悉HTML 文档中的样式元素,你会发现Flex里的CSS 语法大致相同. 你可以用类选择器为各种组件指派样式,同样你可以为一个组件定义类型选择器,它将适用于显示列表上该组件的所有实例。类选择器经过声..

第九章.皮肤与样式

评论(0)浏览(131)分类:flash/flex/fcs/AIR
第九章.皮肤与样式Flex 框架强大的布局管理功能以及默认的Halo AeonThe 主题使你可以即使不用box 组件都能创造出十分友好的界面。你能利用容器和控件来创造一个应用程序用户界面的轻松程度,与你能否轻松地用皮肤和样式来美化这些组件是相关的。本章的题目可能稍微有些误导读者: 皮肤和样式在Flex 中并不是独立的两个概念; 其实它们协力合作为你的程序带来视觉个..

8.18.比较两幅位图

评论(0)浏览(78)分类:flash/flex/fcs/AIR
8.18.比较两幅位图8.18.1. 问题我需要比较两个位图图像,并显示他们之间的差别。8.18.2. 解决办法从两个图像读取位图数据,并使用compare 方法比较两个图像。把两个图像的差别设置为第3 个图像的源。8.18.3. 讨论BitmapData 类的compare 方法返回一个BitmapData 对象,包括两个列出的图像中所有不能匹配的像素。如果两个BitmapData 对象有相同的尺寸(宽和高),这..

8.17.启动图像上传

评论(0)浏览(65)分类:flash/flex/fcs/AIR
8.17.启动图像上传8.17.1. 问题我需要使用户能通过Flex 上传图像,保存在服务器中。8.17.2. 解决办法创建一个FileReference 对象,并附加一个适当的滤镜,使用户只能上传正确类型的文件。然后监听FileReference 对象的完成事件,并上传图像文件到一个服务器端脚本。8.17.3. 讨论在flex 以及Flash 中上传在图片,依赖于使用FileReference 类。FileReference 对象,..

8.16.在载入图像时显示自定义引导

评论(0)浏览(88)分类:flash/flex/fcs/AIR
8.16.在载入图像时显示自定义引导8.16.1. 问题我需要在一个图像装载时显示定制的动画。8.16.2. 解决办法创建一个定制的图形,并且从Image 对象装载图像是监听ProgressEvent.PROGRESS 事件。8.16.3. 讨论当使用Image 组件时有两种方法来显示图像: 你能在MXML 中设置Image 类的source 属性,或者通过一个URL 地址来装载并使用img.load 方法:+展开-ActionScriptimg.load("http://..

8.15.读取mp3文件的ID3数据

评论(0)浏览(139)分类:flash/flex/fcs/AIR
8.15.读取mp3文件的ID3数据8.15.1. 问题我需要从一个MP3 文件中读取ID3 数据。8.15.2. 解决办法使用Event.ID3 方法,当ID3 数据被分析时Sound 类将被迅速处理8.15.3. 讨论当把一个装载的MP3 文件的ID3 数据被分析时,Sound 类迅速处理一个事件。这些数据被作为一个ID3Info 对象保存,它定义的变量访问的所有属性被写入MP3 开头的字节中:+展开-ActionScriptprivatevarsoun..

8.14.创建视频播放进度条

评论(0)浏览(117)分类:flash/flex/fcs/AIR
8.14.创建视频播放进度条8.14.1. 问题我需要创建一个控制条,使用户能够在视频播放时使用进度条。8.14.2. 解决办法创建一个可以拖动的Sprite 对象,并且监听任何它发出的DragEvent 事件。在DragEvent 时间处理中,在Video 对象的视频流,NetStream 设置向前或向后的搜索总数,8.14.3. 讨论您可以使用任何可拖动的显示对象在播放的视频中设定新的位置。在这个例子中,Net..

8.13.处理FLV数据的提示点

评论(0)浏览(64)分类:flash/flex/fcs/AIR
8.13.处理FLV数据的提示点8.13.1. 问题我需要在播放时使用编译在FLV 文件中的提示点。8.13.2. 解决办法使用NetStream 类的onCuePoint 事件,创建一个处理方法,当遇到提示点时激活。8.13.3. 讨论提示点是插入到一个FLV 文件中的纪录一个视频特定时间的值,包括一个简单的名称或带有一个hash 表值的数据对象。提示点经常在文件开始编译时插入一个FLV 文件,任何值在这里确..

8.12.在多幅图像中使用混合模式

评论(0)浏览(121)分类:flash/flex/fcs/AIR
8.12.在多幅图像中使用混合模式8.12.1. 问题我需要混合多个图像。8.12.2. 解决办法设置图像的blendMode 属性。8.12.3. 讨论每一个显示对象定义blendMode 属性,控制显示对象如何出现。控制alpha 和显示列表中处于显示对象在下方的对象如何透过组件显示。任何使用过Adobe Photoshop 或After Effects的人都熟悉混合模式:BlendMode.ADD ("add")在两个图像之间创建一个动画的光线..

8.11.读取和保持用户的网络摄像头图像

评论(0)浏览(110)分类:flash/flex/fcs/AIR
8.11.读取和保持用户的网络摄像头图像8.11.1. 问题我需要从用户的网络摄像机读取一个图像并保存图像在服务器上8.11.2. 解决办法创建一个Camera 对象,并将它附加到一个Video 对象。然后创建一个按钮,从视频对象读取位图并使用服务器端脚本保存位图数据。8.11.3. 讨论网络摄像机捕获一个图像,从Video 对象创建一个位图显示摄像机的图像。Flash Player 不提供任何从网路摄像机访问数..

8.10.检测像素级别的碰撞

评论(0)浏览(87)分类:flash/flex/fcs/AIR
8.10.检测像素级别的碰撞8.10.1. 问题我需要检查是否有带有alpha 透明度的图像区域与其他图像发生碰撞。8.10.2. 解决办法绘制两个图像到一个BitmapData 对象,并使用BitmapData.hitTest 方法。8.10.3. 讨论BitmapData 对象拥有一个hitTest 方法,和DisplayObject 定义的hitTest 方法工作方法相似但有一个明显的例外:而DisplayObject 的hitTest 方法返回true,如果点和对..

8.9.在Flex程序中平滑播放视频

评论(0)浏览(93)分类:flash/flex/fcs/AIR
8.9.在Flex程序中平滑播放视频8.9.1. 问题我需要在应用程序中平滑播放视频。8.9.2. 解决办法创建一个自定义组件包含the flash.media.Video 组件,然后设置视频的平滑属性设置为True 。8.9.3. 讨论要平滑视频,像这样,使视频看起来减少像素化,你需要访问flash.media.Video 对象。视频平滑,就想图像平滑,需要比非平滑播放需要更强的处理能力,可能降低大画面或高清视频的播..

8.8.访问用户的麦克风并创建声音显示

评论(0)浏览(96)分类:flash/flex/fcs/AIR
8.8.访问用户的麦克风并创建声音显示8.8.1. 问题我需要访问用户的麦克风并使用麦克风的音量绘制一个音量。8.8.2. 解决办法使用Microphone.getMicrophone 方法访问microphone。访问音量方法使用Microphone 类的mic.activityLevel 属性监测定期区间。8.8.3. 讨论麦克风类提供了访问用户的麦克风和计算机的方法,用户必须允许你的Flash Player 程序使用类访问。Microphone 类显示麦克风..

8.7.通过摄像头将视频发送到FMS实例

评论(0)浏览(137)分类:flash/flex/fcs/AIR
8.7.通过摄像头将视频发送到FMS实例8.71. 问题我需要从用户的摄像机发送一个流到Flash Media Server (FMS) 实例,供一个聊天室或其他直播媒体应用程序。8.7.2. 解决办法通过使用flash.media.Camera.getCamera 方法捕获用户摄像机的视频流,附加摄像机到一个NetStream 并将被发送到的Flash Media Server 实例。使用NetStream 类publish 方法来发送一个特定名称的流到应用程序并处理..