2014-10-13 2 views
0

그래서 내 HTML5이 출력이HTML5 출력을 통해 게임에서 점수를 표시하는 방법은 무엇입니까?

이제 내 다트이

for (Gunner gunner in gunners) { 
    if (bullet.checkCollision(gunner)) { 
    deleteBullets.add(bullet); 
    deleteGunners.add(gunner); 
    int zero = 0; 
    count() { 
     zero = zero + 1; 
     document.getElementById("counter").innerHtml = zero.toString(); 
    } 
    count(); 
    } 
} 

내가 포수를 죽일 때마다 나는 카운터가 1을 갈 수 그래서 내가 뭘하려고 오전되고있다

<output id="counter" value="0" /> 

하지만, 내가 1 명의 사수를 죽이고 1 점을 얻은 후에는 더 이상 얻을 수 없으며, 1시에 머무르며 1 차 죽인 후에도 살인을 계속 계산하지 않습니다.

+1

매번 'innerHTML'을 '1'로 설정합니다. 기존 값을 증가시키지 않습니다. – canon

+0

함수 밖에서 (클래스 또는 최상위)'int zero = 0; '을 움직여야합니다. –

+0

그 때마다 충돌합니다. (함수를 호출 할 때마다 값이 1 씩 증가하는 함수를 만드는 가장 좋은 방법은 무엇입니까? – bossk

답변

0

점수를 저장하는 변수는 루프 내에서 선언되므로 매번 0에서 새로 생성됩니다. 변수를 코드 외부에 선언해야합니다 (루프 외부에서는 코드에 포함되지 않음).

// Declared somewhere more global 
int score = 0; 
increaseScore(int incr) { 
    score += incr; 
    document.getElementById("counter").innerHtml = score.toString(); 
} 

// Your normal loop/event handlers/whatever 
renderLoop() { 
    // ... 
    for (Gunner gunner in gunners) { 
    if (bullet.checkCollision(gunner)) { 
     deleteBullets.add(bullet); 
     deleteGunners.add(gunner); 

     increaseScore(1); 
    } 
    } 
    // ... 
} 
+0

오류가 발생합니다. 내 HTML이 이고 값이 문자열인지 아니면 Dart score.toString()입니까?라는 문자열이 잘못 되었기 때문에 뭔가 잘못되었다고 생각합니다. – bossk

+0

약간의 코드로 (그리고 에러 메시지없이) 말하기는 어렵지만' '이 무엇인지 모르겠지만, 아마도 innerHtml 대신에'value'를 설정해야 할 것 같습니까? –

+0

여기에 전체 소스 http://www.speedyshare.com/UsnDK/AlienInvadersWork – bossk

관련 문제