Ik ben al enige tijd bezig met een tetris spel in Javascript. Daarvoor heb ik een gratis script genomen en het aangepast aan de layout en taal.
Om het nog leuker te maken om te spelen wil ik dat de hoogste scores worden opgeslagen waarbij de speler zijn naam ook kan invullen. Dat onderdeel werkt inmiddels.
Maar nu lukt het me met geen mogelijkheid om de behaalde score aan een hidden field toe te wijzen zodat deze nadat het spel is gestopt kan worden doorgestuurd naar een volgende pagina.
Als het spel is afgelopen wordt de functie Game_Over() aangeroepen. Als het uitgespeeld is wordt _block.blockxx.innerHTML de eerste optie, als het niet uitgespeeld ben je game over dus komt de tweede.
Omdat het heel erg lang duurt voordat je het hebt uitgespeeld ben ik alleen nog maaar met de onderste bezig geweest omdat die makkelijk te testen is (jezelf af laten gaan.)
De tabel bevat 2 formulieren, 1 die de waarden van een hiddenfield naar de highscore pagina doorstuurt en een formulier wat naar de huidige paginalinkt om zo overnieuw te beginnen.
Om de waarde aan het hidden field toe te wijzen dacht ik de volgende methode te kunnen gebruiken:
_block.blockxx.innerHTML.gameform.gamescore.value = game_score;
Maar dat werkt niet, allerlei variaties daarop lijken ook niet te werken.
Hij staat dus op deze manier in het script:
Maar wat ik ook probeer, het blijft een error geven dat het object "null" of geen object is.
Ik heb het probleem ook al voorgelegd aan een Javascript Guru die het ook niet kon oplossen.
hier kun je het script MET de fout vinden (laat jezelf af gaan) en hier zonder de desbetreffende regel.
Om het nog leuker te maken om te spelen wil ik dat de hoogste scores worden opgeslagen waarbij de speler zijn naam ook kan invullen. Dat onderdeel werkt inmiddels.
Maar nu lukt het me met geen mogelijkheid om de behaalde score aan een hidden field toe te wijzen zodat deze nadat het spel is gestopt kan worden doorgestuurd naar een volgende pagina.
Als het spel is afgelopen wordt de functie Game_Over() aangeroepen. Als het uitgespeeld is wordt _block.blockxx.innerHTML de eerste optie, als het niet uitgespeeld ben je game over dus komt de tweede.
Omdat het heel erg lang duurt voordat je het hebt uitgespeeld ben ik alleen nog maaar met de onderste bezig geweest omdat die makkelijk te testen is (jezelf af laten gaan.)
De tabel bevat 2 formulieren, 1 die de waarden van een hiddenfield naar de highscore pagina doorstuurt en een formulier wat naar de huidige paginalinkt om zo overnieuw te beginnen.
Om de waarde aan het hidden field toe te wijzen dacht ik de volgende methode te kunnen gebruiken:
_block.blockxx.innerHTML.gameform.gamescore.value = game_score;
Maar dat werkt niet, allerlei variaties daarop lijken ook niet te werken.
Hij staat dus op deze manier in het script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| function Game_Over() {
Event_Release();
clearInterval(block_timer_id);
_block.blockxx.innerHTML.gameform.gamescore.value = game_score;
if (game_winner)
_block.blockxx.innerHTML = '<table width="' + game_tag_width +
'" height="' + game_tag_height + '" bgcolor="#FFF2D5" cellpadding="2"
cellspacing="0" style="border: 2; border-style: solid; border-color: #6666AA">
<tr align="center" valign="middle"><td><p class="winner">Gewonnen!
</p></td></tr></table>';
else
_block.blockxx.innerHTML = '<table width="' + game_tag_width +
'" height="' + game_tag_height + '" bgcolor="#FFF2D5" cellpadding="3"
cellspacing="0" style="border: 2; border-style: solid; border-color: #6666AA">
<tr align="center" valign="middle"><td><p class="gameover">Game Over</p>
<p>Je hebt ' + game_score + ' punten</p><p><form method="link"
action="game_highscore_add.php" name="gameform">
<input type="hidden" name="gamescore" value=0></p>
<p align="center"><input type="submit" value="Highscores" class="button"></p>
</form><form method="link" action="game_tetris.html"><p align="center">
<input type="submit" value="Opnieuw" class="button"></p></form></td></tr></table>';
_block.blockxx.style.pixelTop = block_base_y;
game_winner = false;
game_pause = false;
game_finished = true;
game_tag_step = game_tag_offset;
setTimeout("Show_Tag()",movement_timer);
} |
Maar wat ik ook probeer, het blijft een error geven dat het object "null" of geen object is.
Ik heb het probleem ook al voorgelegd aan een Javascript Guru die het ook niet kon oplossen.
hier kun je het script MET de fout vinden (laat jezelf af gaan) en hier zonder de desbetreffende regel.
[ Voor 0% gewijzigd door Johnny op 25-08-2002 20:59 . Reden: Enters toegevoegd omdat de layout werdt verneukt ]
Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.