Faire un slide show d'images
Re: Faire un slide show d'images
Si je vois exactement ce que tu souhaite faire
Au moment du deplacement tu fait tourner de 30degrés negatif pour ceux de gauche et 30degré positif pour ceux de droite et voila !
Au moment du deplacement tu fait tourner de 30degrés negatif pour ceux de gauche et 30degré positif pour ceux de droite et voila !
Re: Faire un slide show d'images
Je veux bien mais tu mets ca où et comment ?
Suis pas doué en code ... !
Suis pas doué en code ... !
kealkeal
Re: Faire un slide show d'images
Tes demandes en matière d'animation peuvent être résolues ( pour la plupart) avec iTween. Pour le coding, il n'y en a pas beaucoup. Cet éditeur peu aussi aider : http://dkoontz.wordpress.com/itween-visual-editor/
JP
JP
Re: Faire un slide show d'images
Ouai enfin rien ne vaut une bonne class perso pour comprendre et appliquer! le jour ou il veut y mettre un texte en dessous de son image, un système de notation etc... il devra tout refaire !
enfin je dit ca je dit rien! je préfère recoder plutôt qu'adapter...
enfin je dit ca je dit rien! je préfère recoder plutôt qu'adapter...
Re: Faire un slide show d'images
Oui ce serais mieux de tout coder afin de comprendre comment cela fonctionne.
Merci.
Freelax, tu peux m'aider ?Au moment du deplacement tu fait tourner de 30degrés negatif pour ceux de gauche et 30degré positif pour ceux de droite et voila !
Merci.
kealkeal
Re: Faire un slide show d'images
Je te donne une possibilité mais à toi de voir si c'est bien ca, ya que comme ca que l'on apprend. et puis je vais pas tout faire non plus
C'est à coup de rotate:
à toi de voir
C'est à coup de rotate:
Code : Tout sélectionner
plans[0].transform.Rotate(Vector3.up, -50, Space.World); // Decale le plan de gauche
plans[1].transform.Rotate(Vector3.up, 0, Space.World); // Remet le plan de centre normale
plans[2].transform.Rotate(Vector3.up, 50, Space.World); // Decale le plan de droite
Dernière édition par Freelax le 23 Déc 2010 15:56, édité 2 fois.
Re: Faire un slide show d'images
J'ai mis le code dans la fonction Start, là tout se passe bien.
Par contre le probleme c'est la rotation est associée à un nom de plan.
Hors comme les plans translatent de la droite vers la gauche, les rotation ne sont plus bonnes.
Le but est que la rotation ne s'applique uniquement au plan situé à gauche et à droite du plan central.
C'est possible de faire cela ?
Par contre le probleme c'est la rotation est associée à un nom de plan.
Hors comme les plans translatent de la droite vers la gauche, les rotation ne sont plus bonnes.
Le but est que la rotation ne s'applique uniquement au plan situé à gauche et à droite du plan central.
C'est possible de faire cela ?
kealkeal
Re: Faire un slide show d'images
Si tu met le code dans la fonction Start, il ne sera appliqué qu'au moment de chargement du script.
C'est au moment du déplacement qu'il faut que tu applique les rotations, du coup dans la fonction Deplacement tu as accès au différents plan par plan[x].
plan[0] sera toujours le plan de gauche.
plan[1] sera toujours le plan du centre.
plan[2] sera toujours le plan de droite.
plan[3] sera toujours hors champ.
C'est au moment du déplacement qu'il faut que tu applique les rotations, du coup dans la fonction Deplacement tu as accès au différents plan par plan[x].
plan[0] sera toujours le plan de gauche.
plan[1] sera toujours le plan du centre.
plan[2] sera toujours le plan de droite.
plan[3] sera toujours hors champ.
Re: Faire un slide show d'images
Voila ce que j'ai fait :
Mais les plans tournent de maniere aléatoire ...
Je dois avoir raté quelque chose mais quoi ...
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class CoverflowCS : MonoBehaviour {
public bool deplaceGo; // Declanchement de deplacement
public int vitesse = 1; // Vitesse de deplacement
public Transform[] plans; // Array Plans
public Object[] textures; // Array Textures
public int IDtextures = 0;
void Start()
{
textures = Resources.LoadAll("Textures", typeof(Texture2D)); // On recup les textures dans le dossiers
for (int i = 0; i < plans.Length; i++) // On affecte une texture au hasard a chaque plan
{
plans[i].renderer.material.mainTexture = (Texture2D) textures[i];
IDtextures =i;
}
plans[0].transform.Rotate(Vector3.up, 10, Space.World); // Decale le plan de gauche
plans[1].transform.Rotate(Vector3.up, 0, Space.World); // Remet le plan de centre normale
plans[2].transform.Rotate(Vector3.up, -10, Space.World); // Decale le plan de droite
}
void OnGUI()
{
if (GUI.Button(new Rect( 0, 0, 100, 20 ), "Deplacement")) { deplaceGo = true; } // Lance le deplacement
if(deplaceGo){ Deplacement(); } // Deplacement
}
void Deplacement() // Fonction deplacement
{
if(plans[0].transform.position.x > -30){ // On deplace le tout tant que le plan a gauche est superieur a 40 en x (visibilité cam)
plans[0].transform.position -= new Vector3(vitesse, 0, 0);
plans[1].transform.position -= new Vector3(vitesse, 0, 0);
plans[2].transform.position -= new Vector3(vitesse, 0, 0);
plans[3].transform.position -= new Vector3(vitesse, 0, 0);
plans[0].transform.Rotate(Vector3.up, 10, Space.World); // Decale le plan de gauche
plans[1].transform.Rotate(Vector3.up, 0, Space.World); // Remet le plan de centre normale
plans[2].transform.Rotate(Vector3.up, -10, Space.World); // Decale le plan de droite
}
else{ // sinon si la position de plan le plus a gauche est inferieur a 40 (visibilité de la cam), on stop le deplacement, on prend ce meme plan et on le met à droite
plans[0].transform.position = new Vector3(30, 6, 0);
deplaceGo = false;
Replace();
}
}
void Replace() // on restructure l'array pour mettre l'ancien premier plan en dernier, le 2eme en 1er etc...
{
Transform planfin = plans[0];
plans[0] = plans[1];
plans[1] = plans[2];
plans[2] = plans[3];
plans[3] = planfin;
TextureChange(planfin); // et enfin on change la texture en indiquant le nouveau dernier plan
}
void TextureChange(Transform _planfin)
{
if(IDtextures +1 >= textures.Length){ IDtextures = 0; _planfin.renderer.material.mainTexture = (Texture2D) textures[IDtextures]; print(IDtextures);}
else{ IDtextures += 1; _planfin.renderer.material.mainTexture = (Texture2D) textures[IDtextures]; print(IDtextures);}
}
}
Je dois avoir raté quelque chose mais quoi ...
kealkeal
Re: Faire un slide show d'images
Je souhaite donner la possibilite de faire défiler le coverflow de la droite vers la gauche et de la gauche vers la droite.
J'ai donc dans l'idée de faire apparaitre 2 boutons.
Si quelqu'un peut m'aider ...
Merci.
J'ai donc dans l'idée de faire apparaitre 2 boutons.
Si quelqu'un peut m'aider ...
Merci.
kealkeal