文档详情

flash网络音乐播放器

沈***
实名认证
店铺
DOC
551KB
约9页
文档ID:155523449
flash网络音乐播放器_第1页
1/9

音频播放 知识点归纳总结回放控制:SoundChannel1.position 属性2.SoundChannel相当于一个容器,可多次存入声音而Sound却不能重复载入但是,声音会叠加播放所以再存入新的之前,要把原来的声音先停止3.播放Sound.play()方法可以返回一个SoundChannel对象把Sound.play()返回的对象,放入SoundChannel类变量里是有必要的,是为了能通过对可控变量对声音进行控制4.暂停当SoundChannel对象调用Stop() 方法时,它的position值(该声音中播放头的当前位置)就是指向当前播放所停止的位置,不会归零5.循环对于SoundChannel 对象,播放一次完,就自动停止了所以要借助侦听 这个对象所特有的事件soundComplete 在书写时可以如下两种方法①dd.addEventListener(Event.SOUND_COMPLETE,func)②dd.addEventListener(“soundComplete”,func)6. leftPeak : Number [read-only] 左声道的当前幅度(音量),范围从 0(静音)至 1(最大幅度)。

rightPeak : Number [read-only] 右声道的当前幅度(音量),范围从 0(静音)至 1(最大幅度)以上两个属性,都是只读的,所以不能通过他们来变换音量当前幅度”,这个或许可以用来制作波形因为它输出的时歌曲在当前某声道音量幅度的高低,歌曲进入安静阶段时返回的数值是0,进入高亢时返回的数值就比较高,跟音量大小没关系音效控制:SoundTransform通过SoundTransform对象完成主要利用它以下几个属性①.pan:Number(范围是 -1…1,0时,左右声道音量均最大且相等关系如图 ②.volume:Number(范围0-1)③.leftToRight,rightToLeft,leftToLeft,rightToRight(范围0-1)使用的方法要注意,是先申请一个SoundTransform()类的变量对象通过改变这个变量的以上属性再覆盖回(赋值),SoundChannel的soundTransform属性对SoundChannel的soundTransform属性直接修改的做法是无效的Var d:SoundTransform=new SoundTransform();Var dd:SoundChannel=Sound1.play();d.pan=0.5;dd.soundTransform=d;关于鼠标的事件和属性1.常见的几个事件2.上述几个鼠标事件几乎都有的属性除了currentTarget是对事件承载者(如下代码中,就是a,就是使用侦听器的人)的调用。

其余的属性可以说都是在鼠标事件发生时所产生的属性,以供调用例:让在使用事件侦听器的 对象发生变化 例:让某原件的坐标 变换到鼠标单击处 3.mouseX mouseY 当前鼠标的坐标从被批注的代码看,是顺序执行的如果添加进了ENTER_FRAME事件的侦听,那歌曲就播放两次两个动态文本在屏幕上沿给定的XY轴 跟随鼠标做单坐标跟随移动注意一点:用代码创建的显示对象,一定要addChild(),否则不会被显示如果只写,var menu:Array则会提示TypeError: Error #1009: 无法访问空对象引用的属性或方法 at _fla::MainTimeline/_fla::frame1() 说明二者还是有区别的音乐播放器制作过程遇到的问题这个是对一个sound类进行载入的结果因为这段模拟单击的代码是被“ENTER_FRAME”不断侦听的,所以每侦听一次完就要添加一个ifChange=false 改变回去一面重复加载////////////////////////////////////////////////////////////////////////////////////////////////说明,数组关键看所存储的元素是什么类型的,可以用点语法直接进行调用的。

也可以直接代表URLRequest///////////////////////////////////////////////////////////////////////////////////////////////////////我在舞台放置了5个影片剪辑实例,第一帧脚本:var i:int=0var len:int=this.numChildrenfor(i;i

/////////////////////////////////////////////////////////////////////////////////////////////////////////调用方式改变后,为什么变成这样?/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////While(i--) 对于整体,i-- 取的是i的值执行完之后i=i-1setChildIndex的使用setChildIndex (容器内对象object,深度值)setChildIndex常用有以下几种:置顶:容器.setChildIndex(对象A,容器.numChildren);置底:容器.setChildIndex(对象A,0);插入对象B的前面:容器.setChildIndex(对象A,容器.getChildIndex(对象B));插入对象B的后面:容器.setChildIndex(对象A,容器.getChildIndex(对象B)-1);关于深度的管理可以再去多学习一些。

///////////////////////////////////////////////////////////////////////////////////////////////////数组如何 依据自身所包含的内容(例如就是存放一组数字的),进行排序怎么表示自身内容? 而非通过调用数组内元素的共有属性////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////menu.addEventListener(Event.ENTER_FRAME,moveMenu)//单击完图标,开始运行moveMenuinitAngle(true)//调用initAngle函数对于上述情况,是不是等对moveMenu调用完毕了才会继续执行 initAngle?如果moveMenu是个无限调用呢?///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////NUMERIC是为升序排列的。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3D菜单制作过程中的几点问题1.对于一些变量,一定要注意初值的给定,因为有的变量是没给定初值的例如Number不给定初值,误认为是0,而直接被调用就会出错2.思考一个问题,为什么给定三十的时候速度会加快那么多 if (Math.abs(speed-Angle)<1) { menu.removeEventListener(Event.ENTER_FRAME ,moveMenu); initAngle(false); } 因为少了后面减速阶段,所以视觉效果上会感觉比较快3.利用数组的方法进行排序的问题哪几个常用的方法,以及他们的使用方法4.关于以下两段程序中的问题for (var i:int; i

电脑会将该名字给 深度最大的一个也就是表面上是允许实例名称重复名字的而上述就是在重复创建显示实例到一个容器中变量的重名是针对在同一作用域内不可以重名当往一个数组中存放名字重复的变量也是可以的for (var j:int; j

放置在moveMenu中和放置在 startRatation 产生的不一样的效果是为什么想想逻辑关系..5.关于深度管理的一些问题Index索引,child子级)重点在于:1.一些函数的记忆和使用此次实例用到的,父级.setChildIndex(子级对象,深度)下一层子级,电脑只认为下一层的才算子级舞台下的唯一子级是时间轴其他元件在放在舞台中的时候,实际上是时间轴下的子级getChildIndex返回深度值父级.getChildIndex(子级实例名称)getChildAt 通过深度来调用显示实例removeChildAt() 通过深度值来移除显示实例this.numChildren 返回所含显示实例的个数不仅包含肉眼看到的,例如内容为空的sprite也算swapChilAt()通过当前深度值索引进行深度交换swapChildren()通过实例引用进行深度交换addChildAt()在指定的深度位置添加显示实例2.对深度管理规则的了解深度越深,意味着越靠前,在上方深度可以理解成显示实例的显示层次,深度越大,显示实例的显示层次就越高程序创建的显示实例的深度比较大深度肯定从0开始,然后递增。

1如果想指定某个实例为最高深度 this.addChildAt(mc,this.numChildren)2如果想指定某个实例为最底层 this.addChildAt(mc,0)当一个新的显示实例占据现有的某个显示实例的深度位置时,会把包括被占据位置的实例及其深度之上的实例 的深度值整体向后整同理,如果某个被移除,其余的会自动整上来3.深度映射。

下载提示
相关文档
正为您匹配相似的精品文档