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;
}
}
在引入了新的標簽以后,可以使用下面的方法從內(nèi)循環(huán)體中直接break掉外循環(huán)體:
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;
}
}
}
在第一個循環(huán)體上設置了mainLoop的標簽,因此在循環(huán)體內(nèi)任何地方使用break mainLoop直接中止外循環(huán)。
13,檢測鼠標離開Movie的動作
在以前的AS版本中,你無法做到檢測鼠標是否還在Flash Movie上。因此影片不能檢測到用戶是否在關注著當前的Movie。另外一個問題是,如果使用了自定義的鼠標樣式,在鼠標移出Movie后,自定義的鼠標還是繼續(xù)停留在影片上,而不能正確的顯示鼠標當前的位置。
現(xiàn)在,AS3允許你通過監(jiān)聽stage的mouseLeave行為來捕獲鼠標移出Movie的動作。mouseLeave行為在鼠標移出Movie的時候執(zhí)行。但是現(xiàn)在并沒有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會被執(zhí)行,然后顯示鼠標。
新聞熱點
疑難解答