2010-06-03 5 views
0

좋아요. 그래서 작은 게임을위한 실제 기본 코드를 사용하고, ive는 한 방에 타이머를 설정하고 게임을 끝내면 표시 할 수 없습니다. 도움을 받으시겠습니까? 액션 스크립트 디스플레이 타이머

는 모든 코드는 동영상 클립의 구성원으로 대신 타임 라인 VAR에 gameTime를 저장할 수있는 무비 클립 하나의 타임 라인에 무슨 일이 일어나고 경우 내가

var gameStartTime:uint; 
var gameTime:uint; 

var gameTimeField:TextField; 

gameTimeField = new TextField(); 
gameTimeField.x = 900; 
gameTimeField.y = 50; 


addChild(gameTimeField); 

gameStartTime = getTimer(); 
gameTime = 0; 

addEventListener(Event.ENTER_FRAME,showTime); 

function showTime(event:Event) 
{gameTime = getTimer()-gameStartTime; 
gameTimeField.text = "Time: "+clockTime(gameTime); 
} 
function clockTime(ms:int) 
{ 
    var seconds:int = Math.floor(ms/100); 
    var minutes:int = Math.floor(seconds/60); 
    seconds -= minutes*60; 

    var timeString:String = minutes+":"+String(seconds+100).substr(1,2); 

    return timeString; 
} 
+0

문제가 무엇인지는 분명하지 않습니다. gameTime 변수에 시간이 저장되어 있고 게임의 다른 곳에서 그 시간에 액세스 할 수 없습니까? –

+0

죄송합니다. ive 잠시 깨어 있었고 일주일 전에 actionscript를 사용하지 않았습니다. ive 당신이 공을 잡는 게임을 설정하고 화면에 실행중인 작은 타이머가 있고 그것을 다음 단계로 가기 위해 다음 버튼을 클릭 할 때 disply로 가져 오려고합니다. – Aaron

+0

그래서이 코드는 어디에 있습니까? 그것은 프레임에 있습니까 아니면 별도의 파일에 있습니까? 누군가가 당신에게 현명한 조언을하기 전에 게임 설정에 대해 좀 더 설명해야합니다. –

답변

0

를 사용하는 코드입니다. 이것은 MovieClip이 '열린'클래스이므로 인스턴스에 멤버 (변수, 함수)를 추가 할 수 있으므로 가능합니다.

그래서 대신 현재 무비 클립을 참조하는 '이'를 사용하기 때문에 사용할 필요가

var gameTime:uint; 
gameTime = getTimer()-gameStartTime; 

의 :

지금
this.gameTime = getTimer() - gameStartTime; 

당신은 다른 프레임에 this.gameTime을 참조 할 수 있습니다 값을 읽는 MovieClip.

이 같은 게임 프로그래밍 코드를 제안하지 것이다 일반적으로

- 코드가 그것을 위해 http://www.adobe.com/devnet/flash/quickstart/external_files_as3/ 읽기 위치를 신속하게 무엇인지 추적을 잃게됩니다 그렇지 않으면 코드가 포함 된 실제 파일을 추가하는 것이 좋습니다 성장을 시작할 때 빠른 소개.