总站首页  Flash教程频道  Flash源码频道  Flash酷站频道 Flash QQ群汇集
闪无忧Flash教程
首页 | 基础操作 | Flash As编程 | 动画特效 | 应用开发 | 组件学习 | 实例教学 | 视频教学 | Flash图书 | 英文Flash教程 | Flash cs3 | AIR | Photoshop教程
专题 | Flash菜单导航 | Flash loading教程 | Flash留言本 | Flash与后台 | Flash绘画 | Flash工具 | As3.0 | Flash 9 | Flash8专题 | Flex教程 | FCS/FMS教程
全面发挥网站创收潜力 Flash开发代码共享 Flash酷站下载 Flash酷站欣赏/font> Flash片头下载

首页>>flash特别推荐>>正文

flahs as 无基础入门经典教程

作者:51as | 来源:51as | 浏览次数: | 2007-6-27 10:11:59

例如我们有这样一个函数
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 sqrFight { // 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):
大部分的代码都被集中到第一帧了,千万不要被一大堆代码吓着了,代码这么长,只是为了让阅读者看得更清楚而已。(其实越短的代码才越可怕呢,呵呵)
// Stop the movie at the first question
stop ();
// Initialize main timeline variables 定义变量
var displayTotal; // Textfield for displaying user's score
var numQuestions = 2; // Number of quiz questions

本新闻共17页,当前在第07页  
01  02  03  04  05  06  07  08  09  10  
11  12  13  14  15  16  17  

上一篇: 学习AS2的一些小经验 下一篇: flash as编码的好习惯

 Flash 推荐最新

·flash格斗动画的概念设计
·你是否由于Flash Player的专有性质而远离Fl
·Flash版的WordPress
·如何求职动画公司
·DIY角色, google地图的三维,flash Web网游的
·全面彻底卸载Flash Player 的方法
·使用AS3开发的50个理由
·Flash 3D (As2.0+xml)
·《ActionScript 3 Cookbook》 繁体中文版下
·ActionScript 3.0 Design Patterns downloa

 Flash 推荐热门
·flash cs3简体中文版下载
·flahs as 无基础入门经典教程
·教你如何下载特殊方式保护的SWF文件
·送给flash新手的口诀
·flash格斗动画的概念设计
·什么是真正的Flash高手? 
·用粒子特效软件和FLASH打造逼真浪漫光照效果
·北京奥运倒计时flash插件
·《ActionScript 3 Cookbook 中文版 PDF》
·Flash 10 如何制作3D动画视频
  首页 | 网站地图 | 关于本站 | 联系我们 | 本站声明 | 加入收藏  Copy Right © 2006 5uflash.com All rights reserved  鲁ICP备06034971号