flash action 详解(6)

2016-01-29 13:05 1 1 收藏

flash action 详解(6),flash action 详解(6)

【 tulaoshi.com - Flash 】

第 3 章: 条件和循环--综述
Actions cript 的条件和循环语句有 if, else, else if, for, while, do...while, for...in 和tch. 在 Flash 中它们被叫做流程控制动作(Action), 但实际上, 其实质与其它程序语言没什么不一样的.
因为条件和循环语句是程序语言中最基础的, 也是最具有实用价值的语句, 所以要在这里仔细讲解一下. 对于有 C++ 和 Java 等编程经验的读者随意浏览一下就可以了.
条件语if句--if
可以说是程序语言中最基本的条件判断语句. 无论在任何语言中都有它的身影.
由下面的例子可以了解它的格式:
name = "SiC";
//下面是 if 语句
if(name == "SiC"){
trace("作者");
}
if 语句通过判断其后圆括号内的逻辑表达式是否为 true 来确定是否执行大括号内的语句. 假如逻辑表达式 name == "SiC" 返回值为真, 就在输出窗口(Output Window)内显示"作者", 否则就不执行.
然后让我们设想一下下面例子的效果:
if(1){
trace("总是执行");
}
如果你还记得前面数据类型的内容, 那么应该可以看出, 这时的 if 语句基本上是多余的, 因为对于常量 1, 逻辑表达式的值恒为 true(其实 1 就是逻辑值 true 的数值表示形式). 但对于常量 0, 则永远为 false. 你可以试试把上例中的 1 改成一个字符串常量(例如 "hi!")看看会有什么效果.
再看一个例子:
name = "SiC";
//下面是 if 语句
if(name = "SiC"){
trace("作者");
}
比较一下看这个例子与第一个例子有什么不同? 不同之处就在于第一个用了 ==, 而这个用了 =. 对于这个例子, if 的判断永远为 true. 想想为什么? 问题就在于使用了赋值运算符 = 而不是逻辑运算符 ==. 对于赋值运算, 其返回的逻辑值总是 true. 这也是初学者常犯的错误.
一定要注意区分赋值运算符 = 和逻辑运算符 ==. 否则你会遇到一些莫名其妙的错误和问题, 而且语法检查也找不出错误(因为赋值运算表达式也是有效的条件表达式). 所以请记住, Actions cript 的相等逻辑运算符是 == 而不是 =.
if...else
假如想要在判断条件不成立时执行另一项操作时怎么办? 很简单, 在 if 语句后面加上个 else 语句块就可以了:
name = "未知";
//下面是 if...else 语句
if(name == "SiC"){
trace("作者");
} else {
trace("未知");
}
很简单吧? 只要把在判断结果为假时要执行的语句放在 else 后的大括号里就行了.
if...else if
如果要进行很多个条件判断怎么办? 也好办, 用 else if 解决:
name = "Sam";
//下面是 if...else if 语句
if(name == "SiC"){
trace("作者");
} else if(name == "Flash MX") {
trace("Flash MX 是软件名称.");
} else if(name != "未知") {
trace("谁是 " + name + "?");
} else {
trace("未知");
}
你可以接任意多个的 else if 来进行多个条件的判断, 最后的 else 语句块可有可无(根据实际需要选用). 唯一不足的就是 else if 太多时执行速度较慢(在其它程序语言中也是一大问题). 这时就轮到tch 出场了mynumber = 3; //赋值给 mynumber
//下面是tch 语句case 1:
trace ("这是我希望得到的数字.");
break;
case 2:
trace ("这个数字比我的小一点.");
break;
case 3:
trace ("这是我的数字.");
break;
default:
trace ("这不是我要的数字.")
}
上面的例子是一个完整的tch 语句块. 在 case 关键字后面的就是需要满足的条件, 如果都不满足, ActionScipt 会查找是否存在 default 语句块, 如果存在, 则执行其中的语句. 另外, 你可能已经发现在每个语句块后都有一个 break 关键字, 为什么呢? 因为如果没有用 break 来跳出tch 条件选择语句, 程序会继续向下搜索满足条件的 case 项目(包括 defualt 块)并执行其中的语句. 下面是一个修改后的例子:
mynumber = 3; //赋值给 mynumber
//下面是没有加 break 的tch 语句case 1:
trace ("这是我希望得到的数字.");
case 2:
trace ("这个数字比我的小一点.");
case 3:
trace ("这是我的数字.");
default:
trace ("这不是我要的数字.")
}
运行一下这个例子, 你会发现会同时输出了 "这是我的数字" 和 "这不是我要的数字". 为什么? 因为没有了 break, 在运行了满足条件的 case 3: 语句块后, 条件选择语句仍会继续执行, 而 default 块作为默认条件, 它总是会被执行, 从而产生了这样的结果. 一些常见的程序错误也就由此而来.
在 Actions cript 中还有一个用于循环的 continue 命令, 它可以直接跳到

来源:https://www.tulaoshi.com/n/20160129/1488830.html

延伸阅读
标签: flash教程
五、创建视频对象 Flash MX还允许我们创建视频对象,这可用于显示摄像头摄取的现场直播视频流。创建视频对象的操作方法如下: 1.选择WindowLibrary,打开图符库面板。 2.单击图符库面板右上角的小三角,弹出选项菜单。 3.在选项菜单上选择New Video(新视频),即可在图符库中创建一个嵌入视频图符。 ...
标签: flash教程
既然是基础篇,就可以白说一堆大家都知道的废话,来浪费大家的时间,那简直是一定的。但是想想打字挺累得,还是算了吧,那些大家都差不多都知道的话我就不写了,反正在网上也很好找到。故以下作者删去50000字…… 废话少说,咱们现在差不多都是用RGB数值描述一个东西的颜色,RGB,red、green、blue顾名思义,红绿蓝嘛。这三个颜色可以...
标签: flash教程
众所周知,中要实现3D效果是比较麻烦的,下面我们就用ActionScript来实现一个比较简单的3D效果。先看看最终效果,一个看起来像是3D效果的花在场景中旋转,在旋转的过程中会改变颜色,还会响应鼠标作相应的动作。静态效果如图1所示。 一、实现原理 要在只能显示二维图形的Flash中显示三维图形,...
标签: PS PS教程
    “Action”在Photoshop的汉化版中被翻译成“动作”。“Action”这个概念,是从Photoshop 4.0版起开始出现的,在Photoshop 4.0版之前称之为“Command”。Action是一个记录了一系列Photoshop操作指令的文件,就好像DOS下的批处理或是Word中的宏。Action文件的扩展名是ATN。 您只要事先准备好待处理的图像,再...
标签: flash教程
    在Flash MX中,我们可以导入QuickTime或Windows播放器支持的标准媒体文件。对于导入的视频对象,可以进行缩放、旋转、扭曲和遮罩处理,也可以通过编写脚本来创建视频对象的动画。Flash MX 6播放器加入了Sorenson Spark解码器,可以直接支持视频播放。此外,Flash MX还支持运行期动态载入JPEG和MP3...

经验教程

36

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部