begin process at 2012 05 29 02:20:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Code javascript ne fonctionne pas sur firefox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Code javascript ne fonctionne pas sur firefox

samedi 5 juin 2010 à 19:05:52 | Code javascript ne fonctionne pas sur firefox

ezzza

Bonjour,

Je suis débutante en javascript et je dois réaliser un pong en javascript.
J'y suis arrivée grâce à un tuto et après de nombreuses difficultées mais en voici une de plus que je n'arrive pas à résoudre. Mon code fonctionne sur tout les navigateurs sauf sur firefox.

Donc voici mon code:

Code Javascript :
//variables
var GAME_BAR_WIDTH = 80;
var GAME_BAR_HEIGHT = 10;
var PXL_DEPLA = 20;
var ZONE_GAME_WIDTH = 800;
var ZONE_GAME_HEIGHT = 500;
var COLOR_BALL = "#fff";
var SIZE_BALL = 8;
var SPEED_BALL = 2;



var barX; // X position of the bar change with keypad
var barY; // Y position of the bar don't change
var context;
var ballX ;
var ballY = 150;
var dirBallX = 0;
var dirBallY = 1;
var loop = setInterval(refreshGame);


window.addEventListener('load', function () {
// Get canvas object
var elem = document.getElementById('canvasElem');
if (!elem || !elem.getContext) {
return;
}

// Get context 2D
context = elem.getContext('2d');
if (!context) {
return;
}

//Initialisation of variables
ZONE_GAME_WIDTH = elem.width;
ZONE_GAME_HEIGHT = elem.height;
ballX = Math.random()*ZONE_GAME_WIDTH;
barX = (ZONE_GAME_WIDTH/2)-(GAME_BAR_WIDTH/2);
barY = (ZONE_GAME_HEIGHT-GAME_BAR_HEIGHT);

//Initialisation of game
createContext(context);



// Events
window.document.onkeydown = checkDepla;


}, false);


function refreshGame() {

// Clear zone
clearContext(context, 0, ZONE_GAME_WIDTH, 0, ZONE_GAME_HEIGHT);

// Get all again


// Get the bar again
context.fillStyle = "#fff";
context.fillRect(barX,barY,GAME_BAR_WIDTH,GAME_BAR_HEIGHT);

// New position of the ball

if ( (ballX + dirBallX * SPEED_BALL) > ZONE_GAME_WIDTH) dirBallX = -1;
else if ( (ballX + dirBallX * SPEED_BALL) < 0) dirBallX = 1;
if ( (ballY + dirBallY * SPEED_BALL) > ZONE_GAME_HEIGHT) {ballY = 0;
//position on X
ballX = (Math.random()*ZONE_GAME_WIDTH);}
else {
if ( (ballY + dirBallY * SPEED_BALL) < 0) dirBallY = 1;
else {
if ( ((ballY + dirBallY * SPEED_BALL) > (ZONE_GAME_HEIGHT - GAME_BAR_HEIGHT)) && ((ballX + dirBallX * SPEED_BALL) >= barX) && ((ballX + dirBallX * SPEED_BALL) <= (barX+GAME_BAR_WIDTH))) {
dirBallY = -1;
dirBallX = 2*(ballX-(barX+GAME_BAR_WIDTH/2))/GAME_BAR_WIDTH;
}
}
}


ballX += dirBallX * SPEED_BALL;
ballY += dirBallY * SPEED_BALL;

// Get the ball
context.fillStyle = COLOR_BALL;
context.beginPath();
context.arc(ballX, ballY, SIZE_BALL, 0, Math.PI*2, true);
context.closePath();
context.fill();


}

function checkDepla(e) {
// Right Key
if (e.keyCode == 39) {
if ( (barX+PXL_DEPLA+GAME_BAR_WIDTH) <= ZONE_GAME_WIDTH ) barX += PXL_DEPLA;
}
// Left Key
else if (e.keyCode == 37) {
if ( ((barX-PXL_DEPLA)) >= 0 ) barX -= PXL_DEPLA;
}


}




function clearContext(context, startwidth, contextwidth, startheight, contextheight) {
context.clearRect(startwidth, startheight, contextwidth, contextheight);
}

// Get context
function createContext(context) {}




Merci de m'aider à résoudre ce problème ça devient limite urgent.
dimanche 6 juin 2010 à 03:48:36 | Re : Code javascript ne fonctionne pas sur firefox

jdmcreator

Que retourne la console d'erreur de Firefox ? (Barre "Outils")


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
dimanche 6 juin 2010 à 14:17:46 | Re : Code javascript ne fonctionne pas sur firefox

ezzza

