IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

key.isDown ne fonctionnent pas une fois dans le html


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut key.isDown ne fonctionnent pas une fois dans le html
    Bonjour!
    Je fais un petit jeu dans lequel le personnage se déplace par les flèches de clavier. Dans mon swf, ça marche bien. Mais une fois que je l'ai mis dans la page html, les contrôles par flèches de clavier ne fonctionnent pas. Quelqu'un aurait-il déjà rencontré ce problème? Une petite idée?

    Merci

    Voici comment j,ai fait le code de déplacement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    this.onEnterFrame = function() {
    	touchesRL();
    	touchesU();
    };
    // Déplacement du perso
    function touchesRL() {
    	if (Key.isDown(Key.RIGHT) && this.perso._x<=sceneL) {
    		this.perso._x += vitesse;
    	} else if (Key.isDown(Key.LEFT) && this.perso._x>=sceneL-sceneL) {
    		this.perso._x -= vitesse;
    	}
    }
    function touchesU() {
    	if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT) && this.perso._x>=sceneL-sceneL) {
    		this.perso._x -= (vitesse*2);
    	} else if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT) && this.perso._x<=sceneL) {
    		this.perso._x += (vitesse*2);
    	}
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonsoir à tous !

    petit up de la question, car elle est restée sans réponse et -fort égoïstement - me concerne aussi !

    J'ai un jeu du même type, avec déplacements latéraux (key LEFT et key RIGHT),
    et pareil que Padapapadapa, le swf en test marche nickel mais dans le fichier html, plus rien.

    Par contre, je crée un écouteur, mais je poste mon code, c'est plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var distance:Number = 10;
    	var keyListener:Object = new Object();
    	keyListener.onKeyDown = function() {
    		if (Key.isDown(Key.LEFT)) {
    			toto.gotoAndStop(2);
    			toto._x --;
    		}
     
    		if (Key.isDown(Key.RIGHT)) {
    			toto.gotoAndStop(1);
    			toto._x ++;
    		}
    	};
    	Key.addListener(keyListener);
    Plutôt frustrant, sachant que je suis vraiment débutante en programmation .

    Si quelqu'un avait une idée, un conseil, je pourrais limiter mon nombre de cheveux blancs !

    Merci d'avance !

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Je te conseil de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
          var distance:Number = 10;
    	var keyListener:Object = new Object();
    	keyListener.onKeyDown = function() {
    		switch (Key.getCode()) {
                           case Key.LEFT :
                                 //Instruction
                           break;
                           case Key.UP :
                                //Instruction
                           break;
                           case Key.RIGHT :
                                 //Instruction
                           break;
                           case Key.DOWN :
                                 //Instruction
                           break;
         }
     
    	};
    	Key.addListener(keyListener);
    Si le problème perssiste seulement sur le HTML, il faut que tu vérifie si ta balise pour afficher le flash est correct, vérifie sur Firefox, Ie6 et/ou 7, et /ou 8. On est parfois surpris du résultat.

    GoT

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci GoT de ta réponse

    J'ai intégré ce code dans mon flash, et pareil, ça marche en local hors navigateur, et dès que je le publie, ça marche plus.

    Une chose me tracasse, depuis quelques temps lorsque j'intègre un flash dans ma page html, Dreamweaver insère aussi tout un paquet de code avec des appels vers un répertoire extérieur, et tout cela me parait confus....étant plutôt 'old school' en html.

    Puis-je me permettre (bien que limite off-topic ) de te montrer mon code html car là je suis vraiment perdue, j'ai la tête dedans et du coup je ne vois plus rien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="jeux_herisson-1" width="550" height="470" align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="jeux_herisson-JH.swf" /><param name="quality" value="high" /><param name="devicefont" value="true" /><param name="bgcolor" value="#ffffff" /><param name="swLiveConnect" value="true" /><embed src="jeux_herisson-JH.swf" quality="high" devicefont="true" bgcolor="#ffffff" width="550" height="470" swLiveConnect=true id="jeux_herisson-1" name="jeux_herisson-1" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
    </object>
    Ya t'il une erreur ? ou bien ai-je oublié quelque chose ?

    Merci d'éclairer ma lanterne, je suis bien découragée là

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonjour Judeux,

    Sur le coup je ne vois pas d'erreurs dans le HTML, vérifie cependant ta version de flash player, une connaissance à moi ne pouvait pas utiliser le getURL car sa version déconnait un peu. Sinon le plus simple est d'aller sur un site qui affiche du flash et de pomper le code Object & Embed pour l'affichage du flash.

    Car si ça marche sur Flash / Flex / MTASC et non sur le html, ça me parait bizarre :/

    Pour Dreamweaver, ça devient pratique quand on a déjà des bonnes bases, dans le cas contraire ça n'aide pas à comprendre ou apprendre (à mon goût).

    Sinon tu peux envoyer ça sur un FTP, héberger la page et tout le bouzin, et je pourrais te dire si j'ai le même problème que toi.

    GoT

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour GoT et encore merci !

    En fait, ce jeu était originellement en ligne et ne marche plus (le jeu ne réagit plus au clavier...) depuis quelques mois déjà. Donc je sais que le défaut vient bien de la mise en ligne ;O).
    Je crains en effet un problème d'upgrade de player mais apparemment c'est un problème assez général chez les utilisateurs de ce jeu...

    Je me demandais donc si une solution (modif du code AS) existait à ce problème

    Si tu veux jeter un oeil, voilà mon fichier actuel de test :
    http://www.ju2citron.com/clients/T&R...erisson-3.html

    Si tu as une idée je suis preneuse, car là, j'ai l'impression de tourner en rond !

    merci encore !

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Je suis allé sur ton lien et le jeu réagit au clavier, lorsque j'appuie sur gauche ou droite, le petit hérisson bouge.

    Pour la modification, le mieux serait d'enregistrer le jeu au format as2, flashplayer8, c'est ce qu'il faut pour que même les utilisateurs d'IE6 puisse y joue (si je dis pas de bêtises).

    GoT

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/02/2013, 15h03
  2. Réponses: 2
    Dernier message: 12/11/2010, 09h39
  3. AMFPHP qui ne fonctionne pas une fois mon swf en ligne
    Par Grimdol dans le forum ActionScript 3
    Réponses: 5
    Dernier message: 24/04/2009, 12h20
  4. Réponses: 0
    Dernier message: 01/10/2008, 14h33
  5. Réponses: 1
    Dernier message: 09/05/2008, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo