우선, 저는 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은 사용자 정의 커서의 인스턴스 이름입니다. 그런 다음 새 장면이 입력되면 (오브젝트 롤오버를 통해) 새 장면에 다음 코드가 있습니다.
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을 삭제하고 파일이 실행되는 나머지 시간 동안 그대로 유지됩니다.
어떤 도움이라도 대단히 감사하고, 나와 같은 멍청이를 도와 주셔서 미리 감사드립니다!
새 Scene에서 동일한 코드를 작성할 필요가 없습니다. 실제로 첫 번째 장면에서 모든 선언을 사용할 수 있습니다. 다음 코드 스 니펫에서 장면 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();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다