begin process at 2012 05 27 02:22:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

ActionScript

 > 

deplacer un clip par AS et acceleration


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

deplacer un clip par AS et acceleration

mardi 17 janvier 2006 à 16:37:05 | deplacer un clip par AS et acceleration

jimmypage64

bonjour, je n'arrive pas a faire déplacer un clip..
Sur un rollover je voudrai que mon clip monte progressivement !
le code que j'ai ecrit est:
vitesse = 0.001;

puis dans un bouton :

on(rollOver)
 {
    for (i=1; i<100; i++)
   {
    droit._y  -= i*vitesse;
        vitesse= vitesse+0.0001;
   }
   vitesse = 0.001;
 }

Ca ne marche pas, le clip est en bas puis des que je passe la souris dessus il va direct en haut, sans impression de mouvement (ondirai qu'il disparait et réapparaît en haut).

Si quelqu'un peut m'aider SVP
 



Zoso
mardi 17 janvier 2006 à 17:07:52 | Re : deplacer un clip par AS et acceleration

daffy17

Réponse acceptée !
normal qu'il aille directement en haut car la boucle for va etre analyser aussi rapidement que ton processeur le peux.
donx pour le cerveau humain impossible de voir les etapes de deplacement et il l'analyse donc comme un déplacement unique (bon c de la physique apres).
si tu veux executer un deplacement qui se vois met ton déplacement sur le onClipEvent("enterframe"){
    function deplacement();
}
de plus évite de mettre des chiffres du genre 0.0001 car j'ai remarqué souvent que flash les arrondissait
il vaut donc mieux que tu utilise un grand nombre que tu redivisera le moment voulu

//Sur ton clip que j'ai appelé "monClip"
onClipEvent (load) {
    var seDeplace:Boolean = false;
    var maHauteur:Number = 0;
    var maVitesse:Number = 100;
}
onClipEvent (enterFrame) {
    if (seDeplace) {
        if (this._y>maHauteur) {
            this._y -= 10*maVitesse/1000;
            maVitesse += 100;
        }
        else
        {
            seDeplace = false;
        }
    }
}

//Sur ton bouton
on (release) {
    _root.monClip.seDeplace = true;
}

ensuite a toi de varier les valeurs pour donner l'effet désirer
il y'a surement d'autre facon mais celle-ci me conviens


Moi, tout ce que je veux, c'est aider mon prochain et que mon prochain m'aide
mardi 17 janvier 2006 à 18:00:00 | Re : deplacer un clip par AS et acceleration

jimmypage64

Nan toujours pareil !!
J'ai mis maVitesse a 1 et je l'ai divisée par 10000000000 et ca fait toujours pareil.
Par contre j'ai laissé le code dans le bouton car en le mettant la où tu ma dis ca marchait pas
Peux tu me repréciser où exactement il faut le mettre ?

Zoso
mardi 17 janvier 2006 à 18:10:12 | Re : deplacer un clip par AS et acceleration

daffy17

Réponse acceptée !
je te l'ai indiquer, le premier est a mettre sur ton clip qui contient la photo
onClipEvent (load) {
    var seDeplace:Boolean = false;
    var maHauteur:Number = 0;
    var maVitesse:Number = 100;
}
onClipEvent (enterFrame) {
    if (seDeplace) {
        if (this._y>maHauteur) {
            this._y -= maVitesse/100;
            maVitesse += 100;
        }
        else
        {
            seDeplace = false;
        }
    }
}
le deuxieme a mettre sur le bouton(n'oublie de remplacer monClip par le nom de ton clip image)
on (release) {
    _root.monClip.seDeplace = true;
}

la solution fonctionne car je l'ai testée et surtout pas de boucle for si tu veux un effet de deplacement(et encore moins while)



Moi, tout ce que je veux, c'est aider mon prochain et que mon prochain m'aide
mardi 17 janvier 2006 à 18:17:58 | Re : deplacer un clip par AS et acceleration

jimmypage64

Yes !! ca marche bien !!!
En fait y fallait que j'enleve le _root car je me trouve dans un clip...
Merci bien c'est très très cool.


Zoso
mardi 17 janvier 2006 à 21:53:01 | Re : deplacer un clip par AS et acceleration

jimmypage64

Re daffy, j'ai juste une question au sujet du code tout a l'heure...
Que sont les lignes:   var seDeplace:Boolean = false;
                                var maHauteur:Number = 0;
                                var maVitesse:Number = 100;
A quoi sert le var devant ?
Ce sont des variables propres au clip ? des methodes ?

Merci

Zoso
mercredi 18 janvier 2006 à 09:38:17 | Re : deplacer un clip par AS et acceleration

daffy17

oui se ce sont des variables propres au clip car elle sont déclaré au  chargement de celui-ci(onClipEvent (load) ).cependant elles reste accessible par les autres objet de ton animation par réferencement (_root, _parent, monClip.maVariable)
Le onClipEvent (enterFrame) exécute ton code à l'intérieur a chaque fois que la tete de lecture se déplace d'une frame et que ton clip s'y trouve.
Par exemple s'y tu à une animation à 24 images/sec et que ton clip se trouve sur 24 frames alors le code à l'intérieur sera éxecuté 24 fois en une seconde (si qui peut te permettre de temporisé une animation, malheureusement si ton animation est affiché en qualité inférieur, le nb d'images par seconde est faussé car le player lit une image sur 2 ou 3 - je ne sais pas exactement - )


En ce qui concerne spécifiquement mes variables :
    - var seDeplace:Boolean = false;//  permet de définir si le clip doit se déplacer
    c'est le déclencheur qui autorise le deplacement à chaque enterFrame
    - var maHauteur:Number = 0;// définit la hauteur à laquelle ton clip doit s'arreter
    - var maVitesse:Number = 100;// définit la vitesse de déplacement
    elle est incrémenté a chaque éxécution pour un effet accéléré comme tu voulais


Pour ce qui est du var devant la déclaration, voici un extrait de l'aide de FLASH 8

Déclaration des variables

Vous pouvez déclarer les variables sur une image du scénario, directement dans un objet ou dans un fichier de classe externe.

Définissez les variables à l'aide du mot clé var et respectez leurs conventions d'appellation. Comme dans l'exemple suivant, vous pouvez déclarer une variable nommée firstName :

var firstName:String;

Lorsque vous déclarez une variable, vous lui affectez un type de données. Dans le cas présent, vous affectez le type String à la variable firstName.

Affectation des types de données et typage strict

Dans Flash, les variables vous permettent de stocker des valeurs dans votre code. Vous pouvez déclarer explicitement le type d'objet d'une variable lorsque vous la créez. Cette opération est appelée le typage strict.

Si vous ne déclarez pas de façon explicite qu'un élément contient un nombre, une chaîne ou tout autre type de donnée, lors de l'exécution du script, Flash Player tente d'identifier le type de données de cet élément lorsqu'il est affecté. Si vous affectez une valeur à une variable comme indiqué dans l'exemple suivant, lors de l'exécution du script, Flash Player évalue l'élément situé à droite de l'opérateur et détermine qu'il est de type numérique :

var x = 3;

Dans la mesure où x n'a pas été déclaré par typage strict, le compilateur ne peut pas déterminer son type. Ainsi, pour le compilateur, la variable x peut être de n'importe quel type. (Voir la section Affectation d'un type de données.) Une affectation ultérieure pourra changer le type de x. Par exemple, l'instruction x = "hello" change le type de x en chaîne.

ActionScript convertit toujours les types de données primitifs (tels que Boolean, Number, String, null ou undefined) automatiquement lorsqu'une expression en a besoin et que les variables ne sont pas déclarées par typage strict.

Le typage strict des données offre plusieurs avantages lors de la compilation. La déclaration des types de données (typage strict) permet de prévenir et de diagnostiquer les erreurs de votre code au moment de sa compilation. Pour déclarer une variable par typage strict, utilisez le format suivant :

var variableName:datatype;

REMARQUE


Le typage strict des variables est parfois appelé typage fort.

Les incompatibilités de type de données déclenchent des erreurs de compilation, le typage strict facilite le débogage lors de la compilation et permet donc d'éviter d'affecter un type de données incorrect à une variable existante. Lors de la programmation, le typage strict des données active les conseils de code dans l'éditeur ActionScript (mais vous devez toujours utiliser les suffixes de nom d'occurrence pour les éléments visuels).

L'utilisation du typage strict vous empêche d'affecter, par inadvertance, un type de valeur incorrect à une variable. Flash vérifie les erreurs de typage lors de la compilation. En cas de type de valeur incorrect, il affiche un message d'erreur. Ainsi, l'application du typage strict permet de s'assurer que vous ne tentez pas d'accéder à des propriétés ou des méthodes qui ne font pas partie d'un type d'objet. Le typage strict permet également de bénéficier automatiquement des conseils de code proposés par l'éditeur d'ActionScript pour les objets.

J'espère que tout cela t'aura aider, à toi ou ceux qui le liront...



Moi, tout ce que je veux, c'est aider mon prochain et que mon prochain m'aide
mercredi 18 janvier 2006 à 19:03:11 | Re : deplacer un clip par AS et acceleration


Cette discussion est classée dans : clip, deplacer, rollover, vitesse, acceleration


Répondre à ce message

Sujets en rapport avec ce message

deplacer un clip [ par Sebastian1 ] Bonjour;svp; aidez moije veux deplacer un clip "symb1" quand je fait le survol sur le clip "symb3";j'ai essayer avec ça mais ça marche pas;on (rollOve nom de clip [ par baffx ] Salut à tous, G demandé de l'aide ya une semaine mais je n'est pas tout compris, je vais donc reformuler plus clairement (d'ailleur merci à ceux quio Deplacer un clip via un bouton [ par calin0o ] J'aimerai savoir si il est possible si je peux deplacer un clip lorsque je clic sur un bouton !?si oui, pouvez vous me donner le code :$merci (k) comment deplacer un perso en movie clip? [ par moreon ] J'en suis a la programmation de mon premier jeu de plate forme. J'ai fait divers movie clips de mon perso qui marche, saute et coure. Je voudrais sa Arret d'un défilement au survol [ par vidol ] Slt tout le monde, COmment faire pour arreter le défilement d'un clip de bas en haut au survol de celui-ci SVP. J'ai tenté un rollover sur le clip ave rollover de bouton dans un clip [ par cam105 ] Bonjour,J'ai la source d'un clavier flash virtuel. Ce clavier est composé de clip contenant un bouton. Je souhait appliquer un rollover sur les bouton Problème deplacement vitesse [ par sepult ] Bonjour tous, j'ai un petit problème avec mon code as, en effet je déplace un clip qui va allez jusqu'à un autre clip par rapport à sa position x et y flash as2 slide diagonale (bas gauche-haut droite) avec btn qui diminuent et interaction curseur [ par dospy ] Bonjour à tous, Je suis débutante en flash, enfin surtout en as. Malgré tous les tutoriaux, je suis bloquée sur une animation. J'aimerai avoir un déf rollOver>Animation [ par MangueCarotte ] Bonsoir à tous,J'y suis presque... je souhaiterais juste faire jouer un clip sur un bouton en rollOver (sur une vignette, un clip viendra se superpose mouvement exponentiel [ par damienjamet ] salut je voudrais appliquer une équation de vitesse exponentielle à un clip dans flash CS Pro. L'idée c'est de remplacer une interpolation de mouveme


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

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