begin process at 2012 05 26 23:00:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Multimédia

 > 

Animation

 > 

flash carrousel autour d'une image centrale


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

flash carrousel autour d'une image centrale

mercredi 18 novembre 2009 à 15:32:06 | flash carrousel autour d'une image centrale

seb2905

Bonjour,

Comme le titre l'indique, je voudrais faire un carrousel flash qui tourne autour d'une image positionné au centre.
J'ai trouvé des sources pour le carrousel qui fait exactement ce que je veux (ou presque), en effet le carrousel en lui même c'est bon, le problème c'est plutôt mon image centrale qui est toujours en fond, je n'arrive pas à "l'incorporer" à l'intérieur du cercle : il faudrait que les images qui tournent passent derrière l'image centrale comme si elles tournaient autour d'un objet.
J'ai trouvé 2 codes que j'essaye de fusionner... sans résultat.
Quelqu'un aurait déjà rencontré ce genre de situation?

Merci de votre aide

code du carrousel (source : http://www.gotoandlearn.com/play?id=33) :
Code :

Code ActionScript :
import mx.utils.Delegate;

var numOfItems:Number;
var radiusX:Number = 300;
var radiusY:Number = 60;

var centerX:Number = Stage.width / 2.2;
var centerY:Number = Stage.height / 2;
var speed:Number = 0.1;
var perspective:Number = 100;
var home:MovieClip = this;

var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha = 0;

var xml:XML = new XML();
xml.ignoreWhite = true;

xml.onLoad = function()
{
	var nodes = this.firstChild.childNodes;
	numOfItems = nodes.length;
	for(var i=0;i<numOfItems;i++)
	{
		var t = home.attachMovie("item","item"+i,i+1);
		t.angle = i * ((Math.PI*2)/numOfItems);
		t.onEnterFrame = mover;
		t.toolText = nodes[i].attributes.tooltip;
		t.icon.inner.loadMovie(nodes[i].attributes.image);
		t.r.inner.loadMovie(nodes[i].attributes.image);
		t.icon.onRollOver = over;
		t.icon.onRollOut = out;
		t.icon.onRelease = released;
	}
}

xml.load("icons.xml");

function mover()
{
	this._x = Math.cos(this.angle) * radiusX + centerX;
	this._y = Math.sin(this.angle) * radiusY + centerY;
	var s = (this._y - perspective) /(centerY+radiusY-perspective);
	this._xscale = this._yscale = s*100;
	this.angle += this._parent.speed;
	this.swapDepths(Math.round(this._xscale) + 100);
}

this.onMouseMove = function()
{
	speed = (this._xmouse-centerX)/2500;
}


code de l'image qui tourne autour de l'autre (source : http://www.flashkod.com/codes/LOGO-T...ITE_40628.aspx) :
Code :
Code ActionScript :
//créer un clip conteneur
var mc:MovieClip = _root.createEmptyMovieClip("conteneur", 100);
mc._x = 250;
mc._y = 200;
// y attacher le logo, les ptites étincelles et la planete
mc.attachMovie("logo", "logo_inst", 5000);
mc.attachMovie("etincelle", "etincelle", 500,{_x:-500,_y:-500});
mc.attachMovie("planete","planete_inst",200,{_x:40});
i = 1;
mc.onEnterFrame = function() {
 if (i == 50) {
  i = 0;
 }
 //dupliquer les étincelles pour l'effet "trainée"
 var star:MovieClip = _root.conteneur.attachMovie("etincelle", "etincelle"+i, _root.NSD+i);
 //les faires suivre le logo
 star._x = _root.conteneur.logo_inst._x;
 star._y = _root.conteneur.logo_inst._y;
 
 star._xvitesse = Math.random()*15;
 star._yvitesse = Math.random()*4-3;
 star._alpha = 100;
 star.onEnterFrame = function() {
  this._yvitesse += 0.05;
  this._xvitesse = _xvitesse/1.5;
  this._x +=this._xvitesse;
  this._y += this._yvitesse;
  this._alpha -= 1;
  if (this._alpha<=50) {
   removeMovieClip(this);
  }
 };
 i++;
};
// fonction pour créer la trajectoire du logo
var coef = 0;
luneQuiTourne = function () {
 coef += 0.05;
 this._x = 40+Math.cos(coef)*230;
 this._y = 0+Math.sin(coef)*80;
 this._xscale =Math.sin(coef)*100;
 this._yscale =Math.sin(coef)*25+75;
 // là on change les profondeur du logo et des étincelles pour qu'ils aient 
 //l'air de passer derrière la planète
 if (this._y<0) {
 conteneur.planete_inst.swapDepths(6000);
  conteneur.logo_inst.swapDepths(5000);
  _root.NSD=1;
 } else {
  conteneur.planete_inst.swapDepths(400);
  conteneur.logo_inst.swapDepths(5000);
  _root.NSD=7000;
  

 }
};
conteneur.logo_inst.onEnterFrame = luneQuiTourne;
mercredi 18 novembre 2009 à 16:52:00 | Re : flash carrousel autour d'une image centrale

gremlins7

Membre Club
Réponse acceptée !
Salut,
tiens c'est curieux le premier code que tu poste ressemble étrangement au miens (que tu peux trouver sur ce site)...Ca y ressemble tellement qu'il y a anguille sous roche comme on dit...

Pour ton pb la solution est simple si tu utilise le premier code : tu place ton image au milieu avec un swapdeth de zero et le tour est joué. D'ailleurs si tu regarde ma source et les posts associés tu y trouvera la même réponse en plus detaillé.

A+
jeudi 19 novembre 2009 à 09:52:38 | Re : flash carrousel autour d'une image centrale

seb2905

Réponse acceptée !
Merci pour ta réponse Gremlins,
Par contre je n'y suis pas arrivé
Voici ce que j'ai fais :
- j'ai créé un nouveau layer nommé "image" ou j'ai mis mon image au centre
- clic droit : convertir en symbole, en MovieClip nommé "tete"
-j'ai mis en <instant name> : "tete"
- F9 puis j'ai rentrer le code suivant : tete.swapDepths(0);

Quand je teste, ça ne marche pas.

J'ai regardé tes posts mais je n'ai pas trouvé ta réponse plus détaillée (http://www.flashkod.com/codes/MENU-CARROUSSEL-3D_46489.aspx)
Pour ce qui est du code, je sais pas, je l'ai trouvé sur le site gotoandlearn car il y a un tuto vidéo (en anglais)
Pour ce qui est du flash je suis plus que novice, je n'ai jamais pris de cours et j'essaye d'apprendre par moi même.

En tout cas merci pour ton aide!
jeudi 19 novembre 2009 à 09:59:07 | Re : flash carrousel autour d'une image centrale

gremlins7

Membre Club
Réponse acceptée !
Re,
bien non, il faut le mettre dans le même layer il faut le placer dans la biliotheque de clip puis le rajouter par code rajouter en utilisant attachMovie sur la variable t.
Et le code swapDepths(0); est à integrer au code que tu as déjà mis en place.
A+
jeudi 19 novembre 2009 à 11:02:35 | Re : flash carrousel autour d'une image centralehttp://www.flashkod.com/forum/sujet-FLASH-CARROUSEL-AUTOUR-IMAGE-CENTRALE_1377706.aspx

seb2905

... ok...
Et en code ça donne quoi?

(va falloir que je prenne des cours sur les bases je crois...^^')

Si je récapitule... la fonction attachMovie je le met dans le code de l'image et le swapDepths dans le code principal..?!
jeudi 19 novembre 2009 à 11:16:47 | Re : flash carrousel autour d'une image centrale

gremlins7

Membre Club
rrr non !!!!
bien, le conseil que je te donne c'est d'essayer de bien comprendre comment fonctionne le code que tu utilise. Il est manifeste que tu ne maîtrise pas les bases. Au regard de ça, je ne peut pas t'aider car quelque soit ce que je peux t'expliquer tu ne comprendrai pas ! (c'est pas péjoratif). Donc essaye de te renseigner sur attachMovie avec google.

Je t'ai donné la solution, mais tu n'as pas encore assez de recul pour la comprendre, donc je ne peux te souhaiter que bon courage.

A+
jeudi 19 novembre 2009 à 11:41:06 | Re : flash carrousel autour d'une image centrale

seb2905

T'es dur prof!
Bon reste plus qu'a me casser les dents dessus et trouver...
C'est assez frustrant d'être près du but et de rien pouvoir faire!!!
J'te tiendrais au courant!

Merci
jeudi 19 novembre 2009 à 15:10:04 | Re : flash carrousel autour d'une image centrale

seb2905

Après un bon repas ça va mieux!
Bon, je n'ai pas mis l'image sur la scène comme précédemment. J'ai fais clic droit sur le MovieClip nommé "tete" dans la bibliothèque : et j'ai mis "tete" en identifiant dans les propriétés de liaison.
Ceci fait, j'ai rentré le code suivant dans ma page de code principale :
Code ActionScript :
var t = attachMovie("tete", "tete" + depth, 199);
tete.swapDepths(0);

Le test est comment dire... mitigé! Oui les objets qui tournent passent devant l'image centrale, mais pas assez tôt... Je suppose que c'est mon "199" sorti de nul part qui en ai la cause. J'ai mis 199 par tâtonnement, j'ai vu que quand je mettais "0" rien ne se passait, quand je mettais 3000, les images tournaient derrière l'image centrale, et de fil en aiguille je suis arrivé au seuil critique qu'est "199", le problème c'est qu'avec des chiffres après la virgule on arrive à rien... Faut trouver la bonne formule je pense...
J'ai l'impression que je suis sur la bonne voie puisque l'image arrive à être tantôt au dessus tantôt au dessous... C'est juste une question de "timing"...
grrrrr...
jeudi 19 novembre 2009 à 15:17:54 | Re : flash carrousel autour d'une image centrale

seb2905

Bwahahaha! Je dis des conneries! J'ai mal fais ma recherche de seuil critique!!! Ça y'est libération!!! J'ai enfin trouvé!!!
En tout cas un grand merci à toi prof Gremlins qui m'a bien fait galérer mais surtout qui m'a bien aider!!!
jeudi 19 novembre 2009 à 16:19:40 | Re : flash carrousel autour d'une image centrale

gremlins7

Membre Club
Re,
c'est probablement à cause de la ligne :
var perspective:Number = 100;

je sais pas trop comme ça mais à mon avis le "zero réel" de l'anim n'est pas à zero, c'est à dire que l'anim n'est pas centré en profondeur (axe de profondeur z) mais il serait a priori autour de 100; essaye de regler le swapDEATH à autre chose que zero.

A+

PS1: ca n'a rien à voir avec le 199
PS2: ben oui on est la pour amener les gens a trouver tout seul, pas a leur fournir le truc tout cuit. Tu est un des rares qui a réussi car tu na pas lacher le morceau, félicitations.


Cette discussion est classée dans : var, math, logo, conteneur, inst


Répondre à ce message

Sujets en rapport avec ce message

Scrollpane et chargement d'images dynamique [ par SoyYo ] Bonjour J'ai un probleme avec une galerie photo dynamique. Je voudrais charger des photos a partir d'un XML dans un scrollpane. En fait ce que je fa rien ne s'affiche [ par aze555666 ] voila mon pb: je cherche à faire une simulation, avec 400 points, dont je change tout le temps les coordonnées. mais quand je fais tester l'animation, Image enligne, hord ligne [ par noarno ] Salut voila je ne comprends pas mes images se chargenet bien en local mais plus en ligne voila le code que j'utilise... MovieClip.prototype.charge_im API Cercle [ par on_drag_on ] voilà je veux dessiner un cercle: MovieClip.prototype.drawCirle=function(rayon,x,y) { //Je crée la méthode     var monangle=Math.PI/4; //il s'agit d Faire apparaitre des texte aléatoirement [ par VooDooS ] Il s'agit vraiment d'un truc basique, mais que je ne parvient pas à réaliser, et ce même avec maintes recherches googliennes... Je veux faire apparai amelioration d'un super composant [ par zayn ] Bonjour, je cherche a ameliorer le composant suivant: menu qui reprend l'effet du dock de mac os x (zoom sur une icone quand la souris s'approche). Da swf externe omniprésent.... [ par nicodogs ] bonjour à tous,J'ai un soucis avec un swf externe... dans mon anim principale, je charge un swf externe. tout se passe bien (préload % + anim) mais le problème LoadMovie / MovieClipLoader [ par zecaraz ] Bonjour à tous!Je vais essayer de vous exposer mon problème le plus clairement possible.J'ai fait une animation avec un fond comportant plusieurs imag removeChild dans une boucle... [ par nuclearprout ] Bonsoir. J'ai le code suivant : package {    import flash.display.*;    import flash.events.Event;    public class atomic extends MovieClip { Plusieurs boutons pour charger plusieurs images [ par Robby666 ] Bonsoir à tous,voilà mon problème, je suis en train de m'apprendre flash en construisant un petit jeu de plateau façon jeu de l'oie (sous forme de qui


Nos sponsors


Sondage...

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,484 sec (4)

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