La console d'erreur dit "context is undefine"
Je comprends vraiment pas ce qui cloche. Surtout que ça fonctionne sur chrome et safari. Et ça fonctionnait sur IE mais plus maintenant et je sais denouveau pas pourquoi.
Merci de m'aider
lundi 7 juin 2010 à 01:00:00 | Re : Code javascript ne fonctionne pas sur firefox

jdmcreator

Je ne sais pas trop quoi te dire, ton code semble correct et je n'ai jamais utilisé de CANVAS.

Quelqu'un d'autre peut-être ?


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
lundi 7 juin 2010 à 18:47:27 | Re : Code javascript ne fonctionne pas sur firefox

PetoleTeam

Membre Club
Bonjour,
- je présumes que tu as bien une balise canvas avec la bonne id

- ensuite je trouve un peu hasardeux de mettre en début de ton code
var loop = setInterval(refreshGame); et ce sans paramètre de délai, la fonction sera appeler avant même que ton context n'ai eu le temps d'être crée.

- si tu dois la mettre quelque part mets la dans la fonction que tu réalises sur le onload...

Enfin...
...Et ça fonctionnait sur IE mais plus maintenant...
IExplorer ne reconnaît pas window.addEventListener, alors normal!

;O)
lundi 7 juin 2010 à 21:43:48 | Re : Code javascript ne fonctionne pas sur firefox

ezzza

Merci ça fonctionne enfin manquait juste un paramètre de délai.
Merci beaucoup.
Mais alors à la place de window.addEventListener je dois mettre quoi.
Enfin encore merci
mardi 8 juin 2010 à 02:17:05 | Re : Code javascript ne fonctionne pas sur firefox

jdmcreator

window.attachEvent()


JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !

fr.jsinfo.wikia.com
mardi 8 juin 2010 à 22:46:56 | Re : Code javascript ne fonctionne pas sur firefox

ezzza

Je vais surement poser une question stupide mais comment on met les deux ensemble pour que ça fonctionne sur IE et sur firefox.
Encore merci de me répondre
samedi 12 juin 2010 à 17:45:07 | Re : Code javascript ne fonctionne pas sur firefox

PetoleTeam

Membre Club

Bonjour,
Code Javascript :
if( window.addEventListener)
  window.addEventListener( "load", nom_fonction, false);
else
  window.attachEvent( "onload", nom_fonction);
}

;O)


Cette discussion est classée dans : var, zone, context, width, game


Répondre à ce message

Sujets en rapport avec ce message

Besoin d'aide pour jeu de cartes [ par earth4x ] J'ai un problème avec mon petit projet de jeu de cartesfunction pigerCartes(){     var zone = document.getElementById("divCartes");     var nbCartes = Probleme DHTML Window widget [ par destiny ] Bonjour,Le code : //Affiche le live TV function LiveTV(height, width) { if (livetvwin) { livetvwin.close(); } var widthSup = 0;<br / Firefox & mon_image.height ou mon_image.width [ par kcin ] Bonjour tout le mondeDans le développement d'une mini galerie de photos, j'ai une fonction JS qui récupère la hauteur et la largeur de l'image physiqu deux menus deroulant +deux zones de texte [ par jabousan ] Bonjour à tous, J'espère que je suis dans le bon post ...??? Hé oui, encore de l'aide sur un menu déroulant avec texte .... Voila, j'ai réussit à fa Insérer l'heure dans une zone texte via l'évènement onclick [ par ecolom ] Bonjour à tous, je cherche en vains une fonction qui me permet d'insérer l'heure via un onclick dans une zone input. En effet, j'ai un formulaire ave damier intéractif et fonction random en javascript avec recherche d'url en php? [ par baudryolivier ] BonjourVoulant créer un damier intéractif j'utilise en javascript ceci :// global variable holding the machine windowvar program_window;function openS WebApp Ipad Html5, Canvas Javascript [ par ezzza ] Bonjour à tous, Je désire réalisé une WebApp pour iPad de coloriage, jusque la tout va bien. Sous Chrome l'application fonctionne bien, le problème jquery liscroller aide ! [ par phoenixgreg ] Hi tt le monde ! Voilà j'ai mon petit script jquery liscroller, il fonctionne très bien, le texte défile mais j'aimerais qu'il défile à la vertical ( déclaration de variable [ par rhan_659 ] bonjour je contrôle mon js avec jslint et il me demande de déclarer mes variables en une ligne : var a, b , c; au lieux de le faire en plusieurs v Solution : calcul CRC JBus/Modbus en JScript [ par edurand1 ] [code=js]function(msg : String){ var chars = msg.ToCharArray(); var lCrc : long = 0xFFFF; var Polynome : int = 0xA001; // Polynôme = 2^15 + 2^13 +


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales