• 思缘论坛首页
  • 论坛搜索
  • 下载记录
  • 每日签到
  • 设计软件,PS下载
  • VIP素材区预览
  • VIP素材区下载
  • 缘分币充值
发新话题
打印

[AS教程] 一天一个代码(第一部分)

一天一个代码(第一部分)

出处:网页教学网

一天一个代码,对新手来说是一个很好的学习机会,从浅入深,简单易懂,如果你是新手来看看吧,很不错的!
  先来说一下代码的使用,它的使用有两种,一个是帧动作,一个是对象动作,帧动作就是在帧上加代码,对象动作就是在被选中的对象上加上代码(说的菜了点),怎么加代码呢,很简单,帧动作就是选中那一帧然后窗口——>动作,打开动作面板,这个面板的左侧是可以用的代码,右侧是代码框,也就是显示你所输入的代码,在代码框的上面是当前代码内的一些参数。给对象加代码也是一样的操作,先选中对象,然后操作就和前面一样了。

  第一天,先学两个很简单的:gotoAndPlay和stop

  stop是flash中最常用的代码之一,它的作用就是停止当前正在播放的动画。

  gotoAndPlay也是最常用的代码之一,它的作用是转到并且播放指定场景的指定帧。

  下面的附件里是三个这两个代码相结合使用的例子。

  gotoAndStop

  今天我们来学gotoAndStop

  这个代码和gotoAndPlay一样,gotoAndStop是转到并停止指定场景的指定针

  因为我的电脑坏了,现在还没装flash所以今天没有源文件了,大家可以用这个代码把昨天的三个源文件改一下

  play

  这次来学习play

   这个代码大家应该差不多都会用,每一个动画几乎都会用到它

  大多都用在按钮里

  stop

  这个代码也是最常用的一个,也是几乎每个动画里都会用到的,它的作用就是停止当前正在播放的动画。

  stopAllSounds

  这个代码的作用是关闭当前播放的动画中所有正在播放的声音

 〈钮代码on

  今天学习一下按钮的代码,但并不是全部,因为按钮可以有很多种动作,这次学习的是按钮常要用到的on

  它的格式是:

on(鼠标事件){
  语句;}
  在动作面板的标准模式下给一个按钮加代码时这个格式的语句会自动出现,用不着自己加的。

  下面是几个鼠标事件的源文件

附件: on1.rar

  fscommand

  前面我们学习了动作面板中影片控制下的代码,从今天起我们来学习下一个单元——浏览器/网络下的代码,第一个就是fscommand
这个代码具体我也说不好,我个人理解的就是一个发出命令的代码,比如按一个按钮就可以关闭当前的flash播放窗口,这个代码就要用到它了,

  下面还是给出几个源文件大家来自己体会一下吧

  这里只有三个源文件,其他的选项大家可以自己做一下试试看会有什么效果

  注:exec大家可能不好看出效果,它的功能是在播放器内执行应用程序

附件: fscommand.rar

  getURL

  这个代码对于大家来说应该不算很陌生

  它的作用是:将指定的URL的文档(也就是网页)加载到窗口中

  格式:

getURL(网址,窗口,变量);
  下面是四个参数:

  _self:指定当前窗口当前框架

  _blank:打开一个新窗口

  _parent:当前框架的父级

  _top:当前窗口中的顶级框架

  注:网址必须要写全,如:http://www.163.com

  就要写成这个样子,一定要把http://写上

  下面是几个源文件,大家可以将这四个参数分别用进去试试看

附件: geturl.rar

  loadmoive

  loadmoive,有很多人都在帝国问过这个代码怎么用,下面我们就来简单的学习一下

  这个代码是一个载入的作用,把指定的swf,jpg等文件加载到flash player中

  它的格式:

loadmoive(要加载文件的路径或网址,目标/级别,变量);
  这里要加载的文件必须是和你这个代码所在文件是同一目录的,如果不是,就要写上绝对路径(这里哪点说的不对请大家指出,共同学习)

 ∪如,cc.swf文件和你这个源文件在同一目录下就可以写成

loadmoive(cc.swf);
  如果不在同一目录下就要写上路径了

loadmoive(c:\cc.swf);
  下面是两个源文件,它们都加载了cc.swf

附件: loadmoive.rar

  loadvariable

  说起来这个代码和前面说的loadmoive差不多,都是载入一个文件到flash中,它载入的是文本文件,CGI脚本,ASP,PHP等

  它的格式:

loadvariables(url,级别,方法);
  这个代码我几乎是没有用过,现在才是现学的,所以还有很多不会的地方,希望高手看到这个帖子后可以补充一下。

  下面来说它的用法:

  我用今天的源文件来说明一下吧,源文件里的效果是点击按钮就会在文本框中显示a.txt的内容,那么代码要加在按钮上,在url里输入a.txt,这个和loadmovie一样,不一样的是后面要选择的是级别而不是目标了(这个代码的目标不知道怎么用)

  注意:这里特别要注意的就是你的文本框的变量名一定要和载入的文本中的变量名一样,我这里文本框的变量名是output,载入的文本文件中的内容是output=abc,这里的ouput就是变量名

  下面是源文件,大家来一起理解一下吧

