FLASH脚本新手入门
这是我从收集来的几篇文章,我想对FLASH脚本新手入门有帮助

转载(1)
flashAS基础:
小弟在学AS的过程中特地搜寻整理出来的一些心得和体会,绝对精华!!!
1.你先学会加动作的三种方式:在帧上加,在mc上加,在按钮上加.用play stop goto这三
个命令反 复练习.不要用太多的命令给自己吃迷晕药.用实例练,不要空练.
2.会了我说的1后,要学给按钮加动作的8种方法和给mc加的9种方法.
 按钮
(1)在按钮上面,选中按钮,加入代码
    on (release) {
     getURL("http://www.flash8.net", "_blank");
 }
(2)上面的代码是加在按钮元件上的,没有a标志,加在元件上面的代码都是没有a标志,并不是十分有利于他人     阅读。现在很多人推荐把所有代码写在时间轴上,作为入门的朋友还是养成这样的习惯好一些。
    将按钮定义一个实例的名字bt_url
    bt_url.onPress = function() {
      getURL("http://www.flash8.net", "_blank");
   }
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实例到别一个文件中时,要先把目标文件中的符
           号库中原有的符号,装进资夹里,很多网友这个问题上上过当吧?
    
           5>.....
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允许使用别名_parent来引用嵌套当前电影剪辑的电影剪辑。也可以用_parent创建一个相对目标路径。例如,如果电影剪辑dog被嵌套在电影剪辑animal之中,那么,在实例dog上的下列语句告诉animal电影剪辑停止播放:
_parent.stop();
 
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
 
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应是大写而没有大写,所以是错误的。在动作面板中启用彩色语法功能时,用正确的大小写书写的关键字用蓝色区别显示,因而很容易发现关键字的拼写错误。
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
15:09 固定链接 引用通告 (0) 记录它 计算机与 Internet
固定链接 http://dazhige.spaces.live.com/blog/cns!246BDDE3A44301B4!117.entry
Flash 常见问答解答五
Flash中的路径的作用是什么?

如果你用过DOS,您就可以很容易理解FLASH的路径。简单地说,路径就是在FLASH编程时能够找到变量或者符号(Symbol)所经过的路。其方式跟DOS一样,分成相对的和绝对的两种。

Action中,/:与/有什么区别,各在什么时候用?

/:是表示某一路径下的变量,如/:a就表示根路径下的变量a,而/表示的是绝对路径。

如何在MC中控制主场景的播放?

Flash5中_root表示主场景,用_root play()即可控制主场景的播放。

如何在Flash中打开一个定制的浏览器新窗口?

添加

Get URL ("javascript:window.open('new.htm','newwin','width=320,height=320');")

点一个按钮就放音乐,再点它一下就停音乐这个效果该如何做?

第一下设置gotoandplay(),那一帧设置成play sound

第二下再跳到另一帧然后stop all sound

如何改变调入后的SWF大小?

setProperty ("MC_Name", _xscale, size_x);

setProperty ("MC_Name", _yscale, size_y);

“MC_Name”顾名思义是那个MC的名字了,“_xscale”和“_yscale”是指这个MC的X与Y点的位置,这个位置是用来控制MC大小的。其“size_x”和“size_y”为设定这个MC具体大小的数值。

如何改变调入后的swf的位置?

一个简单的方法是,我们可以来移动那个已给置入Mocie文件的MC,就像我们用来改变一张图的位置那样用鼠标拖动它。

另一个方法是利用setProperty来进行改变这个MC的位置。

setProperty ("MC_Name", _x, "position_x");

setProperty ("MC_Name", _y, "position_y");

“MC_Name”是MC的名字,“_x”和“_y”指的是X坐标和Y坐标点,而“position_x”与“position_y”是位置具体的数值。

如何让一个MC调用另一个MC里设置的一个变量?

在mc里输入此语句:(a b 均为变量名,mcname为mc的实体名)

a = _root.mcname.b;

此语句是使本mc的变量a调用_root.mcname这个mc里的变量b

在Flash中如何打开Word文档?

Flash不支持调用Word文件,但浏览器可以直接打开.doc文档,那么就用getURL来解决即可,路径用绝对地址 http://www..../word.doc。

在Flash中如何调用mpeg文件?

Flash中不支持调用mpeg文件,首先要安装一个三方软件,名字为Swiffcanvas1.0;接着打开fla文件,如果mpeg文件的目录为aa,mpeg文件名字为bb,那么就可以就添加下面的语句:

FS Command ("exec", "SwiffEXEC(LOCAL:aaa/111.mpeg)");

然后把fla文件输出为exe文件 ,并用Swiffcanvas打开这个exe文件,然后在Swiffcanvas里设置完成自己的要求。最后再输出为.exe文件,就可以了。

如何在MC中载入外部动画或其他动画?

我们经常要用到在主动画中载入子动画(swf文件 )的情况。但是,这种方式载入后,载入的动画往往不在我们需要的座标位置上。有个简单的办法可解决这个问题。我们先建立一个空MC。将该MC拖到主场景 中,并为之命名(Instance),如“bb”。然后在主场景的相应帧加上Action,在action面板中的URL中填入要载入的swf文件, “Location”栏选“Target”,在其后的空栏中填入“/bb”。这样子swf文件就载入到实体名为“bb”的MC中了。现在,我们只要控制该 MC在场景中的位置,就可控制载入的子动画的精确座标了。

