AS3中的如何动态加载影片剪辑

flash as3用代码播放声音的常用方法和属性 1.一般我们在动画中用代码加载声音,下面列举一些控制声音的方法 给文件库里的声音加链接,双击文件右边的链接起个类名,比如bg_sound,然后把它加载进动画中 var bgsound: bg_sound = new bg_sound(); 然后声音对象有几个常用属性: bgsound.length//声音的长度,以毫秒为单位 bgsound.bytesTotal //声音的总 阅读详情
使用时间线,你可以很直观的制作一些动画,而利用一些脚本,就可以控制舞台上的影片剪辑。那更为灵活的是什么呢?一个动态的影片剪辑既不是使用时间线,也不是使用现有舞台上的。
这些影片剪辑单独的存在库中,这篇文章将告诉你如何的动态的调用他们。
例如:点击以下蓝色的矩形,你会看到一个圆在你点击的区域逐渐的出现和消失。这个圆只有在你的鼠标点击的情况下才能添加到舞台上并运动的。这篇文章将会告诉你如何绘制和保存到库中。

开始

首先,你需要创建一个能够动态载入的影片剪辑。在这里,只是简单的创建了一个实心的蓝色圆,在库中,类名称为BlueCircle,如果你不知道如何来做,以下的介绍将会帮助你解决。
如果你已经知道了如何来创建一个圆,并以BlueCircle的类名保存到库中,请跳到下一页直接看代码。

创建一个BlueCircle影片

以下的介绍将会解释如何创建一个影片并指定该蓝色圆为动态载入。
1、首先,在Flash CS3中创建一个文档,在属性面板中,设置文档的宽高为300和200像素。

2、使用圆形工具在舞台上画一个圆,蓝色填充。

3、在圆形被选择的前提下,按F8或者点击<修改>-<转化为元件>。转化为元件的窗口就会出现。在名称一栏中输入circle,类型选择影片剪辑。

先不要急着点OK。来做一下更多的修改。
4、从转换为元件的窗口中,找到链接的标示,如果你没有看到,点一下<高级>按钮来显示他。选择<为ActionScript导出>.,替换掉在Class一栏中所显示的内容为BlueCircle。


基本类一栏将会自动的显示出来。但是如果没有显示,你可以输入上图那样的flash.display.MovieClip。
5、点击OK关闭该窗口,在库中你会看到你新创建的新元件。

如果你没有看到库,按一下Ctrl+L来显示他。
6、到这里,你的圆形影片剪辑已经保存到了库中,而你的舞台上有一个它的复制品,删除他,这样舞台上就什么都没有了。
添加代码

在时间线上右击,选择脚本。将以下的代码复制到脚本窗口中:
function Main() {
// 为舞台添加鼠标事件的监听
stage.addEventListener(MouseEvent.CLICK, AddCircle);
}
Main();
function AddCircle(e:MouseEvent):void
{ // 在舞台上添加一个圆
var newCircle:BlueCircle = new BlueCircle();
this.addChild(newCircle);
// 设置圆的x,y的位置
newCircle.x = mouseX;
newCircle.y = mouseY;
// 设置圆的缩放比例和透明度。
newCircle.scaleX = 0;
newCircle.scaleY = 0;
newCircle.alpha = 0;
// 添加Enter_Frame事件的监听
newCircle.addEventListener(Event.ENTER_FRAME, ZoomCircle);
}
function ZoomCircle(e:Event):void
{ // 获得点击得圆
var circleMC:MovieClip = MovieClip(e.target);
// 增加缩放。
circleMC.scaleX += .05;
circleMC.scaleY += .05;
//到达一定比例后,透明度减弱
if (circleMC.scaleX < 2)
{ circleMC.alpha += .03;
} else { circleMC.alpha -= .03;
// 圆几乎消失后,删除事件
if (circleMC.alpha < .1)
{ circleMC.removeEventListener(Event.ENTER_FRAME, ZoomCircle);
}
}
}

ctrl+Enter运行该动画,如果你点击影片的任何位置,你会看到你在第一章中看到的效果。
分析代码
现在你已经有了动画,让我们来看一下代码的细节,你可以对如何制作一个动态的影片剪辑有一个更好的想法。
让我们先走Main函数开始
function Main() {
// 为舞台添加鼠标事件的监听
stage.addEventListener(MouseEvent.CLICK, AddCircle);
}
Main();

Main函数在动画首次运行时被调用。函数中非常重要的一行(只有一行)是我为鼠标事件添加了事件的监听:
stage.addEventListener(MouseEvent.CLICK, AddCircle);

