`

[转]访问flash中的各种元素

阅读更多
From:http://www.xncat.com/2009/11/catflash/57.html

1. 嵌入式资源,Embed 标签

首先需要加入 flex sdk 才能支持编译 Embed 标签,flash 有默认的 Flex SDK 路径。
file=>publish seteeing=>actionscript settings=>library path
$(FlexSDK)/frameworks/libs/flex.swc



示例见:trainEmbedEmbed.fla

//Embed image
[Embed(source="image.png")]
var pic0:Class;
//Embed swf [Embed(source="baishi_car.swf")] var swf0:Class;
var pic:Bitmap = new pic0() as Bitmap;
addChild(pic);
var swf:Sprite = new swf0() as Sprite;
addChild(swf);
swf.x = pic.width+10;
2.链接资源库,linkage 类绑定

在库中右击需要链接的元件,进入 Propertiyes=>Linkage,勾选 Export forActionScript



并在 source 中浏览到这个 fla 文件,选择到这个链接的元件



这样就生成了一个绑定此元件的类文件,我们可以直接创建这个类的实例了。 在库中可以看到状态的变化



示例见:trainLinkageLinkage.fla var tudoulogo:Sprite = new logo(); addChild(tudoulogo);

//跑一个循环,生成三个土豆 logo 吧

for(var i:uint=0;i<3;i++){
    var logomc:Sprite = new logo();
    addChild(logomc);
    logomc.y = logomc.height + 40 + i*logomc.height;
}


3.使用 swc 文件

swc 文件中可能包含一到多个类文件 我们先要导入 swc 文件,然后就可以创建其中包含的类实例

在 Library path 中导入具体的 swc 文件,也可以只导入包含 swc 文件的文件夹即可



示例见:trainSwcLibswcSource.fla

var anim:Sprite = new anim6() as Sprite;

addChild(anim);
anim.x = (stage.stageWidth - anim.width)/2;
anim.y = (stage.stageHeight – anim.height)/2;

//访问它的子对象,控制动画播放
var animMc:MovieClip = anim.getChildByName("ch") as MovieClip;
anim.addEventListener(MouseEvent.CLICK,animclick);
function animclick(e:MouseEvent):void{
animMc.gotoAndPlay(2);
4.访问 load 进来的 swf

一.直接访问 loader 对象就可以获得加载进来的 flash 文件的对象内容 示例见:trainGetLoadSwfgetLoadSwf.fla

var loader:Loader = new Loader();
addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);

loader.load(new URLRequest("baishi_car.swf"));
function completeHandler(evt:Event):void{
    var _loaderInfo : LoaderInfo = evt.target as LoaderInfo;
    var _content:DisplayObject = _loaderInfo.content;
    trace(_content);
}
二.Embed 进来的资源如何访问呢?其实也是类似的

示例见:trainGetLoadSwfgetEmbed.fla

//Embed swf
[Embed(source="baishi_car.swf")]
var swf0:Class;

var swf:Sprite = new swf0() as Sprite;
addChild(swf);

//get Embed content
//需要访问 swf 对象的第一个子对象,它才是嵌入对象的 loader 对象 var loadObj:Object = swf.getChildAt(0); loadObj.contentLoaderInfo.addEventListener(Event.COMPLETE,loadSwfComplete);

function loadSwfComplete(evt:Event):void {

    var _loaderInfo:LoaderInfo=evt.target as LoaderInfo;
    var _content:DisplayObject=_loaderInfo.content;
    trace(_content);

}
5.访问父对象与访问子对象

访问父对象使用属性 parent 即可,例如:

childMc.parent 即为 childMc 的父对象。 下面这样写是可以访问父对象的父对象的: childMc.parent.parent

访问子对象有两种方法

parentMc.getChildByName(“childName”)

parentMc.getChildAt(index)

childName为对象的实例名 对象的实例名可以在 flashide 中手动输入,



也可以用代码赋值:childMc.name = “child1”。

Index 为子对象的索引位置

在 flashide 中从库中往舞台或 mc 中拖元件即为增加舞台或 mc 的子对象,也可以用代码增加子对象:addChild(newChildMc);

往显示对象中增加子对象的时候,默认按增加的先后从 0 往上增加索引位置。
可以在增加的时候指定子对象到索引位置 addChildAt(index); 但这个 index 索引值不能大于该对象最大的索引位置+1, 并且这个 index 索引位置之后的子对象的索引值自动加 1。
可以在增加之后再设置子对象的索引 setChildIndex(chidlMc,index); 这个 index 索引值不能大于该对旬最大的索引位置, 并且这个 index 索引位置之后的子对象的索引值自动加 1。
示例见:trainParent_childparent_child.fla

mainChildBt.addEventListener(MouseEvent.CLICK,clickfunc);
mainParentBt.addEventListener(MouseEvent.CLICK,clickfunc);

function clickfunc(e:MouseEvent):void{
    if(e.target == mainChildBt){
        for(var i:uint=0;i<main.numChildren;i++){
            var childMc:MovieClip = main.getChildAt(i) as MovieClip;
            childMc.gotoAndStop(2);
        }
    }else if(e.target == mainParentBt){
        var parentMc:MovieClip = main.parent as MovieClip;
        parentMc.gotoAndStop(2);
    }
}


6.访问 movieClip 与 sprite 对象的声音

movieClip 与 sprite 对象都有一个 soundTransform 属性,通过这个属性来控制声音。

示例见:trainSoundsound.fla

// _content 是一个 movieClip 或者 sprite
//new SoundTransform

var st:SoundTransform = new SoundTransform();
//静音按钮
sBt.addEventListener(MouseEvent.CLICK,sbtFunc);
sBt.buttonMode=true;

function sbtFunc(e:MouseEvent):void {
    var tag:MovieClip=e.target as MovieClip;
    if (sBt.currentFrame==1) {
        st.volume=1;
        _content.soundTransform=st;
        sBt.gotoAndStop(2);
    } else if (sBt.currentFrame == 2) {
        st.volume=0;
        _content.soundTransform=st;
        sBt.gotoAndStop(1);
    }
}
访问flash中的各种元素附件
分享到:
评论

相关推荐

    C# Webbrowser+Flash 点击

    实现了Webbrowser访问网页,可以点击网页中的Flash元素,例如网页游戏等等 实现了Webbrowser访问网页,可以点击网页中的Flash元素,例如网页游戏等等

    ppt转flash软件iSpring Suite.rar

    大家可以为Web,移动设备环境或iSpring Learn平台创建课程,测验或3D书籍,除此之外演示文稿可以轻松地作为Web视频、LMS或iSpring Learn元素部署在CD上,iSpring Suite支持在大家或其他授权用户可以访问的专用云平台...

    大名鼎鼎SWFUpload- Flash+JS 上传

    它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。  在使用SWFUpload之前,请确认你具备一定的JavaScript和DOM知识。在实际开发中,大部分的错误都...

    Js+Flash实现访问剪切板操作

    然后遮盖到你要点击得按钮上面,之后在给这个flash得承载元素上绑定事件动态把要复制得值传递到flash中,用flash访问剪切板. 这时候就出现这么一个问题多个按钮如果每个按钮都加栽一遍flash得话会很吃内存并且动态得...

    flash action script 经典字典教程大全,学flash必备

    flash action script 经典字典教程大全,学flash必备 -- --(递减) ++ ++(递增) ! !(逻辑 NOT) != !=(不等于) !== !==(不全等) % %(模) %= %=(模赋值) & &(按位 AND 运算符) && ...

    Flash+XML+ASP留言板

    但还有一个遗憾就是不能做到真正的无级扩展,主要是偶太懒了,呵呵,其实动态控制Flash在HTML页中的尺寸只要通过JavaScript就可以轻松的设置了,然后Flash内部动态计算各个元素的新坐标即可,关于详细方法在Danger的Blog...

    HTML开发王

    1.4.2 可访问性 1.4.3 表格 1.4.4 混合文档 1.4.5 样式表 . 1.4.6 脚本 1.4.7 打印 1.5 巩固与自测 第2章 html文档的基本结构 2.1 使用dreamweaver创建第一个网页 2.1.1 dreamweaver安装和配置向导 2.1.2 使用...

    ActionScript开发人员指南中文版

    了解FlashPlayer和AIR运行时中的D显示对象 创建和移动D显示对象 将D对象投影到D视图上 示例:透视投影 执行复杂的D转换 通过三角形获得D效果 第章:文本使用基础知识 第章:使用TextField类 显示文本 选择和操作文本 ...

    基于SwfUpload插件的文件批量上传插件GooUploader

    本控件是对swfUpload这个FLASH插件的二次包装,控件类对象中的一个内部元素即为一个SWFUpload对象,可对其中进行相应的操作(详见附送的SWFUpload V2_2_0 说明文档.htm) 本控件内置一个保存了文件列表信息的数组$...

    《javaScrip开发技术大全》源代码

    • sample04.htm 在同一个网页中使用不同脚本语言 • sample05.htm 判断浏览器对JavaScript版本的支持情况 • sample06.htm 引用外部JavaScript • sample07.htm 在同一个HTML文档...

    Ranorex用户指南

    在代码模块中访问屏幕快照 代码模块中使用变量 在测试用例中使用代码模块 课程8:报告 阅读Ranorex报告 报告级别 记录特定信息 更新自定义报告格式 创建一个自定义的报告模板 [课程 9: Ranorex Spy] 跟踪UI元素...

    三天学会HTML5——多媒体元素的使用

    使用Google地图获取位置信息多媒体是互联网中的最重要的一部分,无论访问的是哪种类型的网页,视频或音频触手可及,在之前实现这些功能对开发人员来说可能非常痛苦,必须依赖Object标签,调用第三方软件来加载,如...

    论文研究-基于队列计数的固态存储器热数据识别方法.pdf

    针对这种不足,设计了基于队列计数的热数据识别方法,通过使用先进先出规则淘汰过时的数据,并赋予队列中每个位置所存放元素不同的权值来表示不同时刻各数据的热状态;同时结合Flash读写等特性,引入了热区域概念,...

    软件界面设计工具_3款合集

    使用xml语言来记录和保存界面元素和布局,从而使其能够快速的导入到你所需的任何一个项目中,或其他工具中。 可以将设计导出成PNG格式的图片; 随着使用的熟练,快捷键便派上用场,超过一半的元素均有快捷方式,...

    FLEX企业应用开发实战.part1

    第3章 Flex企业应用开发中的主要元素  3.1 企业应用的特点  3.2 Flex Application  3.2.1 SystemManager  3.2.2 Preloader  3.2.3 Application的作用和主要属性  3.2.4 通过SWFLoader加载Application ...

    FLEX企业应用开发实战.part2

    第3章 Flex企业应用开发中的主要元素  3.1 企业应用的特点  3.2 Flex Application  3.2.1 SystemManager  3.2.2 Preloader  3.2.3 Application的作用和主要属性  3.2.4 通过SWFLoader加载Application ...

    HTML5与CSS3基础教程(第8版)高清文字

    11.15 在栈中定位元素 232 11.16 处理溢出 233 11.17 垂直对齐元素 234 11.18 修改鼠标指针 235 第12章 构建响应式网站 237 12.1 响应式Web设计:概述 237 12.2 创建可伸缩图像 239 12.3 创建...

    Outpost Firewall Pro v9.1.4652.701.1951.zip

    具有一般防火墙常有的应用程序访问规则控制以及独特的私人信息保护 (防止密码泄露)、内容管理 (防止您的孩子或员工查看不合适的网页内容,允许按特定关键字以及特定网地进行过滤)、DNS 缓存保护、Web 页交互元素...

    FlashMXAction简易手册.zip

    FlashMXAction简易手册.zip XML.nodeName 类型: 对象属性 ...注意:只有 XML 元素 (nodeType == 1) 节点可以拥有节点名称,如果访问一个 XML 文本 (nodeType == 3) 节点的 nodeName 属性,将返回 null 。

Global site tag (gtag.js) - Google Analytics