从基础开始深入学Flash AS3教程(5)(译文)_Flash教程-查字典教程网
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
发布时间:2016-12-21 来源:查字典编辑
摘要: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教程学习
    热门Flash教程学习
    网页设计子分类