Question

J'ai une petite tâche dans Flash, que je vais avoir un peu de mal avec.

Tout d'abord, j'ai 2 couches. Le premier est un gradient avec des couleurs différentes, en plus de cela est la deuxième couche, qui est une interpolation de forme (clip). Pour ceux d'entre vous en utilisant CS4, une interpolation classique. J'utilise CS3 et Actionscript 2

Je l'ai fait allready l'interpolation de forme, il est très simple, il se transforme en un shuriken et le dos au cercle.

La chose est, je dois programmer pour que cela ne se passe quand je déplace ma souris sur le cercle. Et dois-je déplacer ma souris loin du cercle / shuriken, il doit rester à jamais dans la forme qu'il avait le moment, je quitté la région. Donc, si elle est à mi-chemin du cercle shuriken et je supprimer ma souris de la zone, il devrait rester sous cette forme à mi-chemin, ne revient pas à être un cercle.

En second lieu, je dois être en mesure de faire glisser la forme, et en le faisant glisser, l'interpolation de forme doit se comporter comme il le ferait normalement. Le relâcher ne fait pas arrêter « tweening », bougeant seulement ma souris si sa zone. Le fond dégradé donne l'effet agréable des couleurs en constante évolution.

J'ai nommé la forme tween "circle_mc".

Ce que je ne peux pas mettre en œuvre:
1) La forme en réaction à mon mouseover
2) Faire la dragable de forme.

Quelqu'un peut-il me donner quelques conseils, peut-être des articles ou des exemples à ce sujet?

Était-ce utile?

La solution

Si je suis bien, vous devriez être en mesure de placer quelque chose de similaire au script suivant dans le clip « circle_mc » où votre interpolation de forme est. Cela vous permettra de créer plusieurs instances du clip qui font la même action. Je l'ai téléchargé un test pour vous de vérifier. Si ce n'est pas du tout ce que vous vouliez dire, laissez-moi savoir. Vous pouvez également créer une classe externe pour l'utiliser comme la classe de base de vos graphiques et de mettre le code là-dedans.

var hasRolledOver:Boolean = false;

this.onPress = function():Void
{
    this.startDrag();
}

this.onRelease = function():Void
{
    this.stopDrag();
}

this.onRollOver = function():Void
{
    if (!hasRolledOver)
    {
        this.gotoAndPlay(2);
        hasRolledOver = true;
    }
}

this.onRollOut = function():Void
{
    this.stop();
}

http://typeoneerror.com/media/as/test.fla.zip

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top