为了监听事件,你首先需要指派一个对象扮演监听者。在这里,我指派了舞台为监听者。为了达到有效的监听,你也需要知道监听什么,在以上的代码中,我监听MouseEvent.CLICK事件。
一旦你发现你监听到了,你也许需要做什么。最简单的方法就是创建一个包含做什么的函数。这里,我调用AddCircl函数来处理你监听到的事件。
到现在,我告诉舞台去监听鼠标事件,如果它听到了点击(MouseEvent.CLICK)事件,便调用AddCircle函数。
好了,结束对事件监听的讨论,来说说所调用的AddCircl函数。先来看一下该函数的定义:
function AddCircle(e:MouseEvent):void { . . . . }

并不像其他的函数调用,一个函数被调用是依靠一个事件句柄需要适合某种特殊的特征。首先,他必须作为一个(唯一的一个)事件类型的参数。第二、他没有返回值,所以返回的类型必须是void。
AddCorcle是适合这两个标准的。他作为MouseEvent事件类型的参数。而MouseEvent是的基类就是Event类。函数也没有返回值,所以他的返回类型设置为void。
现在,来看一下整个AddCircle函数。
function AddCircle(e:MouseEvent):void
{ // 在舞台上添加一个圆
var newCircle:BlueCircle = new BlueCircle();
this.addChild(newCircle);
// 设置圆的x,y的位置
newCircle.x = mouseX;
newCircle.y = mouseY;
// 设置圆的缩放比例和透明度。
newCircle.scaleX = 0;
newCircle.scaleY = 0;
newCircle.alpha = 0;
// 添加Enter_Frame事件的监听
newCircle.addEventListener(Event.ENTER_FRAME, ZoomCircle);
}

第一部分处理的是添加BlueCircle并显示在舞台上。所有的这些都在我的"AS3.0中如何显示库中内容"的文章中有讲解。这里就不再赘述了。需要注意的是对新圆的引用是newCircle。也许要注意x-scale和y-scale的首字母大写。透明度设置为0。
这篇文章的最有意思的一行是添加了一个ENTER_FRAME事件监听newCircle影片剪辑。
newCircle.addEventListener(Event.ENTER_FRAME, ZoomCircle);

添加事件监听的格式想必你已经清楚了,过去AS2中的onEnterFrame和enterFrame现在换成了Event.ENTER_FRAME。该事件监听以你的帧频的速度来反复调用ZoomCircle函数。

 
【从零开始玩量化7】easyTrader: 自动化(程序化)交易利器 前面的文章,我们介绍了数据获取工具AKShare, 量化回测工具backtrader等,这一篇,介绍程序化交易工具easyTrader。作者网名食灯鬼,目前项目在Github上的star数已经有6.7k。这可能是目前,开源能找到的,最好用的程序化交易库了。本文介绍了easyTrader的简单用法,这个包还有很多功能,后续再继续写文章探究。 阅读详情

相关推荐

Silvaco TCAD仿真4——DeckBuild实战:从示例库到自定义设计

本文详细介绍了Silvaco TCAD仿真工具DeckBuild的实战应用,从示例库的使用到自定义设计的全过程。通过具体案例和参数修改技巧,帮助用户快速掌握TCAD仿真技术,提升半导体器件设计的效率和精度。特别适合需要从基础入门到进阶操作的工程师和研究人员。

weixin_29284657的博客 435

as3 调用外部资源文件(swf文件、图片文件)

 一、目标     1.  在aa.swf中调用bb.swf     2. bb.swf中有一个动态文本 txt1,aa.swf调用后,更改此文本的显示内容  二、步骤    生成bb.swf文件      1.新建bb.fla,并在上面加入一个动态文本,名命为"txt1"。 txt1的初始显示为"hello"      2.Ctrl + Enter运行 bb.fl

djy1135的专栏 4342

一个AI Agent顶十个软件,toB赛道正在大洗牌

一个AI Agent顶十个软件,toB赛道正在大洗牌

ith321的博客 1331

As3.0 中影片剪辑调用

在falsh中可能遇到要用到某个影片剪辑不在舞台上,而是在一个在舞台上的影片剪辑里面。就是说该影片剪辑和舞台的关系是层关系! 以影片剪辑fan为例,它在另一个影片剪辑fanout里面:   (this.root as MovieClip).fan.play();   (this.root as MovieClip).fan.gotoAndStop(2); 在flash中可能会遇

alpha_xiao的博客 3113

Pico-实时预览工具PreviewTool

Unity XR SDK与Preview Tool下载链接:SDK - Pico Developer Platform1、下载Preview Tool后,将PreviewTool的APK先安装在VR头显里2、在PC端打开Preview Tool.exe文件Window -> Package Manager -> Add package from disk,选择下载的pico sdk中的package.json(如下图),Open导入。Edit -> Project Settings,设置设备和安卓版本,如下

晴天下的大头娃娃 4252

