e.keyCode error in FF, IE, Chrom - e is undefined

Status
Niet open voor verdere reacties.

srananmang

Gebruiker
Lid geworden
10 mei 2011
Berichten
59
Beste mensen,

Ik ben bezig met het maken van een game met javascript, hierbij maak ik gebruik van de library EaselJs van CreateJs.
Nu ben ik de stadia dat ik een stukje tekst kan laten bewegen, maar...
Al een tijd ben ik bezig met het verhelpen van de volgende melding:

Firefox:
ff.JPG
Chrome:
Chr.JPG
Internet Explorer:
IE.JPG

Ik wil de melding verhelpen voor FireFox en Chrome, omdat ik geen IE gebruik.

[JS]window.onload=init;
document.onkeydown = move;

var canvas, stage;
var background, text;
var speed = 20;

function init() {
canvas = document.getElementById("myCanvas");
stage = new createjs.Stage(canvas);
start();
move();
stage.update();
}
function start() {
background = new createjs.Bitmap("assets/img/background.png");

text = new createjs.Text("Heen & Weer", "36px Arial", "#CC0000");
text.x = 0;
text.y = 495;

stage.addChild(background, text);

createjs.Ticker.on("tick", tick);
createjs.Ticker.setFPS(60);
}
function move(e){
if(e.keyCode == 37){
text.x -= speed;
}

}
function tick(event){
update();
stage.update();
}
function update(){
if (text.x < 0){
text.x = 0;
}
if (text.x + 220 > 1200){
text.x = 980;
}
if (text.y < 0){
text.y = 0;
}
if (text.y > 495){
text.y = 495;
}
}[/JS]

Alles doet het verder, mijn uiteindelijke game doet het ook.

Alvast bedankt voor de moeite.
 
De problemen zijn exact hetzelfde voor alle browsers en de foutmelding lijkt me redelijk duidelijk?

je roept "move()" aan en je definieert move als move(x)
 
Geprobeerd

Bedankt voor je reactie.
Ik heb geprobeerd om bij het aanroepen move(e) neer te zetten maar dit werkt niet en hierdoor ontstaat er nóg een foutcode.
Zie afbeelding:

Nieuw.JPG
 
Klopt, want je verteld nergens wat je mee wil geven aan de functie. Blijkbaar wil je ergens een keystroke inlezen maar je programma heeft geen idee waar.

e is dus onbelangrijk, of je moet vertellen wat e voor moet stellen. Stel je baas komt naar je toe met de opdracht:

"lever dit af bij (henk)" . En je hebt geen idee wie "henk" is. Het is een valide opdracht, maar je kan er verder weinig mee.

Als je "move" volledig verwijdert uit je programma doet het functioneel exact hetzelfde als het nu doet.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan