begin process at 2012 05 26 19:09:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Divers

 > 

Débutant(e)

 > 

clip deplacement


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

clip deplacement

lundi 23 avril 2007 à 16:44:44 | clip deplacement

darkthief

Bonjour,
je débute dans le flash et action script et j'ai un petit soucis (surement 3 fois rien mais je trouve pas :P)
je crée un nouveau document flash,
je crée un clip que je place dans mon document.
et je lui met ce script :

onClipEvent(enterFrame){
    if(Key.isDown(Key.RIGHT)){
        rectangle._x += 1;
    }
}

mais la quand je teste l'anim, le rectangle ne bouge pas.

par contre si je mets :
onClipEvent(enterFrame){
    if(Key.isDown(Key.RIGHT)){
        this._x += 1;
    }
}

le rectangle se déplace.
Je suppose que c'est juste un problème d'identifiant, mais je n'arrive pas à trouver comment le changer.

Si quelqu'un peut m'eclaircir la dessus :)
mardi 24 avril 2007 à 10:26:16 | Re : clip deplacement

Darkrats

Salut,

D'après ce que tu dis, ça marche avec le this, j'en déduis donc que tu as mis le code directement sur le clip, ai-je raison ?
Le this fait toujours référence à l'endroit où on se trouve. Si je mets un this dans ce genre de code :
    bouton.onRelease = function(){
        trace(this._name);
    }

le this fait référence au clip "bouton".
Dans ce cas ci :
    // Code mis sur un calque vide du root
    trace(this._name);

le this fait référence au root car il n'est associé à aucun clip
Dans ton cas, tu as sûrement mis ton code sur ton clip "rectangle" et donc ton this fait référence au clip (comme mon premier exemple)

