`

[转]访问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中的各种元素附件
分享到:
评论

相关推荐

    pdf转成flash

    PDF转成Flash是一种将PDF文档转换为Adobe Flash(SWF)格式的过程,使得PDF内容能够以交互式的动画形式在网络浏览器中播放。这种转换通常用于在网页上提供动态、丰富的用户体验,因为Flash在过去的互联网时代是支持...

    ppt转成flash软件

    标题中的“ppt转成flash软件”指的是将PowerPoint(PPT)演示文稿转换为Adobe Flash(SWF)格式的工具。这样的软件可以帮助用户将他们的PPT内容转化为更便于网络分享和在线播放的Flash格式,因为Flash在浏览器支持时...

    pdf转换成flash

    SWF文件是Flash内容的标准输出格式,可以在网页浏览器中通过Flash Player插件播放,提供丰富的视觉效果和交互体验。 3. **转换目的**:将PDF转换为Flash的主要目的是使内容在网络环境中更具吸引力和互动性。Flash...

    FLASH和exe互转工具:flash convert ┆V2.5 绿色免费版

    在转换过程中,Flash Convert V2.5保留了原始Flash项目的动画效果、交互性和声音元素,确保了转换后的文件与原始文件的一致性。这对于那些希望将Flash作品分发到不支持Flash的平台,或者希望保护作品不被轻易修改的...

    PDF转flash

    PDF转Flash技术是一种将PDF文档转换为Adobe Flash(SWF)格式的过程,这种转换主要用于在网络上传播和展示文档。在互联网上,Flash由于其交互性和跨平台性而被广泛使用,尤其是在多媒体内容和在线演示文稿中。下面将...

    基于javaweb+jsp+flash让网页元素插件

    可以将这些安全措施应用到Flash内容的访问和交互中,确保数据的安全传输。 6. **性能优化**:通过JSP和JavaWeb,可以实现服务器端的负载均衡、缓存策略等,提升整体应用的性能。同时,Flash的内容预加载和优化技术...

    flash转换源码工具集合

    在实际操作中,需要注意的是,尽管这些工具能帮助我们访问和学习源代码,但它们可能并不适用于所有版本和类型的Flash文件,也可能不完全准确地还原所有细节。因此,使用时应结合其他学习资料,如官方文档、教程和...

    flash和js互相访问

    要从JavaScript访问Flash中的方法或属性,首先需要为Flash对象创建一个ID,并在Flash的`object`或`embed`标签中设置`id`属性。例如: ```html &lt;!-- 或 --&gt; ``` 然后在JavaScript中,你可以通过这个ID来访问...

    java PDF转换flash

    SWF文件是Flash内容的输出格式,可以在各种浏览器中播放,提供了一种轻量级的方式来展示包含动画、声音和交互性的内容。 3. **PDF转Flash的原理**: 转换过程通常包括解析PDF文档的页面、文本、图像和图形元素,...

    PPT文件Flash提取器

    它能够方便快捷地将这些Flash元素从PPT中提取出来,独立保存为SWF文件,以便于进一步编辑、备份或在不支持PPT播放Flash的环境下使用。下面我们将详细探讨这款软件的工作原理、操作流程以及其在IT领域的应用价值。 ...

    免费pdf2swf pdf转flash文件

    3. **交互性保留**:转换过程中,`pdf2swf` 尽可能保留PDF的超链接、书签和其他交互元素,使转换后的SWF文件仍然具有互动性。 4. **自定义设置**:用户可以通过参数调整输出的SWF文件的质量、大小、帧率等,以满足...

    中文flash网站全站

    通过研究这个"中文Flash网站全站"资源,你可以深入理解Flash技术在网站设计中的应用,以及如何将中文元素与之融合,同时也可以了解Flash网站的架构和交互设计。这将对你的网页设计和开发技能提升大有裨益。

    Flash+js禁用flash右键

    然而,Flash有一个特点,那就是用户可以通过鼠标右键点击Flash对象来访问其内置的上下文菜单,这可能导致内容被复制或者用户访问到不必要的设置。 禁用Flash右键菜单通常是通过Flash ActionScript实现的。...

    玩转flash控件实现自定义菜单

    在IT行业中,Flash控件是一种常见的交互式图形用户界面元素,尤其在早期互联网时代,它被广泛用于创建动态网页和富媒体应用。本教程聚焦于如何利用Flash控件在C# 2008环境下创建自定义菜单,为用户提供更加个性化的...

    Print2Flash V3.5.0.533 完美替代FlashPaper(Word转Flash)

    5. **兼容性**:Print2Flash支持多种文档格式,包括.doc、.docx、.xls、.xlsx、.ppt、.pptx等,这意味着您可以轻松地将各种Office文档转换为Flash。 6. **交互性**:生成的SWF文件具有交互性,用户可以放大缩小、...

    flash图片3D旋转展示

    总的来说,"Flash图片3D旋转展示"是早期网页设计中的一个重要元素,它代表了互联网交互体验的一个阶段。而如今,随着技术的发展,JavaScript和WebGL等工具已经接过接力棒,提供了更加先进、灵活和广泛的3D视觉效果...

    flash改正液(可以把flash中的图片、音乐等所有资源提取出来)

    用户可以将原始Flash文件中的特定元素替换为自定义的图像、音频或其他素材,从而实现对原有作品的个性化修改或翻新。这对于教育、游戏开发或者内容创作者来说,提供了一个便捷的方式来更新和维护他们的Flash内容。 ...

    flash,swf转换成exe

    总之,“flash,swf转换成exe”是一个针对过时技术的适应性措施,通过转换工具将Flash内容封装成独立的可执行文件,以保持其在现代环境中的可访问性。然而,考虑到Flash的逐渐淘汰,长期的解决方案可能需要转向更...

    flash_code汇总

    在IT行业中,Flash是一款历史悠久且曾经非常流行的交互式矢量图形和多媒体开发工具,主要用于创建动画、游戏、网页元素以及应用程序。"flash_code汇总"这个压缩包文件集合了一系列的Flash源代码,这些源代码展示了...

    PDF文件转word原样版转TXT网页html图像flash

    由于Adobe Flash已逐渐被淘汰,将含有Flash元素的PDF转换成其他格式有助于确保这些内容在不同的设备和平台上仍可访问。 总的来说,PDFTigerch是一个功能全面的PDF处理工具,它的主要优点在于能够准确地保留PDF的...

Global site tag (gtag.js) - Google Analytics