Windows下用Caddy一键搞定LiveKit本地HTTPS部署(含自签名证书避坑指南)

本文详细介绍了在Windows本地开发环境中,如何利用Caddy服务器一键部署支持HTTPS和WSS的LiveKit实时通信服务。文章重点解决了自签名证书的生成与配置难题,提供了完整的避坑指南和防火墙设置,帮助开发者快速搭建安全的WebRTC测试环境,实现局域网内的实时音视频互动。

weixin_29274969的博客 584

不再当码农-Flash AS3.0多个影片剪辑实现同一功能循环问题

Flash AS3.0多个影片剪辑实现同一功能循环问题        作为编程小白的我,对编程实在是无力啊~所以代码写的也不够简练正规,这次讨教的方法必须来发一篇博客分享给大家,虽然你们可能都会哈哈~   问题:有n个影片剪辑要实现一样的功能?除了写n遍一样功能的代码,有没有别的简单方法?   答:肯定有,get下面的方法,拒绝当码农QwQ.   下面用一个例子生动形象的解释一下,现有

ljw_Josie的博客 2529

玉米群体遗传分析实战:如何用IQtree和VCF文件快速构建系统发育树(附避坑指南)

本文详细介绍了如何利用IQtree和VCF文件进行玉米群体遗传分析,并快速构建可靠的系统发育树。文章重点解析了从VCF格式转换到PHYLIP格式的实用技巧,强调了使用ASC模型校正SNP数据偏差的重要性,并提供了完整的参数设置、常见报错解决方案及结果评估指南,帮助研究者高效完成分析并规避常见陷阱。

leaf8的博客 608

flash as3 加载外部swf 和图片代码

【1】【加载库中的影片剪辑。】 在库中右击该元件,打开连接面板,我们会看到一个叫类的文本框,在这里给这个类取一个名字,比如myl.确定。 这样我们就加载了一个叫myl的类了。接下来,在场景的帧动作中, 输入: var mymc:myl = new myl(); addChild(mymc); //注意,AS3不支持attachmovie了。 mymc.x = 100; //注意...

ansiblexxxxxxxxxxx 412

避开这些坑!DS18B20温度读取不准、时序混乱的5个常见问题与调试方法

本文深入解析DS18B20温度传感器在应用中常见的5个问题,包括温度读取不准、时序混乱等,并提供详细的调试方法。通过硬件设计优化、精准延时实现和数据解析技巧,帮助开发者有效解决温度值跳变、初始化失败等典型问题,提升OneWire协议下的温度测量精度。

weixin_29185493的博客 465

SolidWorks 小车底盘 装配体

通过制作小车底盘了解solidworks装配体的部分知识

及时总结 2229

AS3多种方法复制可视对象

AS3复制可视对象 一,复制舞台上的影片剪 方法1——反射方法: var ClassRef:Class = getDefinitionByName(getQualifiedClassName(t_mc)) as Class; var clone_mc:DisplayObject = new ClassRef(); addChild(clone_mc); ...

holycy的专栏 307

反应动力学仿真软件:CHEMKIN_(12).CHEMKIN与其他软件的接口

通过上述介绍,我们详细探讨了如何将 CHEMKIN 与 MATLAB、Python、COMSOL、Aspen Plus 和 Ansys Fluent 等软件工具进行接口配置和数据交互。这些接口不仅能够显著提升 CHEMKIN 在反应动力学仿真中的应用效果,还能充分利用其他软件工具的强大功能,实现更复杂的数据处理和分析。希望这些内容对您在化学反应动力学仿真中的工作有所帮助。

kkchenjj的博客 1138

[转]AS3复制可视对象

AS3复制可视对象 一,复制舞台上的影片剪 方法1——反射方法: var ClassRef:Class = getDefinitionByName(getQualifiedClassName(t_mc)) as Class; var clone_mc:DisplayObject = new ClassRef(); addChild(clone_mc); 方法2—...

AS3 201

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

每天学一点flash (32) as 3.0 结合xml 制作走马 灯效果

经过一个下午的研究终于把之前写的as 2.0的 走马灯 从新用as 3.0 写过一次了 真是遇见了好多的问题,特别是loader 类 添加子显示对象的时候花费了一段时间来找答案。最后使用用数组的帮助下终于完成了。 遇到问题 第一怎样解决 多个 loader 显示对象? 第二怎样显示 外部加载多个图片(不是一个)? 第三怎样使用数组的push的方法? 怎样用数组结合xml 使用? 第四...

weixin_30752377的博客 83

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

动态给剪辑对象增加属性