Une chose extrêment importante : abandonne l'utilisation des "on() et onClipEvent()" ça t'aidera à éviter certains pièges (vas voir le lien)
A ta place, je mettrais ce code dans un calque (et non sur un clip) :
Code :
    this.onEnterFrame() = function(){
       if(Key.isDown(Key.RIGHT)){
        rectangle._x += 1;
    }

Fin du code
Le code doit être mis sur un calque au même niveau que ton clip rectangle (sinon faut retoucher le ciblage du clip)

Voilà, j'espère avoir pu t'éclairer

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
mardi 24 avril 2007 à 17:41:44 | Re : clip deplacement

darkthief

Salut,

D'après ce que tu dis, ça marche avec le this, j'en déduis donc que tu as mis le code directement sur le clip, ai-je raison ?
oui tout à fait.

Pour le this j'avais bien compris son fonctionnement, ce que je ne comprends pas en fait, c'est pourquoi si je le remplace par le nom du clip, ca ne marche plus alors qu le code est dans le clip directement.

Une chose extrêment importante :
abandonne l'utilisation des "on() et onClipEvent()" ça t'aidera à éviter certains pièges (vas voir le lien)
Yep j'avais cru comprendre ca, merci quand même pour le topic j'irais voir,
En fait si tu veux je bosse en parallele avec un bouquin et donc le code que j'ai mis dans mon premier post c'est la première étape.
Ensuite on optimise en mettant le code sur un calque et non plus dans le clip, on enleve les onClipEvent() etc etc.
mais je suis du genre à chercher la petite bête alors je cherche pourquoi ca marche pas avec cette première étape, histoire d'éviter les boulettes les plus simples après...

mardi 24 avril 2007 à 19:57:39 | Re : clip deplacement

Darkrats

Réponse acceptée !
Salut,

Oki docky

Alors, la raison pour laquelle lorsque tu mets le nom du clip ça ne marche pas est simple.
Quand tu utilies les événements on() ou onClipEvent(), tu es déjà dans ton clip . Donc dés que tu écriras le nom d'un clip, il le cherchera dans celui ci.

Pour être plus explicite, un exemple expliquera mieux qu'une brique de texte (le ciment coutant cher de nos jours :P) :
Fais deux clips de type bouton dans une nouvelle scène.
Sur le premier clip (que j'appelerai bouton1), tu mets ce code :
on(release){
    trace("this = " + this + " :: chemin vers le bouton ? = " + bouton1);
}

Avec le second bouton (bouton2), mets dans le calque :
bouton2.onRelease = function(){
    trace("this = " + this + " :: chemin vers le bouton ? = " + bouton2);
}


Le premier code te renverra : this = bouton1 :: chemin vers le bouton ? = undefined
Le second code, lui t'enverra : this = _level0 :: chemin vers le bouton ? = _level0.bouton2
Lorsque tu utilises l'écriture : on(), tu es donc déjà dans ton clip, le this fait référence à ton clip. Comme ton bouton n'a pas (à l'intérieur de lui) de clip nommé "bouton1", il te renvoit undefined

En gros, tu ne travailles pas sur le même niveau

Chais pas si j'ai été plus clair

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
mardi 24 avril 2007 à 20:12:01 | Re : clip deplacement

darkthief

ok j'ai pigé ;)

Marchi bien
mercredi 25 avril 2007 à 14:21:07 | Re : clip deplacement

Darkrats

Si tu as compris, pourrais-tu cocher ton post comme "réponse acceptée"
Les modérateurs apprécieront

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------


Cette discussion est classée dans : flash, key, clip, rectangle, deplacement


Répondre à ce message

Sujets en rapport avec ce message

setTimeout qui veut pas se laisser faire dans une classe AS2 [ par goldenboy68 ] Hello, Je suis tombé sur un truc hier soir, et j'ai fait que contourner le problème...alors quelqu'un sait-il comment on implémente la fonction "setT Y a t il un ouf pour sauver l'honneur: Flash/XML/et Clip [ par 13wxcvbn ] Salut à tous ...chui un petit nouveau en Flash mais je m'interesse bcp et comme tout jeune padawouan j'aspire à devenir grand...mais dans ma croissanc Flash MX-bouton lien vers clip ! [ par punkstory ] salu,g deja vu kelke post ki parler du script "goto", mais ca ne donne rien.c un bouton simple sur un sous menu dans un clip eja et je veu ke kan on k Menu déroulant dans Flash 7 avec anime et transpance [ par marvin42 ] Bonjour à tous, j'ai un petit problème avec la réalisation d'un menu dans Flash 7. Je l'ai monté comme suit: c'est un bouton dans une scène avec en Là franchement je vois pas un G besoin d'une bete en flash (Flash, XML, Clip) Pleeeease Help! [ par 13wxcvbn ] Salut à tous ...chui un petit nouveau en Flash mais je m'interesse bcp et comme tout jeune padawouan j'aspire à devenir grand...mais dans ma croissanc integration de cade PHP dans un clip sous flash, est-ce possible ? [ par rem78 ] Bonjour,Je voudrais savoir si on peut intégrer un script PHP dans l'action script d'un clip pour récupérer et afficher des données stockées dans un ch scrollbar et hauteur du clip cible [ par BananaTree ] hello tout le monde.au départ, j'ai créé cette scrollbar parceque je trouvais les composants flash aussi souples à manipuler qu'un brontausore alcooli Comment faire réagir un clip comme un bouton ??? [ par ViNCiNTO ] Bonjour à tous, je debute en flash et j'ai donc quelques petits problèmes. Je pense que la réponse est tres simple mais la je suis bloqué (dslé :P). L Comment faire réagir un clip comme un bouton ??? [ par ViNCiNTO ] Bonjour à tous, je debute en flash et j'ai donc quelques petits problèmes. Je pense que la réponse est tres simple mais la je suis bloqué (dslé :P). L FLASH MX: gestion de clip externe [ par djukura ] Bonjour, J'ai un clip externe mc_ext.swf que je veux charger dans une zone de mon animation principale CalqueImages: Frame 1: zone Frame 2: msg qui


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,671 sec (3)

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