附件: loadvariable.rar

  unloadmoive

  今天学习的unloadmoive和前面的loadmoive正好相反,它是卸载已经加载的文件

  格式:

unloadmoive(目标);
  其他的个人觉得不用多说了,下面是一个源文件,很能说明问题

附件: unloadmoive.rar

  duplicatemovieclip

  今天我们来一次学习两个代码:duplicatemovieclip和下面的setproperty

  这两个代码一般是在一起使用的(个人想法)

  先来说duplicatemovieclip

  它的作用就是复制影片剪辑(MC)

  格式:duplicatemovieclip(目录,新影片名称,级别);

  其中的级别就是复制的MC的叠放次序,低的在高的之下,比如级别为1的就被盖在级别为2的MC之下

  setproperty

  它的作用是当影片播放时改变影片的剪辑的属性值。

  格式:setproperty(目标,属性,值/公式);

  其中目标的意思是要被改变属性的MC的的实例名称

  属性就是要设置的属性

  值/公式就是所要改变属性的值(改变之后的)或者用一个计算公式来代表这个值。

  下面是这两个代码组成的效果的源文件

附件: 汇蟀.rar

  onclipevent

  今天学习的这个代码大家是非常熟悉的,前面的实例中也都用过

  它是影片事件,作用是当触发指定的影片事件时则执行下面的语句。

  格式:

onclipevent(影片事件){
  语句;}
  removemovieclip

  这个代码是删除用movieclip对象的attachmovie或duplicatemovieclip方法创建的或者用duplicatemovieclip动作创建的影片剪辑(MC)

  说白了duplicatemovieclip和removemovieclip的关系就像loadmoive和unloadmoive的关系一样。

  格式:

removemovieclip(目标);
  这里的目标就是用duplicatemovieclip创建的MC的名称

  因为我一直没有做成功,下面这个源文件是圣鱼帮我做的,在此谢谢他了

附件: 汇蟀.fla

  startdrag

  这个代码是用来拖动影片剪辑(MC)的

  格式:

startdrag(目标,[锁定中心点,左,上,右,下]);
  这个代码很简单,请看下面的源文件

附件: startdrag.rar

  有的人问过这样的问题如何把按钮的手型弄没,好了今天我给大家来一段好吗?

  useHandCursor这个属性就是改变鼠标的手型

  它的值是个逻辑值 一个是true 一个是false

  下面是一个例子
  BY tongxiao198546

附件: 罡泓沱-2.fla


stopdrag

  昨天我们学了stardrag,今天就要学stopdrag了,这两个代码是一对,stopdrag就是释放当前鼠标拖动的对象。这个很简单,下面是源文件大家看一下应该就能都理解了,这两个代码学习完以后大家应该就能自己做一个简单的拼图游戏了

附件: stopdrag.rar

  updateAfterEvent()(多谢bluepoint和圣鱼帮助)

  updateAfterEvent(clipEvent)

  只能用在影片片段的动作里,使得一处理完clipEvent事件就刷新影片显示。虽然鼠标和影片片段事件当事件一发生就会执行,但由于影片FPS(每秒显示的帧数)的限制,只有当播放到下一帧时事件所作的改动才会被显现,而这时事件可能已被执行了多次。为了使事件实时作用,就可以在事件处理中调用updateAfterEvent,从而使动画显示平滑

  这是源文件,AS在方块中,把updateAfterEvent();去掉比较一下,非常明显

附件: 罡泓沱-8.fla

  delete

  今天我们正式进入变量的学习!!!!

  今天要学的代码是delete,这个单词大家应该都认识,没错,就是删除的意思,在变量的代码里出现它大家也能猜是什么用途吧,那就是删除变量!!!(嘻嘻,刚开始学变量第一个学的就是删除变量)

 ○的不用多说了,看源文件吧

  注意:源文件中定义变量是用的var,也是变量中将要学的代码

  这个源文件的作用是当鼠标按下时上面的动态文本框出现赋给它的变量的值(点中这个文本框,再去看属性面板,在右下方有一个变量文本框,在那里写这个文本框所指的变量的名称)

附件: delete.rar

  var

  这个代码就是定义变量的作用

  格式:

var 变量1 [=值]
  简单的一个式子就是这样:var 变量=变量的值

  源文件上面那个代码中也有

  with

  这个代码的作用是指定一个对象,并使用语句参数计算对象中的表达式和动作。

  格式:

