`

flash简单游戏的代码加解释

    博客分类:
  • flex
阅读更多

Sound对象方法摘要 方法 描述
attachSound
附加参数中指定的声音.

getPan
返回前一次setPan设置的值.

getTransform
返回前一次setTransform设置的值.

getVolume
返回前一次setVolume设置的值.

setPan
设置声音的左/右平衡.

setTransform
设置声音转换.

setVolume
设置声音大小.

start
从起始处, 或从参数中指定的偏移点处开始播放声音.

stop
停止所有声音或当前指定的声音.







Sound对象构造器

语法

new Sound();
new Sound(target);
参数

target 声音对象应用到的电影夹实例. 此参数可选.

描述

方法; 为指定电影夹创建新的声音对象. 如果没有指定 target, 声音对象控制主时间线上的所有声音.

播放器

Flash 5 或更高.

例子

GlobalSound = new Sound();
MovieSound = new Sound(mymovie);

Sound.attachSound

语法

mySound.attachSound("idName");
参数

idName 新声音实例的名称. 它和在Symbol Linkage Properties对话框中输入的用于标识的名称是一样的. 此参数必须包含在 " " (引号)中.

描述

方法; 使参数idName指定的声音附加到指定的声音对象. 此声音必须在当前电影的库中, 并在Symbol Linkage Properties对话框中指定输出. 要开始播放声音必须调用Sound.start.

Sound.getPan

语法

mySound.getPan();
参数

无.

描述

方法; 返回上一次setPan设置调用的面板水平, 一个从-100 到 100的整数. 面板设置控制电影声音当前和以后的左-右平衡.

此方法是setVolume 和setTransform 方法的累加.

Sound.getTransform

语法

mySound.getTransform();
参数

无.

描述

方法; 返回上一次setTransform调用设置的指定声音对象的声音转换信息.

Sound.getVolume

语法

mySound.getVolume();
参数

无.

描述

方法; 返回音量大小, 一个从0到100的整数, 0 是关闭, 100 是最大音量. 默认设置是100.

Sound.setPan

语法

mySound.setPan(pan);
参数

pan 定义声音左-右平衡的整数. 有效值范围是 -100 到 100, -100 为只使用左声道, 100 只使用右声道, 0 是在两声道间平衡分布声音.

描述

方法; 决定声音在左右声道(音箱)如何播放. 对单声道声音, pan 将影响播放声音的声道.

此方法是 setVolume 和 setTransform 方法的累加, 可调用此方法删除或更新先前 setPan 和 setTransform 的设置.
例子

下面的例子使用setVolume 和 setPan 控制目标"u2"指定的声音对象:

onClipEvent(mouseDown) {
// create a sound object and
s = new Sound(this);
// attach a sound in the library
s.attachSound("u2");
//set volume at 50%
s.setVolume(50);
//turn off the sound in the right channel
s.setPan(-100);
//start 30 seconds into the sound and play it 5 times
s.start(30, 5);
Sound.setTransform

语法

mySound.setTransform(soundTransformObject);
参数

soundTransformObject 用普通Object对象构造器创建的对象.

描述

方法; 为声音对象设置声音转换信息. 此方法是 setVolume 和 setPan 方法的累加, 可调用此方法删除或更新先前所有的setPan 或setVolume的设置. 此调用用于专业用户为声音添加趣味效果.

声音会占用大量的内存和磁盘空间. 因为立体声使用两倍于单声道声音的数据, 所以通常最好使用22-Khz 6-bit 单声道声音. 可以使用setTransform 方法播放单声道声音, 播放双声道立体声, 和为声音添加趣味效果.

soundTransformObject 参数是一个可使用普通Object对象的构造器方法创建的对象, 它带有指定声音如何在左右声道分布的参数.

soundTransformObject 的参数如下:

11 左扬声器演奏的左声道输入信号的百分比值(-100 to 100).

1r 左扬声器演奏的右声道输入信号的百分比值(-100 to 100).

rr 右扬声器演奏的右声道输入信号的百分比值 (-100 to 100).

rl 右扬声器演奏的左声道输入信号的百分比值(-100 to 100).

参数的净值由下面的公式计算:

leftOutput = left input * ll + right input * lr

rightOutput = right lnput * rr + left input * rl

左或右声道输入值由电影中声音的类型(立体声或单声道)决定.

立体声在声音输入在左右扬声器间均匀分开, 转换的默认设置如下:

ll = 100
lr = 0
rr = 100
rl = 0
单声道声音在左扬声器播放所有声音, 转换的默认设置如下:

ll = 100
lr = 100
rr = 0
rl = 0
例子

下面的例子创建了一个声音转换对象, 在左声道播放左右两声道的声音:

mySoundTransformObject = new Object
mySoundTransformObject.ll = 100
mySoundTransformObject.lr = 100
mySoundTransformObject.rr = 0
mySoundTransformObject.rl = 0
为了应用此声音转换对象到一个Sound对象, 需要如下使用setTransform传送此对象到 Sound 对象:

mySound.setTransform(mySoundTransformObject);

下面是设置的例子, 可以使用setTransform设置, 但不能使用 setVolume 或 setPan, 即使是两者的组合.

下面的代码通过左声道播放左右两声道的声音:

mySound.setTransform(soundTransformObjectLeft);
在上面的代码中, soundTransformObjectLeft 有如下参数:

11 = 100
1r = 100
rr = 0
rl = 0
下面的代码播放立体声为单声道声音:

setTransform(soundTransformObjectMono);
在上面的代码中, soundTransformObjectMono 有如下参数:

ll = 50
lr = 50
rr = 50
rl = 50
下面的代码把左声道声音的一半在左声道播放, 把剩下的一半添加到右声道:

setTransform(soundTransformObjectHalf);
上面的代码中, soundTransformObjectHalf 有如下参数:

11 = 50
lr = 0
rr = 100
rl = 50
Sound.setVolume

语法

mySound.setVolume(volume);
参数

volume 从 0 到 100 的表现音量大小的数值. 100 是全部音量, 0 是没有声音. 默认设置为 100.

描述

方法; 设置声音对象的音量.

此方法是 setPan 和 setTransform 方法的累加.

播放器

Flash 5 或更高.

例子

下面的例子设置音量为 50% 并随着时间推移把声音从左扬声器转送到右扬声器:

onClipEvent (load) {
i = -100;
s = new sound();
s.setVolume(50);
}
onClipEvent (enterFrame) {
S.setPan(i++);
}
Sound.start

语法

mySound.start();
mySound.start([secondOffset, loop]);
secondOffset 可选项, 允许在某特定位置开始声音的播放. 例如, 如果有一段30秒的声音, 想要从中间开始播放, 可指定参数secondOffset为15. 前15秒不会出现声音, 会在15秒处开始播放.

loop 可选项, 指定声音循环的次数.

描述

方法; 如果没有指定参数, 即从开始点播放最后附加的声音, 或由参数 secondOffset 指定的声音点开始播放.

Sound.stop

语法

mySound.stop();
mySound.stop(["idName"]);
参数

idName 可选项, 使指定声音停止播放. The idName 参数必须带引号(" ").

描述

方法; 如果没有指定参数, 即停止所有当前播放的声音, 或只停止播放参数idName指定的声音.




FLASH中场景及各帧之间的转换有以下几个代码:
1.play() 播放当前动画.
2.stop() 暂停播放动画.
3gotoAndPlay([scene,] frame) 该动作意思为从某个帧开始播放动画,参数"scene"是设置开始播放帧所在场景,该参数可以省略,省略后则从当前场景播放指定帧,参数"frame"是指定播放的帧.例如想从当前场景第3帧开始播放,则动作为:gotoAndPlay(3);
4.gotoAndStop[scene,] frame) 该动作意思为将播放头跳于某帧上并且停在该帧上.其具体参数与上一动作相同.
5.nextFrame() 该动作功能为播放下一帧,并停在下一帧.没有参数.
6.revFrame() 该动作功能为播放前一帧,并停在前一帧.也没有参数.
7nextScene() 动画进入下一场景.没有参数.
8.revScene() 动画进入前一场景.没有参数.
以上便是FLASH中用于控制场景及帧之间转换的几个动作.下面回答你按钮问题:
在影片中按钮的作用是为了让影片观看者能与影片发生互动,但是如果仅仅放一个按纽在影片中是什么作用也没有的,原因是按纽中什么动作也没有.当按纽被按下之后按纽本身不知道该做什么,这就是为什么要在按纽中添加动作的原因.
按纽的动作在FLASH中是很多很多的,我这里不能穷举出来.比如上面告诉你的6个动作就可以做为按纽中的动作,用来控制影片的播放.按纽中的具体动作是作者本人写的,作者希望该按纽的功能如何,然后自己组织脚本将其写入按纽中,例如我想通过一个按钮来播放当前的动画,那么我就要在按钮中加如以下的代码:
on(press){
play();
}
代码中play()是具体动作,动作可替换为其他的,因功能不同而不同.另一个值得注意的东西是按钮事件处理函数就是以上代码中的"on(press)"地方,该函数是用来判断什么时候触发动作的,共有以下几种:
on(press){} 当鼠标按下时触发
on(release){} 当鼠标在剪辑上释放时触发
on(releaseOutside){} 当用户在剪辑上点击鼠标,后将鼠标拖出剪辑,然后释放时触发
on(dragOut){} 当用户在剪辑上点击鼠标,然后将鼠标拖出剪辑时触发
on(dragOver){} 当用户在剪辑上点击鼠标,将鼠标移出剪辑,然后再将鼠标移回剪辑区域时触发
on(rollOver){}未点击鼠标的情况下,鼠标滑过剪辑时触发
on(rollOut){} 未点击鼠标情况下,鼠标滑过剪辑并移出剪辑时触发
由以上来看上面我给的那个动作,意思就为,当我在该按钮上点击鼠标时,播放动画.
以上是按钮中鼠标事件处理函数,另外还有键盘处理的函数……但是……怕写不下了-_-i
如要制作一个简单的按钮我认为以上这些东西已经足够了.但是自FLASH MX2004后FLASH中又引入了另一种按钮,就是用影片剪辑来做的按钮,这种按钮做起来相对要复杂好多,但是做出的按钮也要漂亮很多,这是题外话,这里就不说了……

分享到:
评论

相关推荐

    flash3.0游戏代码

    《Flash 3.0游戏代码解析:探索射击游戏的魅力与技术细节》 在数字娱乐领域,Flash游戏曾风靡一时,尤其是对于3.0版本,它以其强大的动画和交互功能,为开发者提供了丰富的创意空间。本篇文章将深入探讨一款基于...

    flash格斗游戏源代码

    源代码可能会包含简单的物理计算,如速度、加速度和碰撞检测的实现。 5. **音效和音乐管理**:Flash提供了强大的音频处理能力,源代码中会有如何加载、播放和控制音效的示例。 6. **游戏逻辑**:战斗系统、得分...

    收集的几个Flash小游戏源代码

    6. **优化与性能**:尽管Flash小游戏相对简单,但性能优化仍然是必要的。开发者可能通过减少不必要的计算、使用位运算优化碰撞检测,或者利用缓存机制提高渲染速度。 7. **发布与打包**:完成游戏开发后,源代码...

    Flash 简单游戏框架飞行射击游戏

    《Flash简单游戏框架:飞行射击游戏解析》 在IT领域,尤其是游戏开发中,了解基本的游戏框架至关重要。这里我们以“Flash简单游戏框架飞行射击游戏”为例,深入探讨其背后的技术实现,帮助开发者掌握游戏处理流程、...

    FLASH代码 FLASH简单代码 初学者

    标题与描述中的关键词“FLASH代码”、“初学者”指向了Adobe Flash软件的编程基础,这是一种广泛应用于动画制作、游戏开发及交互式应用设计的工具。Flash的编程语言为ActionScript,初学者通常需要掌握基本的代码...

    flash打地鼠游戏源代码

    Flash打地鼠游戏是一款深受玩家喜爱的经典小游戏,它基于Adobe Flash技术开发,具有操作简单、玩法趣味性强的特点。本文将围绕"flash打地鼠游戏源代码"这一主题,深入探讨游戏的核心机制、编程原理以及源代码结构,...

    Flash的消除游戏Demo

    在这个Demo中,开发者使用FlashBuilder来编写和编译ActionScript代码,这是一种基于ECMAScript的脚本语言,用于控制Flash中的动画和交互。 核心知识点一:ActionScript 3.0 ActionScript 3.0是Flash平台的主要编程...

    flash字母游戏源代码

    ### flash字母游戏源代码知识点解析 #### 一、概述 本篇内容主要解析一个Flash字母游戏的源代码,该游戏旨在帮助用户通过键盘控制的方式加强对字母的熟悉度。通过该程序,用户可以练习字母识别和反应速度,从而提高...

    FLASH简单的拼图游戏源码

    《FLASH简单的拼图游戏源码解析》 在IT领域,尤其是游戏开发中,源码是开发者探索技术原理、学习编程技巧的重要参考资料。本篇文章将详细解读"FLASH简单的拼图游戏源码",帮助读者理解其背后的编程逻辑和技术要点。...

    flash小游戏代码.

    总之,“Flash小游戏代码”涉及的是使用ActionScript编程语言在Adobe Flash环境中创建的简单互动游戏。虽然这种技术现在可能不如以前流行,但它仍然是学习游戏开发和交互式内容制作的一个有价值的历史参考。

    flash游戏制作常用代码解析

    本文将深入探讨“Flash游戏制作常用代码解析”这一主题,旨在帮助初学者和开发者理解如何利用ActionScript来开发引人入胜的Flash游戏。 一、ActionScript基础 ActionScript是基于ECMAScript的脚本语言,用于控制...

    flash小游戏源代码

    本篇文章将围绕“Flash小游戏源代码”这一主题,深入探讨AS3.0在构建小游戏中的应用。 首先,AS3.0是ActionScript的重大升级,它的语法更加严谨,性能显著提升,支持面向对象编程,使得代码更易于维护和扩展。在...

    flash cs3源代码

    一些源代码可能涉及简单的游戏开发,如碰撞检测、计分系统等。通过学习这些游戏逻辑,开发者可以掌握如何在Flash中构建互动游戏,提高娱乐性。 七、优化与性能 源代码还可能包含优化技巧,如减少内存占用、提高...

    flash 迷宫游戏源代码

    《深入解析Flash迷宫游戏源代码》 在数字娱乐领域,Flash作为一种强大的动画和交互式内容创作工具,曾经广泛应用于各种在线游戏开发。本篇文章将深入探讨“Flash迷宫游戏”这一主题,揭示其背后的编程原理和技术...

    Flash小游戏站源码(快乐小游戏).7z

    Flash小游戏站源码(快乐小游戏) 本程序优点: 1.程序非常小,非常简单 2.无数据库,程序设定2天自动增加新游戏,无需手动更新 3.无需复杂安装,只需要简单的传入Php空间即可。 4.采用代码分离,修改模板非常简单...

    flash游戏超级玛丽的源代码

    本资源提供的是基于Flash技术实现的《超级玛丽》游戏的源代码,对于学习Flash编程、游戏开发以及了解经典游戏背后的逻辑具有极高的参考价值。 首先,我们要知道Flash是一种用于创建交互式矢量图形、动画、游戏、...

    flash开发的赛车小游戏,经典的flash小游戏

    在Flash游戏开发中,程序员通常会使用Flash Professional IDE或Flash Builder等工具来编写ActionScript代码。 4. **actionscript**:ActionScript是Adobe Flash的核心,它是一种面向对象的编程语言,与JavaScript...

    简单Flash游戏人物控制源码

    在IT行业中,游戏开发是一项复杂而有趣的任务,尤其在Flash技术流行的时代,许多小型和简单的游戏都是基于Flash制作的。本篇文章将详细讲解基于Flash的游戏人物控制源码,以及其中涉及的关键知识点。 首先,"简单...

    Flash拼图游戏源代码

    在众多的Flash应用中,拼图游戏是一种简单而有趣的项目,它能吸引各年龄段的用户参与。本篇文章将围绕“Flash拼图游戏源代码”这一主题,深入探讨其背后的编程思想和技术实现。 首先,我们要理解拼图游戏的基本原理...

    flash连连看源代码.zip

    Flash是一款强大的多媒体创作工具,以其简单易学、跨平台兼容性好等特点,曾广泛用于网页游戏开发。在本例中,我们看到的“flash连连看”是基于Flash ActionScript语言编写的。ActionScript是面向对象的编程语言,它...

Global site tag (gtag.js) - Google Analytics