Création ellipse

Résolu
Darhyl Messages postés 5 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 7 janvier 2008 - 28 juin 2005 à 08:32
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 - 28 juin 2005 à 16:15
Bonjour a tous ! Voila j'aimerai créer un menu avec des boules tournants autour d'une ellipse. Pour le moment je n'arrive qu'a créer un cercle. Qqun connaitrai-t-il le code pour faire une ellipse ??

Code pour le point tournant autour d'un cercle :

rayon = 50;
angle = 0;
dangle = 0.1;

onEnterFrame = function() {
rond._x = croix._x + rayon*Math.cos(angle);
rond._y = croix._y + rayon*Math.sin(angle);
angle += dangle;

15 réponses

cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
28 juin 2005 à 09:58
Suffit de prendre l'équation paramétrique de l'ellipse:



Regarde un peu par ici:

http://encyclopedie.izynews.be/fr/lexw.aspx?doc=Ellipse_(math%c3%a9matiques)



...et tu verras que la solution est toute bête! (vu que ça ressemble bcp à un cercle...rayon a et rayon b)



Allez...parcke ça m'intéressait j'l'ai testé:



this.angle=0;

this.dangle=0.1;

this.r1=80;

this.r2=30;



this.onEnterFrame=function(){

this.T._x=130+this.r1*Math.cos(angle);

this.T._y=90+this.r2*Math.sin(angle);

this.angle+=this.dangle;

}

@+! Samy
3
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
28 juin 2005 à 09:58
Ce n'est pas compliqué.
Tu prend l'outils pour faire des ronds mais pour la couleur intérieur tu n'en met pas et puis voila.
Aussi ne n'est pas obligé de faire de l'AS pour faire tournée ta boule.
Dans flash il y a se qu'on apelle des guide de mouvement.
Va voir cette adresse sa t'expliquera tout en image :
http://blacknight91.free.fr/Flash_nouvelle/Video/video.php?id=2

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
28 juin 2005 à 09:59
J'trouve ça plus sympa avec l'actionScript! lol
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
28 juin 2005 à 10:42
Oui mais flash a été avant tout concu pour les graphistes... Enfin je suis d'accord c'est plus intéréssant mais s'il y a des moyen de faire plus simple autant s'en servir.

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Darhyl Messages postés 5 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 7 janvier 2008
28 juin 2005 à 11:24
Merci bcp a vous deux. J'avait deja pensé a utilisé les guides de mouvements, mais malgré que je sois plus graphiste que codeur, je trouve ca quand meme plus propre de coder ce genre d'effet :D (beaucoup plus facile a retravailler, ou a changer certaines valeurs par la suite...) Merci !!!

Par contre est ce que vous auriez une idée pour faire que lorsque l'on clique avec la souris sur une des sphères qui tournent, celle ci vienne se mettre en premier plan en suivant bien entendu toujours le chemin elliptique demandé ?
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
28 juin 2005 à 11:42
...voilà, c'est pour le retravailler en fait que c'est plus
simple...pour le guide, il en faudrait un pour chaque sphère...ensuite
paramétrer l'espace entre chaque sphère c'est là que c'est bcp plus
simple avec des angles! (quoique...un setInterval avec une durée
paramétrée...jamais essayé mais pkoi pas)



...Enfin bref, toute façon, pour mettre une sphère au premier plan...vaut mieux passer par le code!



Donc faut prévoir plusieurs choses:

- l'accélération (car on va pas attendre qu'elle fasse tout le tour à la vitesse tortue)

- le sens de rotation (en fonction de la position, elle prendra le chemin le plus court)

- et puis le point d'arrêt (un petit test if angle=0 par exemple)



pour l'accélération dangle=10 (faudra ajouter 2 autres test:
if(angle<10) => angle=0 et if(angle>-10) => angle=0 ...pour
éviter de repartir pour un tour! lol)



...pour le sens de rotation...creuse un peu! au pire tu le fais dans un seul sens!



