2014-11-13 3 views
1

좋아, 하루 종일 플래시 게임에서 적을 표시하도록 하루 종일 노력했습니다. 특정 수의 클릭 수는 있지만 기본 파일에서 EnemyShip을 클릭 할 수 없다는 것을 알았 기 때문에 클릭 리스너를 .as 패키지 파일에 추가해야합니다. 이 작업을 시도하면 오류 5006이 발생합니다. Actionscript 파일에 두 개 이상의 외부에서 볼 수있는 정의를 가질 수 없습니다 : clickCount, EnemyShip.플래시 클래스를 클릭 할 수 없으며 클래스 .as 파일의 클릭 EventListener를 추가 할 수 없습니다. C

Research는 이것이 일종의 중괄호 서식 오류라고 제안하지만 솔직히 뭘해야할지 전혀 모른다. : 제발 도와주세요! 그리고 간단한 단어를 사용하십시오, 나는 Actionscript 3; 0과 멍청이입니다;

package{ 

import flash.display.MovieClip; 
import flash.events.Event; 
import flash.events.MouseEvent 
var clickCount:int = 0; 
public class EnemyShip extends MovieClip{ 


    public function EnemyShip(){ 

     this.x = 900; 
     this.y = 214; 

     addEventListener("enterFrame", enterFrame); 
     addEventListener(MouseEvent.CLICK, addClick); 

    } 

function addClick(event:MouseEvent):void { 
    clickCount++; 
    trace ("clickage"); 
} 
    function enterFrame(e:Event):void{ 


     if(this.x < -100){ 
      removeEventListener("enterFrame", enterFrame); 
      stage.removeChild(this); 
     } 

    } 

} 

} 

답변

0

귀하의 문제는 가능성이 라인 :

var clickCount:int = 0; 

그것은 당신의 클래스에 포함되지 않으며, 수입과 함께합니다. 모든 코드는 클래스 선언에 래핑되어야합니다.

클래스 내에서 해당 줄을 이동하면 오류가 사라집니다.

package{ 

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

public class EnemyShip extends MovieClip { 
    private var clickCount:int = 0; 

....rest of code 
0

나는 무슨 일이 있었는지 알아 냈습니다. 히트 클립은 메인 스테이지에 없었고, 그것은 무비 클립에 담겨있었습니다. 액션 스크립트와 히트 클립을 메인 스테이지로 옮기고 추적을 받았습니다.