当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > 从基础开始深入学Flash AS3教程(5)(译文)

ActionScript
Flash教程:测试AS代码的执行速度
Flash AS教程:填色游戏的制作
FLASH CLASS的基本编写规范
flash教程:使用拆分数字和文字的函数
通过实例学习Flash AS3.0——案例六
用Flash AS制作逼真的下雨动画效果
通过实例学习Flash AS3.0——案例五
Flash CS3制作Fla形式的组件
通过实例学习Flash AS3.0——案例四
通过实例学习flash AS3.0——案例二
通过实例学习AS3.0——案例三
通过实例学习AS3.0
Flash AS3中数据发送与接收
Flash AS制作盛开的花朵视觉特效
新手来看:Flahs as入门教程
关于Flash层的深度处理问题
Flash AS制作控制图片大小的滑块效果
Flash AS2代码绘制的一棵漂亮的树
删除Flash右键菜单的两种方法
用Flash AS制作时钟(Date类)

ActionScript 中的 从基础开始深入学Flash AS3教程(5)(译文)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 45 ::
收藏到网摘: n/a

12,标签申明
在AS3中引入了标签,新的标签可以和循环体一起使用。例如,现在有两个嵌套的循环体,如果想要在内循环体中break掉外循环,一般使用下面的方法:

var i:Number;
var j:Number;
var exit:Boolean = false;
for (i=0; i<10; i  ) {
for (j=0; j<10; j  ) {
if (i > 3 && j > 3) {
exit = true;
break;
}
}
if (exit) {
break;
}
}
在引入了新的标签以后,可以使用下面的方法从内循环体中直接break掉外循环体:

var i:Number;
var j:Number;
mainLoop: for (i=0; i<10; i  ) {
for (j=0; j<10; j  ) {
if (i > 3 && j > 3) {
break mainLoop;
}
}
}
在第一个循环体上设置了mainLoop的标签,因此在循环体内任何地方使用break mainLoop直接中止外循环。
13,检测鼠标离开Movie的动作
在以前的AS版本中,你无法做到检测鼠标是否还在Flash Movie上。因此影片不能检测到用户是否在关注着当前的Movie。另外一个问题是,如果使用了自定义的鼠标样式,在鼠标移出Movie后,自定义的鼠标还是继续停留在影片上,而不能正确的显示鼠标当前的位置。
现在,AS3允许你通过监听stage的mouseLeave行为来捕获鼠标移出Movie的动作。mouseLeave行为在鼠标移出Movie的时候执行。但是现在并没有mouseEnter事件,不过你可以通过使用mouseMove来设置。
下面的例子中使用了一个方框来作为自定义的鼠标:

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.ui.Mouse;

public class Test extends Sprite {

private var cursor:Sprite = new Sprite();

public function Test() {
cursor.graphics.beginFill(0xFF);
cursor.graphics.drawRect(0, 0, 25, 25);
addChild(cursor);

stage.addEventListener(Event.MOUSE_LEAVE, cursorHide);
stage.addEventListener(MouseEvent.MOUSE_MOVE, cursorFollow);
Mouse.hide();
}

public function cursorHide(evt:Event):void {
cursor.visible = false;
}

public function cursorFollow(evt:MouseEvent):void {
if (!cursor.visible) cursor.visible = true;
cursor.x = stage.mouseX;
cursor.y = stage.mouseY;
evt.updateAfterEvent();
}
}
}
当鼠标离开Movie的时候,鼠标指针将被隐藏。当鼠标再次移动到Movie上的时候,mouseMove会被执行,然后显示鼠标。