.
引用 flash快捷键 2009-12-27 16:57:07| 分类: 我爱动画~ | 标签: |字号大中小 订阅 .
引用
Naye 的 flash快捷键
工具
箭头工具【V】部分选取工具【A】线条工具【N】
套索工具【L】钢笔工具【P】文本工具【T】
椭圆工具【O】矩形工具【R】铅笔工具【Y】
画笔工具【B】任意变形工具【Q】填充变形工具【F】
墨水瓶工具【S】颜料桶工具【K】滴管工具【I】
橡皮擦工具【E】手形工具【H】缩放工具【Z】,【M】
菜单命令
新建FLASH文件【Ctrl】+【N】
打开FLA文件【Ctrl】+【O】
作为库打开【Ctrl】+【Shift】+【O】
关闭【Ctrl】+【W】
保存【Ctrl】+【S】
另存为【Ctrl】+【Shift】+【S】
导入【Ctrl】+【R】
导出影片【Ctrl】+【Shift】+【Alt】+【S】
发布设置【Ctrl】+【Shift】+【F12】
发布预览【Ctrl】+【F12】
发布【Shift】+【F12】
打印【Ctrl】+【P】
退出FLASH【Ctrl】+【Q】
撤消命令【Ctrl】+【Z】
剪切到剪贴板【Ctrl】+【X】
拷贝到剪贴板【Ctrl】+【C】
粘贴剪贴板内容【Ctrl】+【V】
粘贴到当前位置【Ctrl】+【Shift】+【V】
清除【退格】
复制所选内容【Ctrl】+【D】
全部选取【Ctrl】+【A】
取消全选【Ctrl】+【Shift】+【A】
剪切帧【Ctrl】+【Alt】+【X】
拷贝帧【Ctrl】+【Alt】+【C】
粘贴帧【Ctrl】+【Alt】+【V】
清除贴【Alt】+【退格】
选择所有帧【Ctrl】+【Alt】+【A】
编辑元件【Ctrl】+【E】
首选参数【Ctrl】+【U】
转到第一个【HOME】
转到前一个【PGUP】
转到下一个【PGDN】
转到最后一个【END】
放大视图【Ctrl】+【+】
缩小视图【Ctrl】+【-】
100%显示【Ctrl】+【1】
缩放到帧大小【Ctrl】+【2】
全部显示【Ctrl】+【3】
按轮廓显示【Ctrl】+【Shift】+【Alt】+【O】
高速显示【Ctrl】+【Shift】+【Alt】+【F】
消除锯齿显示【Ctrl】+【Shift】+【Alt】+【A】
消除文字锯齿【Ctrl】+【Shift】+【Alt】+【T】
显示\\隐藏时间轴【Ctrl】+【Alt】+【T】
显示\\隐藏工作区以外部分【Ctrl】+【Shift】+【W】
显示\\隐藏标尺【Ctrl】+【Shift】+【Alt】+【R】
显示\\隐藏网格【Ctrl】+【’】
对齐网格【Ctrl】+【Shift】+【’】
编辑网络【Ctrl】+【Alt】+【G】
显示\\隐藏辅助线【Ctrl】+【;】
锁定辅助线【Ctrl】+【Alt】+【;】
对齐辅助线【Ctrl】+【Shift】+【;】
编辑辅助线【Ctrl】+【Shift】+【Alt】+【G】
对齐对象【Ctrl】+【Shift】+【/】
显示形状提示【Ctrl】+【Alt】+【H】
显示\\隐藏边缘【Ctrl】+【H】
显示\\隐藏面板【F4】
转换为元件【F8】
新建元件【Ctrl】+【F8】
新建空白
贴【F5】
新建关键贴【F6】
删除贴【Shift】+【F5】
删除关键帧【Shift】+【F6】
显示\\隐藏场景工具栏【Shift】+【F2】
修改文档属性【Ctrl】+【J】
优化【Ctrl】+【Shift】+【Alt】+【C】
添加形状提示【Ctrl】+【Shift】+【H】
缩放与旋转【Ctrl】+【Alt】+【S】
顺时针旋转90度【Ctrl】+【Shift】+【9】
逆时针旋转90度【Ctrl】+【Shift】+【7】
取消变形【Ctrl】+【Shift】+【Z】
移至顶层【Ctrl】+【Shift】+【↑】
上移一层【Ctrl】+【↑】
下移一层【Ctrl】+【↓】
移至底层【Ctrl】+【Shift】+【↓】
锁定【Ctrl】+【Alt】+【L】
解除全部锁定【Ctrl】+【Shift】+【Alt】+【L】
左对齐【Ctrl】+【Alt】+【1】
水平居中【Ctrl】+【Alt】+【2】
右对齐【Ctrl】+【Alt】+【3】
顶对齐【Ctrl】+【Alt】+【4】
垂直居中【Ctrl】+【Alt】+【5】
底对齐【Ctrl】+【Alt】+【6】
按宽度均匀分布【Ctrl】+【Alt】+【7】
按高度均匀分布【Ctrl】+【Alt】+【9】
设为相同宽度【Ctrl】+【Shift】+【Alt】+【7】
设为相同高度【Ctrl】+【Shift】+【Alt】+【9】
相对舞台分布【Ctrl】+【Alt】+【8】
转换为关键帧【F6】
转换为空白关键帧【F7】
组合【Ctrl】+【G】
取消组合【Ctrl】+【Shift】+【G】
打散分离对象【Ctrl】+【B】
分散到图层【Ctrl】+【Shift】+【D】
字体样式设置为正常【Ctrl】+【Shift】+【P】
字体样式设置为粗体【Ctrl】+【Shift】+【B】
字体样式设置为斜体【Ctrl】+【Shift】+【I】
文本左对齐【Ctrl】+【Shift】+【L】
文本居中对齐【Ctrl】+【Shift】+【C】
文本右对齐【Ctrl】+【Shift】+【R】
文本两端对齐【Ctrl】+【Shift】+【J】
增加文本间距【Ctrl】+【Alt】+【→】
减小文本间距【Ctrl】+【Alt】+【←】
重置文本间距【Ctrl】+【Alt】+【↑】
播放\\停止动画【回车】
后退【Ctrl】+【Alt】+【R】
单步向前【>】单步向后【<】
测试影片【Ctrl】+【回车】
调试影片【Ctrl】+【Shift】+【回车】
测试场景【Ctrl】+【Alt】+【回车】
启用简单按钮【Ctrl】+【Alt】+【B】
新建窗口【Ctrl】+【Alt】+【N】
显示\\隐藏工具面板【Ctrl】+【F2】
显示\\隐藏时间轴【Ctrl】+【Alt】+【T】
显示\\隐藏属性面板【Ctrl】+【F3】
显示\\隐藏解答面板【Ctrl】+【F1】
显示\\隐藏对齐面板【Ctrl】+【K】
显示\\隐藏混色器面板【Shift】+【F9】
显示\\隐藏颜色样本面板【Ctrl】+【F9】
显示\\隐藏信息面板【Ctrl】+【I】
显示\\隐藏场景面板【Shift】+【F2】
显示\\隐藏变形面板【Ctrl】+【T】
显示\\隐藏动作面板【F9】
显示\\隐藏调试器面板
【Shift】+【F4】
显示\\隐藏影版浏览器【Alt】+【F3】
显示\\隐藏脚本参考【Shift】+【F1】
显示\\隐藏输出面板【F2】
显示\\隐藏辅助功能面板【Alt】+【F2】
显示\\隐藏组件面板【Ctrl】+【F7】
显示\\隐藏组件参数面板【Alt】+【F7】
显示\\隐藏库面板【F11】
Naye 的 FLASH脚本教程
1.你先学会加动作的三种方式:在帧上加,在mc上加,在按钮上加.用play stop goto这三
个命令反复练习.不要用太多的命令给自己吃迷晕药.用实例练,不要空练.
2.会了我说的1后,要学给按钮加动作的8种方法和给mc加的9种方法.
3,会了我说的2了,就要学个编程最基础最重要的东西----路径的描述(能看懂就能用)
1> _root.mc1.mc2. ... mcn.play()[或stop(), _x, .......]
2>_parnet
3>this
4>mc1.mc2. ...
5>_leveln.mc1.mc2. ... mcn.play()[或stop(), _x, .......]
练习这样个实例对你也许有帮助, 把一首你喜欢听的歌随意放在某个mc中,随
意地在某个mc或按钮上加动作去控制它,想让它停就停,想让它放就放.
4。遇到问题,自己想办法解决,不要老是依*别人,在自己做过之后还是不行的话可就要发问拉,当然问的方法要好多种,这里就不说拉!
5.要自强自信,不要迷信洋人的东东,活学活用重在理
6.了解代码执行的先后顺序:
图层默认的是从下向上执行
level是从下向上执行
帧是随实际播放顺序执行
代码本身从上向下一行一行地执行
7.了解两种坐标系统:
场景下的坐标,o点在左上角,y轴向下是增大 x向右是增大
组件的坐标,o点在组件中心,y轴向下是增大 x向右是增大
8.了解三种文本域
静态文体域:和排版软件的文字工具一样.
动态文本域和输入文本域:其实就把它们看是两种变量,只不过是可见的变量,
9.详细了解GOTO语句
prevFrame()
跳至并停止在前一祯。
nextFrame()
跳至并停止在下一祯。
prevScene()
跳至并停止在前一场景的第1帧。
nextScene()
跳至并停止在下一场景的第1帧。
gotoAndPlay([scene,] frame)
跳至scene场景(省略表示当前场景)的frame帧并播放。
gotoAndStop([scene,] frame)
跳至scene场景(省略表示当前场景)的frame帧并停止。
10,了解MC的各种可改写的属性
_x 中心点所在相对X坐标(象素单位)
_y 中心点所在相对Y坐标(象素单位)
_xscale 横向缩放比例,初始为100
_yscale 纵向缩放比例,初始为100
_rotation 相对旋转角度(度单位)
_width 相对显示宽度(象素单位)
_height 相对显示高度(象素单位)
_alpha 显示透明度(0~100)
_visible 是否可见
_focusrect 是否显示焦点框
_name 实例名称
11,三大纪律:1>写代码时一定要用英文(如EN CH)输入法
2>必须要有唯物主义思想,没有加载的MC是不可以更改
它的属
性,更不可以写代码去控制它。这个问题较难掌握,高手有时也会
犯,道理就是先有吃的才能请客吃,啥也没有请客吃什么呢
3>操作什么一定要选什么(实际上哪个软件也要这样)。在MX中加代
码时如不选,就一定要写明名称,实际上也是一种先择。
12,八项注意:1>按钮不能盖着输入文本,动态文本和输入文本域不能盖着按钮
2>用loadMoie时LEVEL1及以上的文件尽量少用大隐型按钮
3>从一个文件中复制MC实例到别一个文件中时,尽量复制帧,而不能直接
复制实例,
4>从一个文件中复制MC实例到别一个文件中时,要先把目标文件中的符
号库中原有的符号,装进资夹里,很多网友这个问题上上过当吧?
FLASH脚本教程:flashAS基础<二>
Actionscript的基本语法规则
使用Actionscript编写脚本时,如果使用正常模式的动作面板,通过菜单和列表选择选项,可以创建简单的动作。要想用Actionscript编写功能强大的脚本,你就必须深入了解和学习Flash MX的Actionscript脚本语言。
像其它脚本语言一样,Actionscript也有变量、函数、对象、操作符、保留关键字等语言元素,有它自己的语法规则。Actionscript允许用户创建自己的对象和函数。Actionscript的语法和风格与javascript非常相似,但不完全相同。Actionscript拥有自己的句法和标点符号使用规则,这些规则规定了一些字符和关键字的含义,以及它们的书写顺序。例如,在英语中用句号结束一个句子,而在Actionscript中则用分号结束一个语句。
下面列出的是Actionscript的一些基本语法规则,对于比较比较特别的规则,请参阅Actionscript词典。
1.点语法
在Actionscript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法。它也用标识指向电影剪辑或变量的目标路径。点语法表达式由对象或电影剪辑名开始,接着是一个点,最后是要指定的属性、方法或变量。例如,表达式ballMC.x是指电影剪辑实例ballMC的_X属性,_X电影剪辑属性指出编辑区中电影剪辑的X轴位置。
例如,submit是在电影剪辑form中设置的一个变量,而form又是嵌套在电影剪辑shoppingCart中的电影剪辑。表达式shoppingCart.form.submit=true的作用是设置实例form的submit变量的值为true。
表达一个对象或电影剪辑的方法遵循相同的模式。例如,ballMC实例的play方法用于移动ballMC的时间轴播放头,就像下面的语句:
ballMC.play();
点语法使用两个特殊的别名:_root和_parent。别名_root是指主时间轴。可以使用_root别名创建一个绝对路径。例如,下面的语句调用主时间轴中电影剪辑functions的buildGameBoard函数:
_root.functions.buildGameBoard();
Flash MX允许使用别名_p
arent来引用嵌套当前电影剪辑的电影剪辑。也可以用_parent创建一个相对目标路径。例如,如果电影剪辑dog被嵌套在电影剪辑animal之中,那么,在实例dog上的下列语句告诉animal电影剪辑停止播放:
_parent.stop();
FLASH脚本教程:flashAS基础<三>
2.斜杠语法
Flash的以前版本是使用斜杠语法指出电影剪辑或变量的目标路径的。Flash MX播放器仍然支持这种语法,但不推荐使用。在斜杠语法中,斜杠被用来代替点,用以标明电影剪辑或变量的路径。要指出一个变量,可以在变量前加上冒号,如下面的语句所示:
myMovieClip/childMovieClip:my variable
我们现在用点语法取代上述斜杠语法来表示上面的目标路径:
myMovieClip.childMovieClip.myvariable
斜杠语法在tellTarget动作中使用最为普遍,但这种动作在Flash MX中已不再推荐使用。
【说明】与其使用tellTarget动作还不如使用with动作与点语法兼容。
3.大括号
Actionscript语句用大括号({})分块,如下面的脚本所示:
on(release){
myDate = new Date();
currentMonth = myDate.getMonth();
}
4.分号
Actionscript语句用分号(;)结束,但如果你省略语句结尾的分号,Flash仍然可以成功地编译你的脚本。例如,下面的语句用分号结束:
colum = passedDate.getDay();
row = 0;
同样的语句也可以不写分号:
colum = passdDate.getDay()
row = 0
FLASH脚本教程:flashAS基础<四>
5.圆括号
定义一个函数时,要把参数放在圆括号中:
function myfunction (name, age, reader){
…
}
调用一个函数时,也要把要传递的参数放在圆括号中:
myfunction ("Steve",10,true);
圆括号可以用来改变Actionscript的运算优先级,或使自己编写的Actionscript语句更容易阅读。
也可以用圆括号来计算点语法点左边的表达式。例如,在下面的语句中,圆括号使表达式new color(this)得到计算,并创建了一个新的颜色对象:
onClipEvent(enterFrame){
(new Color(this)).setRGB(oxffffff);
}
在上例中,如果不使用圆括号,就需要在代码中增加一个语句来计算它:
onClipEvent(enterFrame){
myColor = new Color(this);
myColor.setRGB(0xffffff);
}
6.大小写字母
在Actionscript中,只有关键字区分大小写。对于其余的Actionscript,可以使用大写或小写字母。例如,下面的语句是等价的:
cat.hilite = true;
CAT.hilite = true;
但是,遵守一致的大小写约定是一个好的习惯。这样,在阅读Actionscript代码时更易于区分函数和变量的名字。如果在书写关键字时没有使用正确的大小写,你的脚本将会出现错误。例如下面的两个语句:
setProperty(ball,_xscale,scale);
setproperty(ball,_xscale,scale);
前一句是正确的,后一句中property中的p应是大写而没有
大写,所以是错误的。在动作面板中启用彩色语法功能时,用正确的大小写书写的关键字用蓝色区别显示,因而很容易发现关键字的拼写错误。
FLASH脚本教程:flashAS基础<五>
7.注释
需要记住一个动作的作用时,可在动作面板中使用comment(注释)语句给帧或按钮动作添加注释。如果你在协作环境中工作或给别人提供范例,添加注释有助于别人对你编写的脚本的正确理解。
在动作面板中选择comment动作时,字符“//”被插入到脚本中。如果在你创建脚本时加上注释,即使是较复杂的脚本也易于理解,例如:
on(release){
//建立新的日期对象
myDate = new Date();
currentMonth=myDate.getMonth();
//把用数字表示的月份转换为用文字表示的月份
monthName = calcMoth(currentMonth);
year = myDate.getFullYear();
currentDate = myDate.getDat();
}
在脚本窗口中,注释内容用粉红色显示。它们的长度不限,也不影响导出文件的大小。
8. 关键字
Actionscript保留一些单词,专用于与本语言之中。因此,不能用这些保留字作为变量、函数或标签的名字。下表列出了Actionscript中所有的关键字:
break continue delete else
for function if in
new return this typeof
var void while with
【注意】这些关键字都是小写形式,不能写成大写形式。
9.常量
常量有其值永不改变的属性。常数用大写字母列于动作工具箱中。例如,常数BACKSPACE、ENTER、QUOTE、RETURN、SPACE和TAB是Key对象的属性,指键盘上的键。要测试用户是否在按Enter键,可使用下面的语句:
if(keycode()= =key.ENTER){
alert = "你准备好了吗?"
controlMC.gotoAndStop(5);
}
Actionscript中的术语
Actionscript根据特定的语法规则使用特定的术语。以下按字母顺序介绍重要的Actionscript术语.
Actions(动作):是指导Flash电影在播放时执行某些操作的语句。例如,gotoAndStop动作就可以将播放头转换到指定的帧或帧标记。Action(动作)也可以被称作statement(语句)。
Arguments(参数):是允许将值传递给函数的占位符。例如,以下语句中的函数welcome就使用了两个参数firstName和hobby来接收值:
function welcome(firstName,hobby) {
welcomeText = "Heelo," + firstName + "I see you enjoy" + hobby;
}
Classed(类):是各种数据类型。用户可以创建“类”并定义对象的新类型。要定义对象的类,用户需创建构造器函数。
Constants(常量):是不会改变的元素。常量对于值的比较非常有用。
Constructors(构造器):是用来定义“类”的属性和方法的函数。以下代码通过创建Circle构造器函数生成了一个新的Circle类。
function Circle(x, y, radius) {
this.x = x;
this.y = y;
this.radius = radius;
}
Dat
FLASH脚本教程:flashAS基础<六>
TYPES(数据类型):是
可以执行的一组值和操作。ACTIONSCRIPT的数据类型包括:字符串、数值、逻辑值、对象和影片剪辑。
EVENTS(事件):是在电影播放过程中发生的动作。例如,当电影裁入时、当播放头到达某一帧时、当用户单击按钮或影片剪辑时、当用户按压键盘上的按钮时,都会产生不同的操作。
EXPRESSIONS(表达式):是可以产生值的语句。例如2+2就是一个表达式。
FUNCTIONS(函数):是可以重复使用和传递参数的代码段,可以返回一个值。例如,GETPROPERTY函数就可以使用影片剪辑的实例名称和属性名称,返回属性值。GETVERSION函数可以返回当前播放电影的FLASH播放器的版本。
HANDLERS(句柄):是可以管理诸如MOUSEDOWN和LOAD事件的特殊动作。例如,ONMOUSEEVENT和ONCLIPEVENT就是ACTIONSCRIPT的句柄。
IDENTIFIERS(标识符):是用来指示变量、属性、对象、函数或方法的名称。标识符的首字母必须是字符、下划线(_)或美元符号($)。后续字符可以是字符、数字、下划线或美元符号。例如,FIRSTNAME就是一个变量名。
INSTANCES(实例):是属于某些CLASS(类)的对象。每个类的实例都包含该类的所有属性和方法。例如,所有影片剪辑实例都包含MOVIECLIP类的属性(透明度属性、可见性属性)和方法(例如GOTOANDPLAY、GETURL等)。
INSTANCE NAMES(实例名称):是一个唯一的名称。可以在脚本作为目标被指定。
KEYWORDS(关键字):是具有特殊意义的保留用词。例如,VAR就是一个关键字,它可以用来定义本地变量。
METHODS(方法):是指定给对象的函数。在函数被指定给对象之后,该函数就可以被称为是该对象的方法。
OBJECTS(对象):是属性的集合。每个对象都有自己的名称和值。对象允许用户访问某些类型的信息。例如,ACTIONSCRIPT的预定义对象DATE就提供了系统时钟方面的信息。
OPERANDS(运算项):是由表达式中的运算符操控的值。
OPERATORS(运算符):可以从一个或多个值中计算获得新值。例如,将两个数值相加就可以获得一个新值。
PARAMETERS(参数):也被称之为ARGUMENTS(参数)。
PROPERTIES(属性):是定义对象的ATTRIBUTER(属性)。例如,所有影片剪辑对象都具有_VISIBLE(可见性)属性,通过该属性可以决定影片剪辑是否显示。
TARGET PATHS(目标路径):是FLASH电影中影片剪辑名称、变量和对象的垂直分层结构地址。主时间轴的名称是_ROOT。影片剪辑属性检查器中可以命名影片剪辑的实例。
用户可以通过目标路径使动作指向影片剪辑,也可以使用目标路径获取或设置变量的值。例如,以下示例语句就是影片剪辑STEREOCONTROL内部的变量VOLUME的路径:
-ROOT.STEREOCONTROL.VOLUME
VARIABLES(变量):是存储了任意数据类型值的标识符。变量可以创建、
修改和更新。变量中存储的值可以被脚本检索使用。在以下的示例中,等号左边的是变量标识符,右边的则赋予变量的值:
X = 5;
NAME = "LOLO";
CUSTOMER.ADDRESS = "66 7TH STREET";
C = NEW COLOR(MCINSTANCENAME);
FLASH脚本教程:flashAS基础<七>
编写ACTIONSCRIPT脚本
编写FLASH动作脚本并不需要用户对ACTIONSCRIPT有完全的了解,用户的需求才是真正的目标。有了设计创意之后,用户要做的就是为此选择恰当的动作、属性、函数或方法。学习ACTIONSCRIPT的最佳方法是创建脚本。用户可以在动作面板的帮助下建立简单脚本。一旦熟悉了在电影中添加诸如PLAY和STOP这样的基础动作之后,用户就可以开始学习更多有关ACTIONSCRIPT的知识。要使用ACTIONSCRIPT的强大功能,最重要的是了解ACTIONSCRIPT语言的工作原理:ACTIONSCRIPT语言的基础概念、元素以及用来组织信息和创建交互电影的规则等。
1.脚本的规划和调试
在为整个电影编写脚本时,脚本的数量和变化可以可能都是巨大的。例如,用户可能需要考虑以下问题:决定使用哪些动作,如何建立更有效的脚本结构,以及在哪些地方放置脚本?所有这些问题都需要经过仔细规划和测试。特别是当电影变得越来越复杂时,这些问题更加显得突出。
在开始编写脚本之前,用户需明确自己要达到的目标。例如,这些目标可能是
使用FLASH创建整个站点。
? 询问站点访问者姓名,并且在整个站点中重复使用该信息。
? 站点具有一个可拖动的导航工具栏,可以帮助用户跳转到站点的任意分支。
? 当某一个按钮被单击时,新的内容以淡入方式出现在舞台中央。
? 专门设立一个和用户联系的场景,其中包含已经填入用户姓名的表单。
在明确了制作动画要达到的目的之后,用户就可以开始创建对象并编写脚本来控制这些对象。
让脚本按照自己需要的方式工作,这通常比编写脚本要花费时间。用户需要经常不断地测试自己的脚本是否工作正常。为达到目的,最好的方法是从简单脚本开始,频繁测试,编写并测试完一部分可正常工作的脚本之后,就可以保存文件的一个版本。这种工作方法可以帮助用户更有效地调试脚本错误,在编写更加复杂的脚本时也有坚实的基础。
2.面向对象的脚本编程
在面向对象的编程方法中,用户通过将信息分类成组来组织信息。用户可以创建某一类信息的多个实例,以便在脚本中使用。用户可以使用ACTIONSCRIPT预定义的CLASS(类),也可以创建自己的类。ACTIONSCRIPT内置的类位于动作在板的OBJECTS(对象)文件夹。
在创建CLASS(类)时,用户需为由该类所创建的每个对象定义所有属性(特性)和方法(行为)。这和现实世界中对
象的定义方法一样。例如,“人”具有诸如性别、身高和头发颜色之类的属性,“人”的行为包括说话、走路、投掷等,在本示例中,“人”就是一个类,而每个单独的人就是该类的实例,即OBJECT(对象)。
ACTIONSCRIPT中的对象可以包含数据,也可以是舞台上的影片剪辑。所有影片剪辑都是预定义的MOVIECLIP类的实例。每个影片剪辑实例都有MOVIECLIP类的所有属性(例如_HEIGHT,高度;_ROTATION,旋转;_TOTALFRAMES,总帧数等)和所有方法(例如,GOTOANDPLAY,转到并播放;LOADMOVIE,载入电影;STARTDRAG,开始拖动等)。
要定义CLASS(类),用户需创建一个特殊的被称为“构造器”的函数。FLASH预定义的类已经定义了构造器函数。例如,如果需要电影中一个骑车人的信息,则可以创建一个名为BIKER的构造器函数。该函数包括“时间”和“距离”属性,也包含“速度”方法,该方法可以将骑车人的移动速度告诉用户。
FUNCTION BIKER(T, D) {
THIS.TIME = T;
THIS.DISTANCE = D;
}
FUNCTION SPEED() {
RETURN THIS.TIME/THIS.DISTANCE;
}
BIKER.PROTOTYPE.RATE = SPEED;
FLASH脚本教程:flashAS基础<八>
在编写构造器函数之后,用户就可以创建BIKER类的副本,即:实例。以下代码就可以创建BIKER类对象的实例EMMA和HAMISH:
EMMA = NEW BIKER(30, 5);
HAMISH = NEW BIKER(40,5);
实例之间还可以相互通信。例如,对于BIKER类的对象来说,用户可以创建一个SHOVE(推)的方法,让一个骑车人推另外一个骑车人。这样,当HAMISH实例*得太近时,EMMA实例就可以调用SHOVE方法,将HAMISH推开。要将信息传递给方法,可使用参数。例如,SHOVE(推)方法就可以携带WHO(被推者)和HOWFAR(推多远)参数,如下列示例。
EMMA.SHOVE(HAMISH, 10);
在面向对象编程方法中,类可以按指定顺序相互接收属性和方法,这就是所谓的继承。用户可以使用继承扩展或重定义类的属性和方法,从其他类继承属性和方法的类被称为“子类”,将属性和方法传递给其他类的类被称为“超类”,一个类可以同时是“子类”和“超类”。
3.脚本的流程
FLASH将从第一行语句开始执行ACTIONSCRIPT语句,一直按次序执行到最终语句或ACTIONSCRIPT指定跳转到的语句。
将执行次序发送到其他地方而不是下一语句的动作包括:IF语句、DO…WHILE循环和RETURN动作。
IF语句被称为条件判断语句或“逻辑分支”,因为它是基于某些条件的评估判断来控制脚本流程的。例如,以下代码就将检查变量MYNUMBER中的值是否否小于或等于10,如果检查结果返回TRUE(例如,MYNUMBER的值为5),则变量ALERT被设置文本字符串值,并在输出的文本域中显示其值。
IF (MYNUMBER <=10) {
ALERT = “THE NUMBER IS LESS THAN OR EQUAL TO 10”;
}
FLASH
脚本教程:flashAS基础<九>
用户也可以添加ELSE语句来创建更加复杂的条件判断语句。在以下示例中,如果条件判断返回TRUE(例如,变量MYNUMBER的值为3),则第一组大括号之间的语句将执行,ALERT变量将显示第二行的值。如果条件判断返回FALSE(例如,变量MYNUMBER的值为30),则第一组代码区将被跳过,ELSE语句后面的大括号之间的语句将执行。
IF (MYNUMBER <=10) {
ALERT = “THE NUMBER IS LESS THAN OR EQUAL TO 10”;
}ELSE {
ALERT = “THE NUMBER IS GREATE THAN 10”;
}
循环语句将重复执行某一动作若干次,直到满足某一条件才结束。在以下示例中,影片剪辑将被复制5次。
I = 0;
DO {
DUPLICATEMOVIECLIP ("MYMOVIECLIP","NEWMOVIECLIP"+I,I);
NEWNAME = EVAL("NEWMOVIECLIP"+I);
SETPROPERTY(NEWNAME,_X,GETPROPERTY("MYMOVIECLIP",_X)+(I*5));
I=I+1
}WHILE(I<=5);
.
日志 姑苏扶风
加博友 已关注 <取消
最新日志
手工制作~~大爱~o(∩_∩)o卡哇伊的星座系列设计(转)萝莉控~水彩淡淡,意境悠然各种网站资源(转载于西天取【引用】 网页设计标准尺寸该作者的其他文章
博主推荐
相关日志
随机阅读
首页推荐
十年来房价暴涨了十倍!康熙来了曝女星露点内幕农村为活人修建坟墓(图)三句话就暗示开房的男人点评2011年十大'性新闻''废娼'是中世纪封建思想更多>>
对“推广广告”提建议
引用 Flash进度条的制作 引用 FLASH脚本教程.
引用 FLASH 脚本代码说明 2009-12-27 17:02:58| 分类: 我爱动画~ | 标签:flash |字号大中小 订阅 .
引用
Naye 的 FLASH 脚本代码说明
一.影片控制函数
1) gotoandplay 跳转某一帧播放
2) gotoandstop 跳转某一帧停止
3) nextframe 转到下一帧 如 on(press) {nextframe;}
4) prevframe 转到上一帧 如 on(press) {prevframe;}
5) play 开如向后播放影片 如on(press){play();}
6) stop 停止当前播放位置 如on(press){stop();}
7) nextscene 转到下一个场景如 on(press){nextscene();}
8) prevscene 转到上一个场景如 on(press){prevscene();}
9) stopallsounds 停止所有声音如 on(press){stopallsounds();}
二.济览器/网络
1) fscommand("fullscreen", "true"); 全屏显示 可以加在第一帧中,也可以加在按加在按钮中.如加在按钮中则为on(press){fscommand("fullscreen", "true"); }
fscommand("quit"); 退出
如果加在帧中程序为fscommand("quit"); 意为当播放此帧自动退出.
若加在铵钮中则为on (release) {fscommand("quit");}意为当单击时退出.
2) geturl 定位地址
可以对文件加,也可以对按钮加.
对文本加:选中整个文本或单个文字,在文本属性栏的链接加地址如:https://www.wendangku.net/doc/2a1194587.html,
对按钮加:选中按钮,点动作,双击geturl 结果为: on(press){geturl("https://www.wendangku.net/doc/2a1194587.html,","_
blank");} //blank以新的窗口打开
3) loadmovie 从外部地直加载影片
可以对按钮加,也可以对帧加
按钮加如: on(press){loadmovienum("a.swf","1");}
给帧加:loadmovienum("a.swt","1");
FLASH动作脚本代码集锦
1 、简单 loading 代码:
方法 1 、使用载入字节数判断
b=getBytesTotal();// 获取总的字节数
a=getBytesLoaded();// 已经下载的字节数
onEnterFrame=function(){// 进入帧时 , 进行判断
if (a == b) {// 如果载入的字节数等于总的字节数
delete this.onEnterFrame// 删除进入帧
gotoAndPlay("frame");// 转入到你要播放的帧
] else {// 否则
a=getBytesLoaded();// 已经下载的字节数
percent=int(a/b*100)+"%";// 计算已经下载的百分比
]
}
把上面方法放入第一帧就可以了
方法 2 、使用载入的帧数判断_
用 Action 语法地 if frame is loaded 来实现 , 新建一层,这层专门放 Action,
第一帧,
ifFrameLoaded (" 场景 ", frame) {// 假如场景中地祯数已经载入
goto and play() // 跳至并播放某某祯 ( 自己设定 )
}
第二帧, O*Np@Q
goto and play(" 场景 1", 1)// 跳至并播放第一祯循环
再加上一个 load 地 MC 循环播放在这两帧的中间,就 OK 了。
2 、用 flash 做那种弹出的小窗口
分两步:
给 flash 中的按钮加入如下 action:
on (release) { idd{
getURL ("javascript :MM_openBrWindow('newweb.htm','','width=600,height=100')");
在 HTML 页面的
了 ");
//trace(totalBytes + " bytes 需要 load");
d=x*100/y // 计算已经载入的百分比
)
listener.onLoadInit = function(target) // 当执行加载的剪辑的第一帧上的动作时调用
{
if(d<100){ // 如果没有加载完成,不要播放
target.stop();
} else { // 加载完成,可以设置加载的 swf 文件开始播放的帧数
target.gotoAndPlay(2);
}
target._width=400 // 设置加载的影片的大小及其位置等相关属性
target._height=350
target._x=25
target._y=50
}
mcl.addListener(listener); // 注册一个新的监听对象
mcl.loadClip("***.swf",1)// 使用自定义的对象,加载 swf 文件
4 、设为首页
on (release) {
getURL("javascript :void(document.links.style.behavior='url(#default#homepage)');voiddocument.links.setHomePage(' https://www.wendangku.net/doc/2a1194587.html,/')","_self", "POST");
}
注意要将网页中的 flash 的 ID 号命名为 "links"
加入收藏夹
on (release) {
getURL("javascript :void window.external.AddFavorite(' https://www.wendangku.net/doc/2a1194587.html,',' 网页 ');","_self", "POST");
}
5 、如何随机设置 MC 颜色?
方法 1 、 MC 实例名为 "mc"
mycolor=new Color("mc")
mycolor.setRGB(random(0xffffff))
方法 2 、 MC 实例名为 "mc"
mycolor=new Color("mc") [
mycolor.setRGB(random(16777215))
方法 3 、 myColor = new Color(mc);
myColorTransform = new Object();// 用 new Object() 为
//setTrandform() 创建参数并随机取值
myra = random(100);
myrb = random(255);
myga = random(100);
mygb = random(255);
myba = random(100);
mybb = random(255);
myaa = random(100);
myab = random(255);
myColorTransform = {ra:myra, rb:myrb, ga:myga, gb:mygb, ba:myba, bb:mybb, aa:myaa, ab:myab};
myColor.setTransform(myColorTransform);
方法 4 、 mycolor = new Color(mc);
mycolor.setRGB(random(255)<<16|random(255)<<8|random(255));
6 、关于随机数的技巧
用来产生 6--20 之间的 5 个不重复的随机数
1): 首先产生一个随机数 , 放在数组对象中的第一个位置
2): 产生一个新的随机数
3): 检查新产生的随机数和所有目前已产生的随机数是否相同 , 若是相同则返回 (2), 否则返回 (4)
4): 将新的随机数加入数组对象中下一个数组元素内
5): 检查数组对象个数是否已达到 5 个 , 若是跳到 (6), 否则返回 (2)
6): 结束
AS 如下 :
data1=newArray(5);
tot=1;
data1=[tot-1]=random(20-6+1)+6;
do{
gen_data=random(20-6+1)+6;
reapeat_data=0;
for(i=0,i<=tot-1;i++){
if(gen_data==data
reapeat_data=1;
break;
}
}
if(reapeat_data==0){
tot++
data[tot-1]=reapeat_data;
}
}while(tot<5);
trace(data1);
7 、如何禁止右键菜单、缩放、全屏
在第一桢中输入下面命令:
全屏-> FS Command ("fullscreen", true)
禁止缩放-> FS Co
mmand ("allowscale", False)
禁止菜单-> FS Command ("showmenu", False)
fscommand 的方法还是只能适用于 fp ,在网页中使用还是必须添加额外的参数
或者用最简单的一句 as ,在 fp 和网页中均适用:
Stage.showMenu=false;
8 、如何实现双击效果?
把下面的代码放到按钮上:
on (press) {
time = getTimer()-down_time;
if (time<300) {
trace("ok");
}
down_time = getTimer();
}
这样的话,如果都用比较麻烦,写了一个类来判断
MovieClip.prototype.doubleClick = function() {
this.timer2 = getTimer()/1000;
if ((this.timer2-this.timer)<0.25) {
return true;
} else {
this.timer = getTimer()/1000;
return false;
}
};
继承了 mc 的类,可以重复使用,当然也可以封装为 2 。 0 的类
9 、如果要在浏览器中实现全屏效果,只需在 html 文件中加入以下代码即可:
其中 *.swf 为要调用的 FLASH 文件,记住要将该文件放在 html 文件的同一路径下面。要退出全屏状态需按 ALT + F4 或退出。
如果在 swf 文件中,添加关闭按钮,使用下面的代码:
on(release) {
getURL("javascript :opener=null;window.close();");
}
10 、用 AS 怎么把影片倒放
function prev(target) {
target.gotoAndStop(target._totalframes);
target.onEnterFrame = function() { [
if (this._currentframe>1) {
this.gotoAndStop(this._currentframe-1);
} else {
delete this.onEnterFrame;
}
};
}
prev(_root.mc); // 指定要倒退播放的 MC instance name 就可以了
11 、声音相关
之前为 MYSOUND 链接一个属性
1 : mysound=new Sound();// (注释) mysound 是一个变量名, new Sound 是一个构造函数,表示 mysound 是一个 Sound 对象。
以后可以通过 mysound 来调用 Sound 方法 }*HK[
2: mysound.attachSound("name"); 这里的 NAME 就是你之前在标识符里写的东西了,对应好了就 OK !
3: mysound.setVolume(50); 这个是控制声音播放时的声音大小,取值在 0 到 100 ,意义大家都知道吧,不会有人认为 0 是最大声吧 ~
4:mysound.start(0.01); 这个语句是表示开始播放声音,()里的参数表示声音开始的位置,单位为秒,再来就是循环几次 ~ 比如 mysound.start(30 , 2);// 声音从 30 秒处开始循环 2 次。
12 、倒计时
首先新建文件以后,在主场景中分别用文字工具建立三个动态文本框,变量名字分别是: leftmin,leftsec,leftmilli, 也就是分别来显示计时的分钟、秒数和毫秒数。
然后新建一层,在第一桢写上如下代码即可:(已经做了详细解释,相信大部分朋友能够理解这些代码的意思)
onLoad =
function(){// 当场景加载以后执行
totalmin = 40;
totalsec = 60;
totalmilli = 100;
// 初始化一些变量,在后面的计算中要用到这些变量
}
onEnterFrame = function(){// 逐桢执行动作"
currentsec = Math.round(getTimer()/1000);
// 求出当前影片已经播放的秒数(取整)
currentmilli = Math.round(getTimer()/10);
// 求出当前影片已经播放的毫秒数(取整)
leftsec = totalsec- currentsec;~
// 剩余的秒数等于总的秒数减去已经播放的秒数
leftmin = totalmin; ^
// 开始分钟数等于总的分钟数,开始是不变的
leftmilli = totalmilli - currentmilli;
// 剩余的毫秒数等于总的毫秒数减去已经播放的毫秒数
if(leftsec<10){leftsec = "0"+leftsec}
if(leftmin<10){leftmin = "0"+leftmin}
if(leftmilli<10){leftmilli = "0"+leftmilli}
// 以上三句是当分钟数、秒数、毫秒数小于 10 的时候,前面加上一个 “0” 。
if(leftmilli<=1){totalmilli+=100;} );
// 当计时剩下的毫秒小于 1 的时候,总秒数再加 100 ,以便下一次重新计时(这里注意得到的影片播放的毫秒数是一直增加的)
if(leftsec == 0){// 当剩余的秒数等于 0 的时候
totalsec+=60;// 类似上面的解释,总秒数加 60
totalmin-=1;// 这时候相当于过了 60 秒,所以分钟数要减 1
if(leftmin ==0){// 当分钟数等于 0 的时候,计时结束
leftsec = "00"; ,
leftmin = "00";
leftmilli = "00";
// 将三个计时框都附值为 0
delete onEnterFrame;// 删除这个逐桢动作,以节省资源
};
}
}
13 、键盘控制上下左右
怎样用键盘中的上下左右控制动画!
onClipEvent (load) {
speed = 5;// 当 MC 载入时,设置速度为 5 ,也就是说每按一下方向键,就移动 5 象素
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT)) {
this._x -= speed;// 当 ← 被按下时,自身的 X 位置不断减 speed , X 轴坐标不断减小,也就是不断向左移动
}
if (Key.isDown(Key.RIGHT)) {
this._x += speed;// 当 → 被按下时,自身 X 位置不断加 speed , X 轴坐标不断增加,也就是不断向右移动
}
if (Key.isDown(Key.UP)) {
this._y -= speed;// 当 ↑ 被按下时,自身的 Y 位置不断减 speed , Y 轴坐标不断减小,也就是不断向上移动
}
if (Key.isDown(Key.DOWN)) {
this._y += speed;// 当 ↓ 被按下时,自身的 Y 位置不断加 speed , Y 轴坐标不断增加,也就是不断向下移动
}
}
onEnterFrame = function () {
if (Key.isDown(Key.LEFT)) {
mc._x -= 20;
}
if (Key.isDown(Key.RIGHT)) {
mc._x += 20;
}
if (Key.isDown(Key.UP)) {
mc._y -= 20;
}
if (Key.isDown(Key.DOWN)) {
mc._y += 20;
}
if (mc._x<0) {
mc._x = 0;
}
if (mc._x>550-mc._width) {
mc._x = 550-mc._width;
}
if (mc._y<0) {
mc._y = 0;
}
if (mc._y>400-mc._height) {
mc._y = 400-mc._height;
}
}
14 、随机调用外部图片
用 9 个图片为例子,这个也可以使用 loadmovie 调用
num=Math.round(9*Math.random()+1)
// 设置随即数字( 1-9 )
_root.createEmptyMovieClip("pic", 1);
// 创建一个空的 PIC MC 用来装载外面载入的图片
_root.pic._x = 200;
_root.pic._y = 200;
// 简单设置一下 MC 的位置
_root.pic.loadMovie(num+".jpg",1);
// 随即载入外面的图片
15 、暂停
可以把要暂停的地方 , 帧数放长啊
或者在当前帧写
stop();
function pause(){
clearInterval(pauseInterval);
play();
pauseInerval=setInterval(pause,1000); //1000 是 1 秒
16 、怎样改变某一影片剪辑的播放速度
function go(obj) {
with (obj) {
nextFrame();
if (_currentframe == _totalframes) {
gotoAndStop(1);
}
}
)
go(mc);
setInterval(go, 100, mc);
17 、怎样调用 .chm 文件
getURL(mk:@MSITStore:F:\...\xxx.chm::/index.htm)