Boite qui s'ouvre

penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006 - 7 juin 2005 à 16:14
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006 - 8 juin 2005 à 19:37
Bonjour à tout le monde,





je suis totalement newbie en flash.

Je voudrais me faire un petit site web dans lequel je mets dans la page
principale une petite boite (avec la même photo sur chaque côté de la
boîte)



Cette boîte, je voudrais bien qu'elle s'ouvre quand on clique dessus (sur n'importe lequel des côtés)



Mais je ne sais pas comment faire.

Pour l'instant je regarde à gauche et à droite pour apprendre à
utiliser flash mx. J'avance bien mais je ne suis pas encore capable de
faire ça.



Qqn pourrait-il m'aider?



ps. Si ce n'est pas possible de faire un truc du genre, est-il possible
au moins de me dire comment je peux appliquer une photo sur les côtés
de la boîte?



Merci d'avance

12 réponses

on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
7 juin 2005 à 16:28
Ben le problème c'est que ta boîte sera en 3d non? et que flash fais de
l'anim. 2d. Alors y'a moyen de tricher mais pour ton cas je vois pas...
enfin c'est possible mais tu vas te faire royalement ièche! ... sinon
y'a un log. 3D adapté pour flash qui s'appelle swift3D. Pi j'ai déposé
un tuto sur les bases... tu peux déjà voir par-là...

a+.
0
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006
8 juin 2005 à 11:49
heu, il est où ton tuto? parce que quand je tape swift3d dans google, je tombe sur erain.com et ça m'a l'air vachement trop compliqué...

par contre, je sais pas si tu peux me guider sur cette voie, mais j'ai trouvé sur le site de flashkod une source qui fait tourner un cube en fonction de la position de la souris.

Ce qui serait bien c'est que je puisse mettre une image sur les côtés du cube. Ce serait génial.
(ouvrir le cube est un luxe que je ne peux pas encore me permettre...)

voici le lien de la source :
http://www.flashkod.com/code.aspx?ID=16714
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
8 juin 2005 à 12:31
mais dis donc! mon tuto ben il est dans les tutos sur flashkod. (c'est
pour apprendre la base). pi pour mieux comprendre ton histoire de cube
et les difficultés que tu vas trouver dans ce genre d'eessai va voir
sous "magnetisme" rechercher (sur flashkod toujours)" tu verras ici
qu'on peu tricher un peu en jouant sur l'alpha. voili. courage.

a+.
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
8 juin 2005 à 12:38
pi si t'arrives vraiment pas après avoir fait le tutos après avoir
chercher sur différents sites après avoir chercher dans l'aide de
flash, après avoir regarder dans le dico actionscript... ben poses ta
question sur le forum...

;-)
0

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

Posez votre question
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006
8 juin 2005 à 13:55
ok merci des conseils, vais y regarder à mon aise

++
0
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006
8 juin 2005 à 14:57
Bon, j'ai regardé dans ton tuto, j'ai regardé pas mal sur le net, mais là je trouve pas.



