2016-11-22 4 views
0

まず、私はas3と一般的なコーディングの総騒ぎで、コードスニペットの外ではほとんど動作しません。カスタムマウスカーソルが削除された後に重複したシンボルがドロップされた

私はプロジェクトに取り組んでいます。その一部は、シーンに入るときにカスタムマウスカーソルを取得するシーンです。シーンを終了すると、カスタムマウスカーソルが削除されます。カスタムカーソルを開始するコードは次のとおりです。

stage.addChild(crsTemple); 
crsTemple.mouseEnabled = false; 
crsTemple.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor); 

function fl_CustomMouseCursor(event:Event) 
{ 
crsTemple.x = stage.mouseX; 
crsTemple.y = stage.mouseY; 
} 
Mouse.hide(); 

crsTempleはカスタムカーソルのインスタンス名です。 、私は2番目のシーンに入るたび

stage.addChild(crsTemple); 
crsTemple.mouseEnabled = false; 
crsTemple.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor_4); 

function fl_CustomMouseCursor_4(event:Event) 
{ 
    crsTemple.x = stage.mouseX; 
    crsTemple.y = stage.mouseY; 
} 
Mouse.hide(); 

crsTemple.removeEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor_4); 
stage.removeChild(crsTemple); 
Mouse.show(); 

は、残念ながら、私は再び通常のマウスを取得する:新しいシーンが(オブジェクトの上にローリングを経由して)入力された場合に続いて、私は新しいシーンに次のコードを持っていますシーンチェンジが発生したときにマウスがどこにあってもcrsTempleを落とし、ファイルが実行されている間はそこにとどまります。

ご協力いただきありがとうございます。

答えて

0

新しいシーンに同じコードを書く必要はありません。実際にはすべての宣言を最初のシーンから使用できます。シーン1の次のコードスニペットMOUSE_MOVEハンドラ(fl_CustomMouseCursor)は、シーン2でも呼び出されます。カスタムカーソルには、crsTempleという名前でアクセスすることもできます。ここ

import flash.display.MovieClip; 
import flash.events.MouseEvent; 

var crsTemple:Sprite = new CrsTemple(); 
crsTemple.mouseEnabled = false; 
addChild(crsTemple); 

// for smooth cursor movement MOUSE_MOVE instead of ENTER_FRAME 
stage.addEventListener(MouseEvent.MOUSE_MOVE, fl_CustomMouseCursor); 
stage.addEventListener(MouseEvent.CLICK, nextStage); // for test purpose, just to switch the stage 

function fl_CustomMouseCursor(event:Event):void 
{ 
crsTemple.x = stage.mouseX; 
crsTemple.y = stage.mouseY; 
trace(crsTemple.x); 
} 

function nextStage(e:Event):void { 
    gotoAndStop(1,"Scene 2"); 
} 

Mouse.hide(); 
stop(); 

これは私の質問に答え、それが完璧に動作作っlink to flaサンプル

+0

です!あなたの助けを借りて非常に@DigitalDありがとう、私は本当に感謝します!あなたは私のプロジェクトを遅刻から救った! –

関連する問題