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 :

as2 : coordonnées d'un clip en rotation et pb de bouton


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut as2 : coordonnées d'un clip en rotation et pb de bouton
    bonjour

    je cherche a récupérer en temps réel les coordonnées physiques (sur la scène) d'un clip ajouté avec attachMovie et en rotation sur lui même.

    quand j'utilise dans mon code :

    X = monClip._x;
    Y = monClip.y;

    il me renvoie les coordonnées initiales d'attachement de mon clip sur la scène.

    quelqu'un a une idée de comment faire s'il vous plaît ?


    je cherche aussi a créer un bouton qui resterait appuyé par un clic et serait "désappuyé" par un second clic.
    je cherche à faire ceci car j'ai sur mon bouton un code qui ajoute un clip (créé en code) qui change au cours du temps.

    quelqu'un sait comment faire ?

    si je ne suis pas claire, dîtes le moi ! :-)

    merci beaucoup à tous d'avance !!!

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 165
    Par défaut
    voici un bout de code pour t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    _root.attachMovie("mc_clip", "monclip", 10);
    import mx.transitions.Tween; // on importe la classe Tween 
    import mx.transitions.easing.*; // on importe les classe easing pour les effets visuels.
     
    bouton.onRelease = function(){
    var maTween:Tween = new Tween( monclip, "_x", Regular.easeOut, 100, 200, 20, false ); // on déclare une Tween, celle ci va s'executer automatiquement.
    //coordx = monclip._x;
    }
    monclip.onEnterFrame = function(){
    	coordx = monclip._x;
    }
    mc_clip est un clip créé à la main bien évidemment, et coordx est une variable à indiquer dans "var" d'une zone de texte dynamique

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut
    Merci bcp pour ta réponse !

    je n'ai jamais utilisé de Tween avant et donc j'ai regardé la doc sur internet, mais ça reste encore un peu flou dans ma tête...
    et quand j'essaie d'utiliser ton code il me renvoie des erreurs disant :

    "**Erreur** C:\Documents and Settings\As\Local Settings\Application Data\Macromedia\Flash 8\fr\Configuration\Classes\mx\transitions\Tween.as: Ligne 15 : La méthode nommée 'OnEnterFrameBeacon' n'existe pas.
    static var __initBeacon = OnEnterFrameBeacon.init();

    **Erreur** C:\Documents and Settings\As\Local Settings\Application Data\Macromedia\Flash 8\fr\Configuration\Classes\mx\transitions\Tween.as: Ligne 16 : La méthode nommée 'BroadcasterMX' n'existe pas.
    static var __initBroadcaster = BroadcasterMX.initialize (Tween.prototype, true);

    **Erreur** C:\Documents and Settings\As\Local Settings\Application Data\Macromedia\Flash 8\fr\Configuration\Classes\mx\transitions\Tween.as: Ligne 148 : La méthode nommée 'OnEnterFrameBeacon' n'existe pas.
    OnEnterFrameBeacon.init();"

    alors comme je suis débutante en flash j'ai peut-être fait quelque chose de travers.... (suis très forte pour ça !)

    qu'en penses tu ?

    j'ai placé le code avec l'attachMovie là où je le faisait avant, donc sur un bouton, c'est là où j'ai aussi placé la 2e partie du code que tu me donnes.
    et j'ai placé la dernière partie dans mon onEnterFrame général.

    c'est correct ?

    et tu as une idée à propos de mon histoire de bouton ?

    encore merci !!

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 165
    Par défaut
    Citation Envoyé par Mosler Voir le message
    Merci bcp pour ta réponse !

    je n'ai jamais utilisé de Tween avant et donc j'ai regardé la doc sur internet, mais ça reste encore un peu flou dans ma tête...
    et quand j'essaie d'utiliser ton code il me renvoie des erreurs disant :

    "**Erreur** C:\Documents and Settings\As\Local Settings\Application Data\Macromedia\Flash 8\fr\Configuration\Classes\mx\transitions\Tween.as: Ligne 15 : La méthode nommée 'OnEnterFrameBeacon' n'existe pas.
    static var __initBeacon = OnEnterFrameBeacon.init();

    **Erreur** C:\Documents and Settings\As\Local Settings\Application Data\Macromedia\Flash 8\fr\Configuration\Classes\mx\transitions\Tween.as: Ligne 16 : La méthode nommée 'BroadcasterMX' n'existe pas.
    static var __initBroadcaster = BroadcasterMX.initialize (Tween.prototype, true);

    **Erreur** C:\Documents and Settings\As\Local Settings\Application Data\Macromedia\Flash 8\fr\Configuration\Classes\mx\transitions\Tween.as: Ligne 148 : La méthode nommée 'OnEnterFrameBeacon' n'existe pas.
    OnEnterFrameBeacon.init();"

    alors comme je suis débutante en flash j'ai peut-être fait quelque chose de travers.... (suis très forte pour ça !)

    qu'en penses tu ?

    j'ai placé le code avec l'attachMovie là où je le faisait avant, donc sur un bouton, c'est là où j'ai aussi placé la 2e partie du code que tu me donnes.
    et j'ai placé la dernière partie dans mon onEnterFrame général.

    c'est correct ?

    et tu as une idée à propos de mon histoire de bouton ?

    encore merci !!
    apparement certains fichiers ont été déplacés, il faudrait réinstaller flash à mon avis, par contre, si tu enregistre ton swf et que tu double cliques dessus sans passer par ctrl-enter, ça devrait fonctionner je pense...car flash player détient les infos dans sa propre librairie...

    je t'enverrais bien les fichiers, mais le dossier "transitions" en détient pas mal.

    pour ton bouton, voyons voir avec ça:

    pour un début, tu pourrais par exemple en créer deux (un à l'état enfoncé et l'autre à l'état normal).

    en présumant que tu les aies appelé bouton1 et bouton2 le code serait (sur chaque bouton:

    sur le bouton1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    on(release){
    bouton2._visible = true;
    bouton1._visible = false;
    }
    sur le bouton2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    on(release){
    bouton1._visible = true;
    bouton2._visible = false;
    }
    si tu travailles avec du code sur ta frame:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    bouton1._visible = true;
    bouton2._visible = false;// initialisation de l'état des boutons
     
    bouton1.onRelease = function(){
    bouton2._visible = true;
    bouton1._visible = false;
    }
     
    bouton2.onRelease = function(){
    bouton1._visible = true;
    bouton2._visible = false;
    }
    voilà, je pense que ça devrait suffire...tiens moi au courant pour les tween.

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut
    c'est justement qd j'exporte en .swf qu'il me sort ces erreurs...

  6. #6
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 19
    Par défaut
    j'ai une question, avec tout ce que je lis sur internet sur les Tween, je ne suis pas sure de bien comprendre ce que fait le code que tu me proposes.

    j'ai l'impression que les tween créent des mouvements.

    or dans mon cas, mon clip est déjà en mouvement et je voudrais uniquement être capable de connaitre sa position en permanence.

    L'animation que je réalise schématise une course de voitures, j'ai donc plusieurs voitures qui tournent sur un "même circuit", un cercle dans mon cas, c'est juste une illustration. Et j'ai des textes de saisie qui me permettent de rentrer les chrono réels de mes voitures.
    Je contrôle donc la vitesse de rotation de mes différentes voitures grâce à ça
    en disant dans mon code :
    voiture._rotation = 360/(fps*temps_en_secondes)

    ça marche très bien, elles avancent toutes à des vitesses différentes.

    là où ça se complique c'est qu'une de ces voitures est la mienne et afin de prévoir ma stratégie de course (oui j'utiliserai ça lors de courses réelles), je voudrais avoir une "portion angulaire de couronne" qui se promène juste derrière ma voiture, portion de couronne qui représente le temps nécessaire pour faire un arrêt aux stands. (et donc si une autre voiture la chevauche, je ne peux pas m'arrêter au risque de perdre un tour sur cette voiture)

    or je crée cette portion angulaire de couronne par code uniquement et je n'arrive pas "l'attacher" à ma voiture car ses coordonnées changent et je ne les connais pas.

    je voudrais donc dans mon code de création de couronne lui dire de dessiner le 1er rayon de ma couronne de mon origine de rotation vers là où se trouve ma voiture, où que ce soit.

    je ne peux pas utiliser les coordonnées initiales de ma voiture car la couronne peut être rajoutée à n'importe quel moment de "la course", juste qd on en a besoin par exemple. (apparition en cliquant sur un bouton, le fameux qui doit rester appuyé afin que justement le code puisse être mis à jour avec les positions de ma voiture)
    (et puis de tte façon, pour d'autres raisons encore très longues à expliquer, je ne peux pas créer cette couronne initialement.)
    je précise aussi que je crée cette couronne par code et non par clip car j'ai besoin à tt moment de pouvoir contrôler la portion angulaire (plus ou moins grand en fonction du temps nécessaire).
    L'origine de ma couronne doit donc en permanence être derrière ma voiture, et donc elle tourne avec elle si on veut et l'autre rayon est aussi modifiable en position mais par un autre paramètre.


    je ne sais pas si je suis très claire.
    au besoin je peux t'envoyer mon .fla si tu veux pour que tu puisses regarder plus en détails tout ce que je raconte

    (sachant que le problème exposé ici n'est pas le seul que j'ai...)

    voilà, si je ne suis pas claire et que tu veux d'autres détails, n'hésite pas à demander ! :-)

Discussions similaires

  1. Calculer les coordonnées d'un point en rotation elliptique
    Par MisterG dans le forum Mathématiques
    Réponses: 4
    Dernier message: 03/01/2013, 14h19
  2. Modifier les coordonnées d'un clip
    Par cat2275 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 03/06/2010, 17h21
  3. [AS2] Inclinaison d'un clip + Masque
    Par CUCARACHA dans le forum Flash
    Réponses: 4
    Dernier message: 17/02/2007, 08h18
  4. Réponses: 4
    Dernier message: 05/12/2006, 17h02
  5. Clipping et rotation (DirectX 9)
    Par julian_ross dans le forum DirectX
    Réponses: 1
    Dernier message: 03/02/2004, 05h09

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