手机
当前位置:查字典教程网 >网页设计 >Flash教程 >从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
摘要:12,标签申明在AS3中引入了标签,新的标签可以和循环体一起使用。例如,现在有两个嵌套的循环体,如果想要在内循环体中break掉外循环,一般...

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会被执行,然后显示鼠标。

【从基础开始深入学Flash AS3教程(5)(译文)】相关文章:

Flash AS 入门教程 圆和椭圆函数的应用

Flash教程:铰连身体部分的方法

Flash AS3.0 实例教程 喷泉动画特效

Flash CS3仿真设计教程:模糊滤镜的应用

从基础开始深入Flash AS3教程(1)(译文)

绚丽的闪字动画-Flash AS特效

Flash AS 教程:创建文档类(Document class)

Flash教程:模拟幸运号抽奖机

Flash AS教程:用AS3代码表现倾斜角与斜率介绍

从基础开始深入学Flash AS3教程(3)(译文)

精品推荐
分类导航