@+! Samy
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
28 juin 2005 à 11:45
Rectification: un guide suffirait, mais peu importe...c'était pour m'éviter les remarques! lol
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
28 juin 2005 à 11:54
Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
28 juin 2005 à 14:26
J'avais envie de creuser un peu cette histoire après la pause déjeuner et ça a donné ça:



_global.survol=false;

this.angle=0;

this.dangle=0.03;

this.nbSpheres=5;

this.angleEntre=2*Math.PI/this.nbSpheres;

this.r1=80;

this.r2=30;



//On attache le nombre de sphères que l'on a défini ci-dessus:

for(i=1;i<=this.nbSpheres;i++){

this.attachMovie("T","T"+i,100+i);

this["T"+i].onRollOver=function(){

_global.survol=true;

}

this["T"+i].onRollOut=function(){

_global.survol=false;

}

this["T"+i].onPress=function(){

this._parent.tourner(this);

}

}



//Fonction qui va faire venir la sphère à un point précis (ex: x=200)

function tourner(sphere:MovieClip){

this.onEnterFrame=function(){

if(Math.round(sphere._x) != 200){

for(i=1;i<=this.nbSpheres;i++){



this["T"+i]._x=130+this.r1*Math.cos(angle+i*this.angleEntre);



this["T"+i]._y=90+this.r2*Math.sin(angle+i*this.angleEntre);

}

this.angle+=this.dangle;

}

}

}



//Le onEnterFrame qui fait tourner les sphères quand il n'y a pas de rollover:

this.onEnterFrame=function(){

if(!_global.survol){

for(i=1;i<=this.nbSpheres;i++){

this["T"+i]._x=130+this.r1*Math.cos(angle+i*this.angleEntre);

this["T"+i]._y=90+this.r2*Math.sin(angle+i*this.angleEntre);

}

this.angle+=this.dangle;

}

}



Y'a pas la gestion du sens de rotation, mais c'est super adaptable.

Il faut juste créer un clip, l'appeler "T", cocher la case "Exporter
pour ActionScript" (dans propriétés) et dans le code faut simplement
définir le nombre de sphères à attacher! Rien à placer sur la scène!



@+! Samy
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
28 juin 2005 à 15:16
Raa c'est psa vrai !
En ce moment plein de message que je tape ne sont pas pris en compte....
Sa me soule sa.
Résultat on se retourve avec juste pas signature...
je disai donc dans le message précédent que oui si on veut paramétré il vaux mieu utilisé de l'AS

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
28 juin 2005 à 15:23
(moi je sélectionne et je fais "copier" avant de cliquer sur "ajouter" depuis 3 jours!)
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
28 juin 2005 à 15:31
Oui parce que sa ne me fais sa que depuis quelque jour.
Et le site chez moi bug a certain moment (hier presque toute la journée et ce matin aussi)
L'espace de stockage serai t'il plein ?

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
Darhyl Messages postés 5 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 7 janvier 2008
28 juin 2005 à 16:00
C'est super d'essayer de m'aider...mais ton code ne fonctionne pas...ou en tout cas pas chez moi (ce qui me parait peu probable...). J'ai bien créer un clip "T", je l'ai exporter en AS. Et j'ai insérer le code dans la premiere trame sur ma scene principale...résultat : j'ai les spheres qui tournent, lorsque je passe la souris sur une sphere l'animation se fige, et si je clique elle se relance...puis apres que je clique ou pas il ne se passe plus rien... :/
0
Darhyl Messages postés 5 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 7 janvier 2008
28 juin 2005 à 16:05
Oula je dit des bétises !!! excuse moi, ton code marche !!! C'est moi qui avait mal compris au début. Par contre c'est tres marrant tu as une illusion d'optique dedans, a gauche les spheres supérieurs sont en premiers plans, a droite en arriere plan :D cela donne un style particulier :p. Je vaix mixer mon acien code avec le tien et je pense que tout sera nikel. Merci beaucoup!
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
28 juin 2005 à 16:15
Tu m'as fait peur l'espace d'un instant...lol



@+! Samy
0
Rejoignez-nous