flash action 由浅入深之一
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-10
的内容 funcName是函数的名字,当你以后要用这函数的时候,就要敲这个名字了(是的,建函数就是为了以后反复调用它) ()小括号里面是参数,什么是参数一会再讲 {}大括号里面的就是函数所要完成功能的一句句代码。 当我们建立函数之后,函数并不运行,只在你用函数的名字调用它出来,才正式开始运行 例如我们有这样一个函数 function sayHi () { trace("Hi!"); } 当我们在FLASH某帧需要sayHi的时候,输入AS: sayHi(); 是不是和最常见的stop();还有play();一样啊?因为它们都是函数嘛 sayHi函数真是弱智,来个有意义的函数吧。先在场景里放好一个名字叫ball的instance(千万记得要给instance输入名字,否则函数运行没结果别找我) 在第一帧输入这样一个函数: function moveBall () { ball._x += 10; // 怕有人不懂,解释一下,_x代表ball的横坐标,ball._x +=10 的意思是ball._x = ball._x + 10 ,这样省略的写法还有 -= *= /= 等等 ball._y += 10; } 再做一个按钮,按钮的AS: on (release) { moveBall(); } 好的,运行,从AS你可以看到,每点一下按钮,执行一次函数,而函数让小球下斜下移动。(FLASH的坐标轴,原点在左上角) 为什么要建立函数呢,就是想更有效率,现在有这个函数已经不用每移动一下写一次AS了,但还是不够,我们需要更有扩展性(flexibility)的函数 这个函数只能移动叫ball的MC,只能向固定的方向移动固定的距离,我们需要可以移动任何MC,向任何方向移动任何距离的函数,这样可以省却很多输入AS的工夫(这就叫一劳永逸,呵呵) 我们的新函数有三个地方是每次调用都不一样的 1、移动的那个MC的名字 2、水平移动的距离 3、垂直移动的距离(呵呵,用极坐标,也可以把2、3说成移动的距离,和移动的角度,不过大家都不习惯极坐标) 为了告诉函数这些变化的地方,我们需要参数(parameters),参数在定义函数的时候就要输入,我们的函数改写好了: function moveClip (theClip, xDist, yDist) { theClip._x += xDist; theClip._y += yDist; } 当我们要实现原来函数功能的时候,现在调用新函数就变成 moveClip (ball, 10, 10); 定义函数的时候function moveClip (theClip, xDist, yDist) { 这里的theClip等参数(parameters)只是定义,本质上说是不存在的,因为没有内容嘛 当我们用moveClip (ball, 10, 10);调用的时候,ball就输入到theClip中去了,这里的ball称为arguments(偶读得书少,不会翻译) arguments可以是一个变量,也可以是一个表达式(例如"a"+"b",先得出结果再传输给函数)只要用逗号隔开各个参数就行 函数如何结束呢 正常来说,函数运行完 {}里所有语句结束,我们也可以用一句AS:return; 让它中途结束,例如: function say(msg) { return; trace(msg); } 这个函数被调用的时候将什么都不做就结束 return还有更重要的用途: function sqr(x) { // Squares a number 平方 return x * x; } a=sqr(2); //a将会被赋予2的平方 4 return更重要的用途就是返回数据 在AS里面,有个内建的函数Math.sqrt(就是说你敲入的时候会变色),其功能和我们刚才做的sqr函数是一样的,现在你该知道内建函数也没什么神秘的,我们一样可以做出相同功能的来。 第八章 第二个版本选择题的制作 读到这你发现什么,我是发现了,MOOCK不是在教AS,他简直是在上编程课。 在第一个版本的制作里你发现了什么缺点?是的,输入了很多次AS,很麻烦。 我们要做的是用函数来集中我们的代码,只有集中了才好修改,越复杂的程序越是如此(想象一下在很多个MC之间查代码,真是头痛,当然是集中一块好) 这个多选题,我们就归结成两个函数吧answer和gradeUser 代码(可以直接看源程序,在上面地址那个ZIP里面的quiz-version2.fla): 大部分的代码都被集中到第一帧了,千万不要 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于flash action 由浅入深之一的所有评论