with(对象){
  语句;}
  下面的源文件的作用是设置影片剪辑在场景中的x和y的位置,其中_x和_y都是在专家模式下写入的

附件: with.fla

  break

  这个代码常用在循环体和switch……case语句中,它的作用就是退出循环体的其它部分

  flashboy82:

  我来补充两句,,,

  举例来说明break的用法,,,,下面的代码不能用到真正用途上只供学习者参考

if(i<=10) then{
gotoandplay(20)}  else{
break};
  说明如果变量i 小于等于10那么就跳到第20针运行程序。。否则跳出该程序。

  switch……case……default

  这是三个代码,都可以在条件/循环里找到格式:

switch(表达式){
  case 条件;  语句;  [default 条件;   语句;]}
  它们的意思是,如果switch后面的表达式的结果等于case后面的条件的话就执行这个case下面的语句,如果加了default的话,就是前面的case都不付合就执行default下面的语句。

  下面是源文件

  它的意思是如果cc1中输入的是1,那么cc中就显示蓝色茶壶,如果是2,就显示绿茶

附件: switch.fla

  continue

  default完了就改continue了吧

  看茶壶忙的

  兄弟来帮帮忙!

  教程不会写,直接上源文件吧。呵呵!

  BY 孤星寂影

  这是附件(源文件)

附件: continue.fla

  do……while

  因为机子有现成的源文件,就直接传来吧,教程——还烦各位老闪们添上吧。嘿嘿!~

附件: dowhile.fla

  while

  这个代码的作用就是循环,每一次循环处理,都会先看是否满足条件,如果满足就执行下面的语句,如果不满足就跳出循环。

   格式:


while(条件){
  语句;}
  下面的源文件是从1加到100的效果

附件: while.fla

  else

  这个语句的作用是判断,,,,

  例子

if(password==passwrod1){
gotoandplay(2)}  
else{
gotoandplay(3)}
  BY flashboy82

  elseif

  和if一起使用作用也是判断

   例子

if(password==password1){
gotoandplay(2)}      
elseif(passwrod!=password1){
gotoandplay(3)}
   程序说明:

  如果两个密码相等跳到第二针执行,,,否则如果两个密码不相等跳到第三针执行。。。

  一般这样的句子是用在flash配合后台做登陆页面用的,,,

  BY flashboy82

  if……elseif……

  就是说如果第一个条件付合就作第一个if后的语句,否则如果第二个条件付合就执行elseif下面的语句,这样以此类推到第N个条件

  for

  这个也是一个循环语句

  格式:

for(初始值;条件表达式;变量更新表达式){

  语句;}
  初始值:设置一个变量的初值,用来循环,在源文件中可以看出来。

  条件表达式:当初始值的那个变量付合条件时就继续循环,否则跳出循环。

 ′量更新表达式:当初始值的变量按一定的规律变更。

  下面的源文件还是从1加到100的效果

  注:其中i++的意思是i=i+1,上面的while的源文件中好像也有这个,在此说明一下。

附件: for.fla

  for……in

  flash帮助里的

  示例

  下面的示例使用 for..in 迭代某对象的属性:

myObject = {
name:'Tara', age:27, city:'San Francisco' };
for (name in myObject) {

  trace (myObject. + name +  =  + myObject[name]);
}
  此示例的输出如下所示:

  myObject.name = Tara
  myObject.age = 27
  myObject.city = San Francisco

   下面的示例将 typeof 运算符与 for..in 一起使用来迭代特定类型的 child:

for (name in myMovieClip) {

  if (typeof (myMovieClip[name]) = movieclip) {
   trace (I have a movie clip child named  + name);
  }
}
  下面的示例枚举影片剪辑的子级,并将每个子级发送到其各自时间轴的第二帧。RadioButtonGroup 影片剪辑是一个父级,它具有多个子级:_RedRadioButton_、_GreenRadioButton_ 和 _BlueRadioButton。

for (var name in RadioButtonGroup) {
 RadioButtonGroup[name].gotoAndStop(2);
}
  BY 圣鱼

  第一个例子我是这样理解的:

  大括弧里面的语句被执行了3次,每次执行以前name依次被赋值为name,age,city;

  可以再加上这样一行:

trace(name=+name);
就可以看到name在最后值为city;因此,in前面那个参数是字符串(string)属性的

教程中需要的素材请访问:优秀的PS素材和图片素材

TOP

对我来说太复杂了

TOP

楼主辛苦了,可是没有源文件,没法做着试啊。

TOP

好东西要慢慢看,我复制下来细细琢磨.谢谢!

TOP

太复杂,漫漫学!!

TOP

从浅入深,支持支持

TOP

发新话题

关于本站 广告服务 联系我们 版权隐私 合作站点 网站地图 免责申明 管理团队

Powered by Discuz Copyright © 2005-2019 www.MissYuan.com All rights reserved.站长QQ8713688 邮箱8713688@qq.com