Flash内怎么用js或java?

答:on(release){

geturl("jscript:alert'........'";)

}

on(release){

thanx="thanks";

}

在ActionScript的编辑窗口中怎么输入中文?

可以更换Flash的字体,也就是删除Windows/Fonts/modem.fon,这样,编辑窗口的字体就好看多了。

Flash如何与数据库连接?

答:只能通过后台文件,如CGI脚本,Active Server Pages (ASP),或 Personal Home Page (PHP)等。传递值到flash中,实现数据库的操作。

在用FsCommand中可以调用javascript吗?

答:FsCommand可以调用JS函数MovieName_DofsCommand装入Flash动画。MovieName是 Flash动画的名字由Embed标签的Name属性或是Object标签的ID属性指定,如果FlashPlayer的名字为MYMOVIE,应该调用 JS函数名字为MYMOVIE_DOFSCOMMAND。

FLASH:从初学到高手相关推荐

  1. Java没有panel_java panel 问题

    初学java高手勿喷帮小弟看看那里出问题了程序是可以运行但是运行结果没有把组件调出来怎么改packagecom.cgysh.java;importjava.awt.Container;importja ...

  2. 英语学习过程中的几点体会(1)

    这几天一直在解决英语学习中的单词问题.确切的说就是积累单词量,在我们这里也不叫单词量,我给它起了个新名称 叫做:音像量 关于音像量的积累.遇到了很多问题. 比如我们找了很多资料,有国内的,国外的.视频 ...

  3. python必读_学好Python必读的几篇文章

    作为脚本语言Python上手容易,但要学好Python能写出一手漂亮的.Pythonic的Python代码并非一日之功,本文的目的在于推荐一些优秀的Python相关的文章(至于书大家可以看dip.le ...

  4. 怎样学好Python

    作为脚本语言Python上手容易,但要学好Python能写出一手漂亮的.Pythonic的Python代码并非一日之功,本文的目的在于推荐一些优秀的Python相关的文章(至于书大家可以看dip.le ...

  5. (转)MFC是不是过时了!!!

    我是站在纯技术的角度上来考虑的,微软对MFC提供了源代码,而对C#只提供了一些组件.这对这个讨论起着至关重要的作用. MFC是用C++的语法来封装Windows的API,掌握MFC的关键不是在于记住掌 ...

  6. python学习的几篇文章推荐

    作为脚本语言Python上手容易,但要学好Python能写出一手漂亮的.Pythonic的Python代码并非一日之功,本文的目的在于推荐一些优秀的Python相关的文章(至于书大家可以看dip.le ...

  7. [分享] 网页设计者值得一去的地方

    一.网页设计类 ------------------------------- 1.网站名称:蓝色理想 网站地址: http://www.blueidea.com/ 简介: 哈哈,这个不用说了. -- ...

  8. 网页设计者值得一去的地方

    蓝色转过来的,还没看,先留着,慢慢看! 一.网页设计类 ------------------------------- 1.网站名称:蓝色理想 网站地址: http://www.blueidea.co ...

  9. (转)stage 3d or unity 3d

    这个是这样子的.stage3d如果不使用flascc的话,性能会卡在as上面.你没卡是因为你用的效果还不够高级.往深了走的高端应用就是卡as性能上.这不是你代码能优化了的.我们后来都改用flascc写 ...

最新文章

  1. 学习CTF(二进制安全)一个月多的奇妙冒险~;
  2. android rild
  3. bool类型数组转换成一个整数_Go 学习笔记 02 | 基本数据类型以及 byte 和 rune 类型...
  4. SQL SERVER查看当前连接情况
  5. 【亲测有效】Ubuntu18.04 sudo apt update无法解析域名的解决方案
  6. Intellij IDEA 看源码必备的技能!
  7. Kerberos的工作原理
  8. QString中去除空格
  9. 前端学习-----HTML
  10. Error while building/deploying project QTtest (kit: Desktop Qt 5.9.0 MinGW 32bit)When executing~
  11. 日本即将上市的三维条形码
  12. 高效处理高于平常10倍的视频需求,还能节省60%的IT成本,蓝墨做对了什么?
  13. [CGAL] CGAL-5.2.1的安装与编译(Win10+vs2019+CGAL-5.2.1)
  14. android上传sd卡文件格式,Android开发学习:向模拟器的sdcard中添加文件
  15. Hack The Box——Omni
  16. Android 开发之Loading
  17. 互联网下半场的网络效应
  18. 2019中山纪念中学夏令营-Day4[JZOJ]
  19. CSDN官方夏日福利来袭!限时抽吸尘器/键盘/月卡等清爽大礼,100%必得大奖!
  20. DataBinder所有用法-

热门文章

  1. centos7网卡链路聚合
  2. 基于51单片机的WIFI模块的简单通信
  3. 扩展欧几里得算法(exgcd)
  4. java 二叉树的最小深度详解
  5. python自动化配置路由器_H3C MSR 系列路由器 配置指导(V7)-R0304-6W105
  6. ResNet50 网络结构搭建(PyTorch)
  7. SQL_存储过程——获得一棵树的所有叶子节点
  8. MAX1480B中文数据手册
  9. 电磁场主要应用在哪些领域
  10. 识别验证码之百度智能云Api识别