begin process at 2008 08 28 17:40:10
1 233 273 membres
370 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : redimensionner un movie clip dynamiquement [ Scripts / ActionScript ] (cece2000)

redimensionner un movie clip dynamiquement le 23/04/2008 15:57:54

cece2000
Bonjour à tous,
je suis débutant en flash mais essaye de s'en sortir! Je connais les bases de flash mais j'ai une question qui ne trouve pas (encore) de réponse. Voilà, je voulais savoir s'il était possible de redimensionner dynamiquement un movie clip. En effet, dans mon animation je drag and drop des objets, mais je voudrais que l'utilisateur puisse agrandir ou retrecir comme il le souhaite ce movieclip. Comment dois-je m'y prendre? Où m'informer?

HELP!

Merci d'avance.

Re : redimensionner un movie clip dynamiquement le 23/04/2008 18:10:28

dj_ouf
Réponse acceptée !
Salut!

Bien sûr c'est tout à fait possible!
En jouant sur les propriétés _xscale et _yscale de ton movieclip.

ex : monClip._xscale += 50;   (au passage c'est une valeur en pourcentage)

Ensuite il faut combiner cela avec des actions que tu désirerai ( clique sur un bouton, touche + du clavier, ect...)

Ex dans le cas d'un bouton "augmenter la taille" :

btnAugmenterTaille.onPress = function() {
    monClip._xscale += 50;
}

ps : tes clips et boutons placés sur la scène doivent avoir un nom d'occurence

En Espérant t'avoir un peu éclairé



Re : redimensionner un movie clip dynamiquement le 23/04/2008 18:41:28

cece2000
merci beaucoup dj-ouf! ça fonctionne parfaitement! Est ce que je peux dire au bouton de s'arréter à une certaine taille d'agrandissement pour que mes formes n'occupent pas tout l'écran? Est il possible de créer un bouton pour faire une rotation de la forme? Si oui, est-ce avec rotate? De plus, pour faciliter mon animation j'aimerais bien que l'effet du "bouton redimenssioneur" face effet sur l'ensemble des formes que j'ai. Dois-je répéter la ligne de code pour chacune des formes (environ 50) ou y aurait-il un moyen pour dire au bouton de prendre en compte un ensemble de forme? (je sais pas si je suis très clair... désolé) Désolé pour toutes ces questions mais je patauge totalement et sent bien que je touche le resultat que je veux du bout des doigts! encore merci!

Re : redimensionner un movie clip dynamiquement le 23/04/2008 19:13:34

dj_ouf
Réponse acceptée !
Y'a pas de quoi!

- Oui, tu peux aisément spécifier une limite d'agrandissement des clips à l'aide d'un condition :

if (monClip._width < 400) {
    monClip._xscale += 50;
}
( si la largeur totale de monClip est inférieure est 400 alors augmenter la taille de monClip de 50% ).

Tu peux très aussi faire un test de condition sur la propriété _xscale directement :

if (monClip._xscale < 200) {
    monClip._xscale += 50;
}

- Pour effectuer une rotation : utilise la propriété _rotation   :p  (en %)

- Alors pour redimensionner tes occurences, je dirais qu'il y a 3 solutions rapides :
    - soit comme tu dis, répéter la ligne en changant le nom du clip à chaque clip
    - soit nommer tous tes clips avec un prexife commun et utiliser une boucle :

       for (i=0 ; i<[nombre de clips au total] ; i++) {
            nomClip[i]._xscale += 50;         
        }

      Avec cette méthode, tu peux en 3 lignes appliquer une transformation à autant d'occurences que tu veux!

    - soit encore à l'aide d'unc boucle, énumérer toutes les occurences placées sur la scène:

    for in(clip in this) {
       clip._xscale += 50;
    }
    (à tester, je n'ai pas testé)

Voilà à toi de tester et choisir ce que tu veux :)

Mais globalement, si tu désires appliquer la transformation à tous les clips sans exceptions, il  y a une méthode extrément facile qui consiste à placer tous ces clips dans un clip conteneur principal qui sera placé sur la scène.
Ainsi, tu auras juste à modifier le _xscale de ce conteneur . Mais il y a un seul défault, c'est que les origines (d'un point de vue repère sur la scène) seront tous décalés.