从库里动态加载元件的话,要先 new 一个元件实例,然后把它 addChild 到舞台显示容器中。 var temp = new myObject(); // myObject 为制作影片剪辑时候的链接属性 addChild(temp); //这样就添加了一个新的 myObject 对象的实例 很显然,如果是静态的直接从库里拖到舞台上,那么它肯定位于显示节点的底层。就是说,动态加载的元件实例

haihaiger的专栏 444

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

每天学一点flash(38) 制作走马灯二

Picture.as文件package { import flash.display.MovieClip; import flash.display.Sprite; import flash.display.Loader; import flash.events.*; import flash.utils.*;//执行时间间隔的 import flash.net.*; import flash

夏天的树人的专栏 2831

初识AS3(十八)——制作简单视频播…

[知识点] 1、构建视频NetConnection和NetStream; 2、音量控制用soundTransform(这个让我耗了一些精力,在AS2中可以setvolume,在AS3就不行了); 3、暂停用pause(),恢复回放暂停的视频流用resume(); 4、接收视频信息用onMetaData(如视频总时间data.duration); 5、侦听视频流的开始和结束用NetStatusEve

hejinde的专栏 489

AS3聊天表情即图文混排源码

使用说明: 1.首先将以下的checkFaces()方法添加到你的应用程序中; 2.利用TextField.htmlText +="聊天内容",这样的代码,先输出内容,其中内容中包含表情符号,如:/:01、/:02、.../:99; 3.再添加表情: 利用checkFaces(TextField)方法,参数为上面的TextField对象。 4.new faceMC()中的faceMC是一个

Zzz的专栏 182

从ActionScript 2.0迁移到ActionScript 3.0: 主要概念和更改-使用影片剪辑

  本文概述了一些主要概念, 它们可以帮助您将应用程序迁移到 ActionScript 3.0。当我最初开始构建 ActionScript 3.0 应用程序时, 最难习惯的是对我使用多年的简单命令的更改。attachMovie方法到哪里去了? MovieClip 类的内容移到哪里去了? 这种感觉就像大赛前我必须重新学习走路一样。  在过去的两年中, 我全职从事 ActionSc

Demo 3077

flash菜鸟学习:载入库中的影片剪辑

本例为Flash AS3.0菜鸟学飞系列教程,在本Flash AS3.0教程中我们将通过学习一个老鹰飞动实例讲解如何载入库中的影片剪辑将制作成动画效果,希望能给朋友们带来帮助~~ 学习AS3.0菜鸟起飞之—载入库中的影片剪辑   在Flash创作环境中,可以从库中拖拽影片剪辑到舞台上,使它们出现在SWF文件中。当使用ActionScript来添加影片剪辑时,实际上也是将影片添加一个实例到...

hgfghe3 609

flash as3制作加载进度条

AS1中制作加载条步骤如下: 1.打开Flash MX 2004,选择矩形工具,在主场景中画出下一个只有边框有矩形,本例该矩形大小为350*16像素。 2.再在主场景中仍用矩形工具画出一个只有填充而无边框的矩形,并按F8键将其转换为影片剪辑(注:其注册点一定要选在该矩形的最左侧),其实例名为bar 。本例该矩形大小为345*11像素。 3.将上述两矩形在主场景中排列好,使边框矩...

anik69987的博客 237

Flash AS 2种方式的进度条

<br />饿,这个是用AS2.0写的,看了3.0的新特性,馋得人流口水^-^<br />但考虑CX时代久远,是用2..0,所以只好用2.0啦。。。<br /> <br />先说下flash调用次序<br />主体flash -------> 进入后调用 -------> 内容flash<br /> <br />所以需要在主体flash,内容flash中都使用进度条^-^<br /> <br />事前准备:<br />一个进度条影片剪辑loading(进度条的原理就是通过计算当前加载百分比数,控制loadi

66 3170

as函数表

1、加载图片loadMovie(url,target,method)2、MovieClip.createEmptyMovieClip 用法 myMovieClip.createEmptyMovieClip (instanceName, depth)参数 instanceName标识新影片剪辑的实例名的字符串。 depth指定新影片剪辑的深度的整数。 返回

自由程序员(网络偏执狂)- epzk 1012

as3.0中通过ApplicationDomain类获得被加载swf

as3.0中通过ApplicationDomain类获得被加载swf(转载) 首先先回顾一下FLASH的OO构成。对于FLASH,我们可以把任何的可视化元件都看成某个类文件的具体实例,包括swf文件。我们可以把swf文件看成一个类的具体实例,而它里面拥有个个其他类的实例对象,例如:我们新建一个loaded.fla文件,然后我们建立一个影片剪辑元件,你可以在它的内部做一些动画处理,打开库...

152
上一篇: 北大四学生入围英国电影学院游戏设计大奖
下一篇: 网络爬虫(spider)程序的编程实现
wx红杉树
博客等级 码龄21年 383粉丝 296原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值