2014-11-16 3 views
0

게임의 기본 메뉴에서 눈에 보이지 않는 단추 'startdesu'위로 마우스를 가져 가면 스크립트에서 전체 메뉴를 만들 수 있습니다. 노을, 페이드 인 및 페이드 아웃. 이벤트 리스너 이후의이 코드는 버튼 인스턴스 이름과 함수 이름을 적절히 변경하여 메뉴의 각 버튼에 대해 반복되었습니다. 유일한 문제는 'startdesu'를 클릭하면 다음 장면으로 이동하는데, 반복적 인 오류가 발생하기 시작합니다. "TypeError : 오류 # 1009 : null 개체 참조의 속성이나 메서드에 액세스 할 수 없습니다 . at bjvb_fla :: MainTimeline/increaseGlow() ". 난 버튼을 클릭하고 모든 행운을하지만 빛 이벤트 리스너를 제거하려고했습니다. 도와주세요! 0;한 장면에서 다음 장면으로 이동하고 gettingType1009 Null 개체 참조 오류가 발생했습니다

여기에 간결하게하기위한 필수 코드가 있지만 도움이된다면 모든 것을 게시 할 수 있습니다. 내가 시작 메뉴에 게임 다시에서 갈 때 (또한, 내가 뭔가 다른 같은 널 오류가 발생이 가능성이 오류의 원인이되는 라인

import flash.filters.*; 
import flash.events.Event; 

stop(); 
wow.alpha=0.5; 

var menuGlow:GlowFilter = new GlowFilter(); 

menuGlow.color = 0xffffff; 

menuGlow.blurX = 20; 

menuGlow.blurY = 20; 

menuGlow.alpha = 0; 

menu.filters = [menuGlow]; 

var glow:Boolean = false; 


startdesu.addEventListener(MouseEvent.MOUSE_OVER, addGlow); 
startdesu.addEventListener(MouseEvent.MOUSE_OUT, removeGlow); 
startdesu.addEventListener(Event.ENTER_FRAME, increaseGlow); 

function addGlow(e:MouseEvent):void 
{ 
glow = true; 
} 

function removeGlow(e:MouseEvent):void 
{ 
glow = false;  
} 

function increaseGlow(e:Event):void 
{ 
if(glow == true) 
{ 

    menuGlow.alpha = menuGlow.alpha + 0.02; 
} 
else if(glow == false) 
{ 
    menuGlow.alpha = menuGlow.alpha - 0.02; 
} 
menu.filters = [menuGlow]; 
} 

답변

0

:.

menu.filters = [menuGlow]; 

은 아마 당신의 두 번째 장면에서 인스턴스 이름 '메뉴'아무 목적도 없다 개체가 존재하므로 같은 경우 그냥 수표를 추가하여 오류를 고칠 수 :.

function increaseGlow(e:Event):void 
{ 
    //if there's no menu object, return 
    if(!menu) return; 

    if(glow == true) { 
     menuGlow.alpha = menuGlow.alpha + 0.02; 
    } else { 
     menuGlow.alpha = menuGlow.alpha - 0.02; 
    } 
    menu.filters = [menuGlow]; 
} 

그러나 올바른 해결 방법은 이벤트 수신기를 제거하는 것입니다. 왜 그것이 당신을 위해 작동하지 않았는지 모르지만, 장면을 전환하기 전에 click 이벤트 핸들러에 이것을 추가 할 수 있어야합니다.

startdesu.removeEventListener(Event.ENTER_FRAME, increaseGlow); 

이벤트 리스너를 제거하려고 할 때 어떤 오류가 발생합니까?

+0

걱정하지 마세요. 증가 기능이 도움이 된 것 같습니다! 고마워요 <33 – Fuure

관련 문제