Re : redimensionner un movie clip dynamiquement le 23/04/2008 19:28:26

cece2000
Un énorme merci pour ta réponse détaillée et si rapide!!! Les forums manque de gens comme toi! Par contre je dois vraiment être nul car avec toutes des données précieuses le résultat ne fonctionne pas. (pas encore?) Je te donne le code que j'ai dans mon image principale peut être que tu sauras me trouver ce qui cloche. Je dois avoir oublier plein de trucs je pense. for (i=0 ; i<[3] ; i++) { bec[i]._xscale += 50; } btnAugmenterTaille.onPress = function() { bec1._xscale += 50; bec1._yscale += 50; } if (bec[i]._xscale < 100) { bec[i]._xscale += 50; } PEut etre as tu la solution? Désolé pour toutes ces questions!

Re : redimensionner un movie clip dynamiquement le 23/04/2008 19:32:33

cece2000
ah oui désolé pour préciser mes movie clip s'appelle bec1 bec2, pour l'instant je n'essaye le code qu'avec 2 mc.

Re : redimensionner un movie clip dynamiquement le 23/04/2008 19:35:40

cece2000
for (i=0 ; i<[3] ; i++) {
            bec[i]._xscale += 50;          
        }

btnAugmenterTaille.onPress = function() {
   bec1._xscale += 50;
   bec1._yscale += 50;
}

if (bec[i]._xscale < 100) {
    bec[i]._xscale += 50;
}

désolé je n'arrivais pas a entrer mon code avec les saut de ligne.

Re : redimensionner un movie clip dynamiquement le 24/04/2008 09:49:00

dj_ouf
Re salut ! :p

Tu  y étais presque! Juste une petite erreur de placement. Voilà avec correction, pour le cas de 3 clips nommés bec1, bec2 et bec3 sur la scène :

btnAugmenterTaille.onPress = function() {
        for (i=0 ; i<3 ; i++) {
            if (bec[i]._xscale < 200) {
                bec[i]._xscale += 50;
            }
        }
}


Voilà, en fait il fallait imbriquer les conditions, car nous devons faire le test seulement lorqu'on a cliqué sur le bouton btnAugmenterTaille. Ce n'est pas forcément évident à comprendre au début, mais à force de l'utiliser on en comprend la subtilité, sisi!
Sinon, tu n'avais pas besoin de mettre le 3 entre crochets sur la ligne du for, car en fait le crochet sert à spécifier qu'on veut interpréter le nom du clip avec la valeur d'une variable ;)
Comme ceci :   bec[variable]  --> donne "bec4" si variable = 4.

Ca donne des possibilités énorme n'est ce pas ?

Bon courage pour la suite, n'hésites pas

Re : redimensionner un movie clip dynamiquement le 24/04/2008 09:54:43

faiblard
Bonjour,

for (i=0 ; i<[3] ; i++) {
            bec[i]._xscale += 50;          
        }

btnAugmenterTaille.onPress = function() {
   bec1._xscale += 50;
   bec1._yscale += 50;
}

if (bec[i]._xscale < 100) {
    bec[i]._xscale += 50;
}

A quoi te sert ton if? la a vu de nez dans ton bec[i] doit correspondre a bec[3] comme il n'est pas dans ta boucle for...et il ne marchera pas dans le cas de ton appuie bouton puisqu'il n'est pas dans la fonction... (j'ai lu en diagonal mais bon...)

Je pense plutot que tu voulais mettre dans le style :



for (i=0 ; i<[3] ; i++) {
            bec[i]._xscale += 50;          
        }

btnAugmenterTaille.onPress = function() {
   if (bec1._xscale < 100)
 {
        bec1._xscale += 50;
       bec1._yscale += 50;
    }
}

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !

Re : redimensionner un movie clip dynamiquement le 24/04/2008 11:26:04

cece2000
bonjour,

merci de suivre mes essais!

j'ai bien utiliser le nouveau code que tu m'as laissé dj_ouf. et ça ne marche toujours pas...
Je ne sais pas ce qu'il manque. Il ne fallait pas déclarer une variable ou quelquechose comme ça avant de mettre cette nouvelle ligne de code?

je ne comprend vraiment pas ce qui cloche.
:(


[Page 1 Page 2 Page 3]
Classé sous : flash, clip, redimensionner, dynamiquement, movie

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS