2013-05-11 3 views
-2

나는 플래시 액션 스크립트와 혼동 스럽다. 나는 PH & C#을 안다. 그냥 간단한 테스트 플래시 게임을 만들기 위해 알아 내려고.플래시 버튼 클릭 이벤트

플래시 텍스트 상자를 사용하여 텍스트를 "여기를 클릭하십시오"라고 쓴 후 마우스 오른쪽 버튼으로 클릭하고 "심볼로 변환"을 선택하고 "시작 버튼"으로 이름을 지정했습니다.

두 번째 프레임 (빈 프레임)을 만들고 첫 번째 프레임 (키 프레임) 및 오른쪽 클릭을 보았습니다.

import flash.events.MouseEvent; 
stop(); 
startbutton.addEventListener(MouseEvent.CLICK, startgame); 
function startgame(event:MouseEvent):void{ 
    nextFrame(); 
} 

그게 전부 내 코드입니다. 정말 ActionScript의 헤더 파일도 모릅니다. 누구든지 내 코드를 수정할 수 있습니까? 그리고 위 또는 아래에 더 이상 선이 있어야합니까?

위의 코드 출력은 계속 깜박입니다. 즉, 두 프레임이 계속 반복되는 것으로 추측합니다.

+0

'startgame()'에서 타임 라인의 프레임 2에서 진행하고 멈추라는 것을 나타내는 gotoAndStop (2)를 할 수 있습니다. –

+0

@JasonSturges - 시도했지만 사용하지 못했습니다. –

답변

0

무대에 버튼 인스턴스를 만듭니다

enter image description here

타임 라인에 2 개 프레임을 만듭니다 :

button

은 버튼 컨트롤을 button의 인스턴스 이름을 지정

timeline

버튼이 클릭되면 프레임 1 516,

전진 및 프레임 (2)에 정지 stop()에 재생에서 막대 및 설정 이벤트 리스너 동작을 설정

import flash.events.MouseEvent; 

stop(); 

button.addEventListener(MouseEvent.CLICK, clickHandler); 

function clickHandler(event:MouseEvent) 
{ 
    gotoAndStop(2); 
} 

을 그 프레임에 진출 할 버튼을 누를시 타임 라인 중 2 개를 멈추고 중지하십시오.

0

스테이지 "startbutton"에서 해당 버튼의 인스턴스 이름을 지정하지 않은 것일 가능성이 높습니다.

라이브러리의 버튼 심볼 이름을 지정하는 것만으로는 충분하지 않습니다. 무대에서 실제로 버튼 인스턴스의 이름을 지정했는지 확인해야합니다.

무대에서 해당 버튼을 클릭하고 속성 패널을 보면 "인스턴스 이름"필드가 있음을 알 수 있습니다. 인스턴스의 이름을 "startbutton"으로 지정하면 코드가 잘 작동합니다.