2011-08-04 11 views
0

대화 상자가있는 매우 간단한 어드벤처 게임을 만들고 있습니다.AS2 - 동적 텍스트 상자에서 텍스트 전환

대화 상자는 동적 텍스트 상자입니다. "다음"버튼을 누를 때마다 다음 메시지를 표시해야합니다.

바로 지금이 모양입니다.

stop(); 

onEnterFrame = gameProgression(); 

function gameProgression() 
{ 
if (MessageProgress = 1) 
{ 
    MessageText.text = "Blah blah blah."; 
} 
else 
{ 
    if (MessageProgress = 2) 
    { 
     MessageText.text = "More blah."; 
    } 
    else 
    { 
     if (MessageProgress = 3) 
     { 
      MessageText.text = "And again."; 
     } 
     else 
     { 

기타 등등. "다음"버튼을 누를 때마다 +1이 MessageProgress 변수에 추가됩니다.

그러나이 방법을 사용하면 첫 번째 메시지는 완벽하게 표시되지만 버튼을 몇 번 클릭했는지에 관계없이 다른 메시지는 표시되지 않습니다.

답변

1

if(MessageProgress = 1)는 조건 경우 다른 비슷하게 표현 &을 평가하기 위해 1

로 사용 if(MessageProgress == 1)을 Messageprogress를 할당 것을 의미한다.

어쨌든, 위의 방법은 전혀 아닙니다. 왜 배열에 메시지를 넣지 단순히


편집 ... 배열 [0], [1] 배열처럼 참조 :

뭔가 같은

stop(); 

onEnterFrame = gameProgression(); 

myArray = new Array("Blah blah blah.","More Blah.","And Again"); 

function gameProgression() 
{ 
    // Remember to start MessageProgress from 0 and not 1 

    myArray[MessageProgress]; 
} 
+0

같으면 스위치는이 경우 사다리보다 빨리 작동합니다. – midhunhk

+0

물론. 그것이 내가 '가는 길'이 아니라고 말한 이유입니다. 어쨌든 위의 경우 조건부 분기가 거의 필요 없습니다. 배열로 충분합니다. – loxxy

+0

글쎄, 배열을 사용할 수 없습니다. 무비 클립이 메시지에 맞게 표시 할 프레임을 변경하려고하기 때문에 배열을 사용할 수 없습니다. 스위치 케이스를 사용해 보았지만 업데이트 할 수없는 것 같습니다. 마지막 사건까지 곧바로 진행됩니다. – BishyT

관련 문제