En fait, j'ai vu dans la source que j'ai citée un peu au dessus
(http://www.flashkod.com/code.aspx?ID=16714) une chose intéressante.



with (face1) {

clear();

lineStyle(4,0x000000);

beginFill(0x00ff00);

moveTo(P1.x, P1.y);

lineTo(P2.x, P2.y);

lineTo(P4.x, P4.y);

lineTo(P3.x, P3.y);

lineTo(P1.x, P1.y);

endFill();
En voyant
ça, je me suis dit qu'il devait y avoir moyen de remplacer le beginFill
et endFill par une fonction qui permet de mettre une image à la place
de couleurs.



Mais comme j'ai jamais fait de prog avec Flash, je ne sais
absolument pas si ça existe et comment faire. J'ai fait quelques
recherches, mais trouve pas
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
8 juin 2005 à 15:05
ben ce code moi je le comprend pas si tu veux savoir ce qu'il signifie
prend chaque mots et F1 dans Flash. pour mettre tes photos à la place
des surface du cube ben tu les importes dans ta bibliothèque
(Importer..). pi tu les glisse sur ta scène, pi tu les adaptes aux
surfaces... c'est tout simple. (il faut que tu selectionne la surface
(1click si scène principale, 2 click si clip...) pour être sur de
travailler sur le bon calque.

re.
0
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006
8 juin 2005 à 17:22
ben moi je le comprend comme ça (sans regarder dans l'aide) :

with (face1) { // pour la face 1 (on fait le même pour chaque face)
clear(); // on efface tout
lineStyle(4,0x000000); //style de ligne : épaisseur : 4, couleur : noir
beginFill(0x00ff00); //on commence à remplir avec 00ff00
moveTo(P1.x, P1.y); //on se met sur la position P1.x, P1.y)
lineTo(P2.x, P2.y); //on trace les lignes d'un point à un autre
lineTo(P4.x, P4.y);
lineTo(P3.x, P3.y);
lineTo(P1.x, P1.y);
endFill(); //fin du remplissage

mais je ne comprends pas ce que tu dis par "tu glisse ton image sur ta scène et tu adaptes. Ca veut dire que tu glisse simplement l'image sur une des faces et que tu peux étirer, allonger ou réduire la taille de l'image pour l'adapter à la taille d'une face?
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
8 juin 2005 à 17:41
ah ben merci, ça doit être à peu prêt ça et j'apprend un truc... bon
ben d'abord tu click sur la face du carré que tu veux modif. jusqu'à ce
que la surface soit "selectionnable" ensuite tu importes ton image et
effectivement tu la redimensionnes. (pi si tu veux jouer avec l'alpha
ben faut enlever d'abord la surface initial si non elle va apparaître
vu qu'elle est en dessous).

A Toute... :-)
0
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006
8 juin 2005 à 18:13
Le problème, c'est que le cube est fabriqué en code, le gars ne s'est pas amusé à mettre chaque face du cube sur une scène.

Voici tout le code du projet.

//initilisation
for (i=1; i<=6; i++)
{
createEmptyMovieClip("face"+i, i);
}
//constructeur
function Vector3d(x, y, z) {
this.x = x;
this.y = y;
this.z = z;
}
//methodes
Vector3d.prototype.rotateXY = function(ca, sa, cb, sb) {
with (this) {
var rz = y*sa+z*ca;
y = y*ca-z*sa;
z = x*(-sb)+rz*cb;
x = x*cb+rz*sb;
}
};
//fonction de rafraichissement
function refresh() {
cosa = Math.cos((_ymouse/20)*Math.PI/180);
sina = Math.sin((_ymouse/20)*Math.PI/180);
cosb = Math.cos((-_xmouse/20)*Math.PI/180);
sinb = Math.sin((-_xmouse/20)*Math.PI/180);
P1.rotateXY(cosa, sina, cosb, sinb);
P2.rotateXY(cosa, sina, cosb, sinb);
P3.rotateXY(cosa, sina, cosb, sinb);
P4.rotateXY(cosa, sina, cosb, sinb);
P5.rotateXY(cosa, sina, cosb, sinb);
P6.rotateXY(cosa, sina, cosb, sinb);
P7.rotateXY(cosa, sina, cosb, sinb);
P8.rotateXY(cosa, sina, cosb, sinb);
mid1234.rotateXY(cosa, sina, cosb, sinb);
mid3456.rotateXY(cosa, sina, cosb, sinb);
mid5678.rotateXY(cosa, sina, cosb, sinb);
mid7812.rotateXY(cosa, sina, cosb, sinb);
mid1357.rotateXY(cosa, sina, cosb, sinb);
mid2468.rotateXY(cosa, sina, cosb, sinb);
with (face1) {
clear();
lineStyle(4,0x000000);
beginFill(0x00ff00);
moveTo(P1.x, P1.y);
lineTo(P2.x, P2.y);
lineTo(P4.x, P4.y);
lineTo(P3.x, P3.y);
lineTo(P1.x, P1.y);
endFill();
}
with (face2) {
clear();
lineStyle(4,0x000000);
beginFill(0x0000ff);
moveTo(P3.x, P3.y);
lineTo(P4.x, P4.y);
lineTo(P6.x, P6.y);
lineTo(P5.x, P5.y);
lineTo(P3.x, P3.y);
endFill();
}
with (face3) {
clear();
lineStyle(4,0x000000);
beginFill(0xff0000);
moveTo(P5.x, P5.y);
lineTo(P6.x, P6.y);
lineTo(P8.x, P8.y);
lineTo(P7.x, P7.y);
lineTo(P5.x, P5.y);
endFill();
}
with (face4) {
clear();
lineStyle(4,0x000000);
beginFill(0xff00ff);
moveTo(P7.x, P7.y);
lineTo(P8.x, P8.y);
lineTo(P2.x, P2.y);
lineTo(P1.x, P1.y);
lineTo(P7.x, P7.y);
endFill();
}
with (face5) {
clear();
lineStyle(4,0x000000);
beginFill(0xffff00);
moveTo(P1.x, P1.y);
lineTo(P3.x, P3.y);
lineTo(P5.x, P5.y);
lineTo(P7.x, P7.y);
lineTo(P1.x, P1.y);
endFill();
}
with (face6) {
clear();
lineStyle(4,0x000000);
beginFill(0x00ffff);
moveTo(P2.x, P2.y);
lineTo(P4.x, P4.y);
lineTo(P6.x, P6.y);
lineTo(P8.x, P8.y);
lineTo(P2.x, P2.y);
endFill();
}
face1.swapDepths(100000-mid1234.z*100);
face2.swapDepths(100000-mid3456.z*100);
face3.swapDepths(100000-mid5678.z*100);
face4.swapDepths(100000-mid7812.z*100);
face5.swapDepths(100000-mid1357.z*100);
face6.swapDepths(100000-mid2468.z*100);
}
//création des points
P1 = new Vector3d(-100, -100, -100);
P2 = new Vector3d(-100, -100, 100);
P3 = new Vector3d(-100, 100, -100);
P4 = new Vector3d(-100, 100, 100);
P5 = new Vector3d(100, 100, -100);
P6 = new Vector3d(100, 100, 100);
P7 = new Vector3d(100, -100, -100);
P8 = new Vector3d(100, -100, 100);
mid1234 = new Vector3d(-100, 0, 0);
mid3456 = new Vector3d(0, 100, 0);
mid5678 = new Vector3d(100, 0, 0);
mid7812 = new Vector3d(0, -100, 0);
mid1357 = new Vector3d(0, 0, -100);
mid2468 = new Vector3d(0, 0, 100);
//visualisation
this.onEnterFrame = function() {
refresh();
};
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
8 juin 2005 à 18:49
ben oui je voyais pas ça comme ça...chu allé voir la source.... ben
quand t'as fini de décrypter tu m'expliques (good luck!) Bon j'avais
télécharger la version 30 jours de swift, j'ai voulu faire un cube pour
te envoyer le fichier par mail mais il faut payer pour export des
fichiers swift pi comme c'est bien trop cher pour ce que ça vaut et que
chu pas un crackers alors je vais le virer ... voilà je peux pas
t'aider plus..
0
penchu Messages postés 167 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 janvier 2006
8 juin 2005 à 19:37
ok, te prends pas la tête avec ça, je trouverais bien une solution un jour

Merci encore
0
Rejoignez-nous