Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2549 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  as3 comment lier un cube 3D à un site à 6 entrées ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

as3 comment lier un cube 3D à un site à 6 entrées ?

n°1926210
plusvalue
Posté le 23-09-2009 à 17:28:30  profilanswer
 

Je suis débutant en flash et en AS3, et j'ai construit un cube 3D d'une part, et un site à 6 entrées d'autre part, et je ne sais pas comment les lier, pour entrer sur la page 1 du site en cliquant sur la face 1 du cube etc... On m'a dit qu'il fallait utiliser une classe principale qui teste dans la fonction enterframe ce qu'on doit afficher, soit le cube (où je veux pouvoir revenir une fois sur le site), soit la page 1 du site, ou la page 2 etc.
Quelqu'un pourrait-il me donner le bout de code qui fasse le raccord entre les deux ? Je joins le script du cube et le script du site à 6 pages... Merci d'avance !
 
 
 
CUBE :  
 
stop();
// IMPORTATION des éléments \\
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.lights.*;
import org.papervision3d.render.*;
import org.papervision3d.view.*;
import org.papervision3d.events.*;
import org.papervision3d.core.utils.*;
import org.papervision3d.core.utils.virtualmouse.VirtualMouse;
 
var viewport:Viewport3D = new Viewport3D(0, 0, true, true);
addChild(viewport);
viewport.buttonMode = true;
 
var renderer:BasicRenderEngine = new BasicRenderEngine();
 
var scene:Scene3D = new Scene3D();
 
var camera:Camera3D = new Camera3D();
camera.zoom = 11;
camera.focus = 100;
 
var mm:MovieMaterial = new MovieMaterial(devis);
mm.interactive = true;
mm.animated = true;
mm.smooth = true;
 
var mm2:MovieMaterial = new MovieMaterial(identite);
mm2.interactive = true;
mm2.animated = true;
mm2.smooth = true;
 
var mm3:MovieMaterial = new MovieMaterial(prestations);
mm3.interactive = true;
mm3.animated = true;
mm3.smooth = true;
 
var mm4:MovieMaterial = new MovieMaterial(references);
mm4.interactive = true;
mm4.animated = true;
mm4.smooth = true;
 
var mm5:MovieMaterial = new MovieMaterial(idees);
mm5.interactive = true;
mm5.animated = true;
mm5.smooth = true;
 
var mm6:MovieMaterial = new MovieMaterial(cvdw);
mm6.interactive = true;
mm6.animated = true;
mm6.smooth = true;
 
var cube:Cube = new Cube(new MaterialsList({front:mm, left:mm2, right:mm3, top:mm4, bottom:mm5, back:mm6}),
                           300, 300, 300, 10, 10, 10)
// RENDU de la scène \\
scene.addChild(cube);
 
addEventListener(Event.ENTER_FRAME, loop);
 
function loop(e:Event):void
{
 var xDist:Number = mouseX - stage.stageWidth * 0.5;
 var yDist:Number = mouseY - stage.stageHeight * 0.5;
 cube.rotationY += xDist * 0.01;
 cube.rotationX += yDist * 0.01;
 renderer.renderScene(scene, camera, viewport);
}
 
// LIEN vers les différentes pages à partir du cube (c'est là où je cale, car les liens ne me font entrer que par une seule page de mon site) \\
 
identite.addEventListener(MouseEvent.CLICK, identiteClick);
function identiteClick(e:MouseEvent):void
{
 var my_loader:Loader = new Loader();
my_loader.load(new URLRequest("identite.swf" ));
addChild(my_loader);
removeChild(viewport)
}
 
 
 
SITE à 5 entrées (la face du cube qui contient le logo n'est pas clickable)
 
stop();
import fl.transitions.Tween;
import fl.transitions.easing.*;
 
flash.media.SoundMixer.stopAll();
 
// IMPORTATION de la page1\\
var currentPage:MovieClip = identite_mc;
 
var devisPage:pageDevis = new pageDevis();
var prestationsPage:pagePrestations = new pagePrestations();
var referencesPage:pageReferences = new pageReferences();
var ideesPage:pageIdees = new pageIdees();
var identitePage:pageIdentite = new pageIdentite();
 
identite_mc.targetMC = identitePage;
prestations_mc.targetMC = prestationsPage;
references_mc.targetMC = referencesPage;
idees_mc.targetMC = ideesPage;
devis_mc.targetMC = devisPage;
 
 
// DEFINITION des places des 5 pages dans le loader \\
devisPage.x = 490.2;
devisPage.y = 415.3;
ideesPage.x = 498;
ideesPage.y = 415.3;
referencesPage.x = 505.8;
referencesPage.y = 414.1;
prestationsPage.x = 525.8;
prestationsPage.y = 447;
identitePage.x = 165.4;
identitePage.y = 358.6;
 
// charger la page 1 \\
addChild(identitePage);
 
// bouton qui s'illumine en fonction de la page cliquée \\
highlight_mc.x = identite_mc.x;
underline_mc.x = identite_mc.x;
 
identite_mc.buttonMode = true;
prestations_mc.buttonMode = true;
references_mc.buttonMode = true;
idees_mc.buttonMode = true;
devis_mc.buttonMode = true;
 
identite_mc.addEventListener(MouseEvent.ROLL_OVER,moveUnderline);
prestations_mc.addEventListener(MouseEvent.ROLL_OVER,moveUnderline);
references_mc.addEventListener(MouseEvent.ROLL_OVER,moveUnderline);
idees_mc.addEventListener(MouseEvent.ROLL_OVER,moveUnderline);
devis_mc.addEventListener(MouseEvent.ROLL_OVER,moveUnderline);
 
identite_mc.addEventListener(MouseEvent.ROLL_OUT,mU);
prestations_mc.addEventListener(MouseEvent.ROLL_OUT,mU);
references_mc.addEventListener(MouseEvent.ROLL_OUT,mU);
idees_mc.addEventListener(MouseEvent.ROLL_OUT,mU);
devis_mc.addEventListener(MouseEvent.ROLL_OUT,mU);
 
function moveUnderline(e:MouseEvent):void
{
 new Tween(underline_mc,"x",Strong.easeOut,underline_mc.x,e.currentTarget.x,24,false);
}
 
function mU(e:MouseEvent):void
{
 new Tween(underline_mc,"x",Strong.easeOut,e.currentTarget.x,currentPage.x,24,false);
}
 
identite_mc.addEventListener(MouseEvent.CLICK,newPage);
prestations_mc.addEventListener(MouseEvent.CLICK,newPage);
references_mc.addEventListener(MouseEvent.CLICK,newPage);
idees_mc.addEventListener(MouseEvent.CLICK,newPage);
devis_mc.addEventListener(MouseEvent.CLICK,newPage);
 
 
function newPage(e:MouseEvent):void
{
 new Tween(highlight_mc,"x",Strong.easeOut,highlight_mc.x,e.currentTarget.x,24,false);
 removeChild(currentPage.targetMC);
 currentPage = MovieClip(e.currentTarget);  
 addChild(currentPage.targetMC);
 currentPage.targetMC.gotoAndPlay(1);
}
 
 
// bouton pour retourner au cube initial \\
logo_btn.addEventListener(MouseEvent.CLICK, logo_btnClick);
function logo_btnClick(e:MouseEvent):void
{
 var loader:Loader = new Loader();
loader.load(new URLRequest("cube.swf" ));
removeChild(currentPage.targetMC)
addChild(loader);
}
 
 
merci !
 

mood
Publicité
Posté le 23-09-2009 à 17:28:30  profilanswer
 

n°1926614
abais
Posté le 25-09-2009 à 08:46:53  profilanswer
 

Il y a une sous catégorie "ActionScript"... et des balise de code [ code=actionscript] [ /code] (sans les espaces)
Sinon, le principe est "d'enfermer" ton site dans une class associer MovieClip plutôt que de le compiler en SWF...

 

Perso, j'utilise un DispatchEvent sur le clip de la texture, que j'écoute depuis ma scene 3D...
cf ce test : http://urfman.free.fr/fhw/ilotAbai [...] pping.html (pour les essai de mon futur site que j'ai en signature)

 

Après, je ne suis pas sure que ce soit comparable...

 

Tu as un cube, texturé de tes 5 pages du site ( et la 6eme face, un logo).
Quand on clique dessus, ça "zoom" dessus et ça débloque l'interactivité propre à la page ?
Ou tu a juste des image interactive sur un cube, mais indépendante de ton site (qui te permettent juste de capturer l'evenement CLICK), et ton site qui s'affiche en dehors de ton viewport (par dessus...) ?

Message cité 1 fois
Message édité par abais le 25-09-2009 à 08:47:51

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1926785
plusvalue
Posté le 25-09-2009 à 18:26:15  profilanswer
 

merci de ta réponse !
ton site est très réussi !
et ton explication a l'air d'être la bonne. Le problème, c'est que je suis si débutant que je ne vois pas exactement comment l'utiliser... Je t'envoie un lien pour télécharger les 2 pages que j'essaye désespérement de lier ensemble (ou d'intégrer comme tu le propose à un seul fichier via un movieclip)... Dis-moi si tu peux me donner le bout de code qui résout tous mes problèmes... merci d'avance !!!
 
http://files.me.com/parisvdw/ed3dfi
 
 
 
 
 
 
 

abais a écrit :

Il y a une sous catégorie "ActionScript"... et des balise de code [ code=actionscript] [ /code] (sans les espaces)
Sinon, le principe est "d'enfermer" ton site dans une class associer MovieClip plutôt que de le compiler en SWF...
 
Perso, j'utilise un DispatchEvent sur le clip de la texture, que j'écoute depuis ma scene 3D...
cf ce test : http://urfman.free.fr/fhw/ilotAbai [...] pping.html (pour les essai de mon futur site que j'ai en signature)
 
Après, je ne suis pas sure que ce soit comparable...
 
Tu as un cube, texturé de tes 5 pages du site ( et la 6eme face, un logo).
Quand on clique dessus, ça "zoom" dessus et ça débloque l'interactivité propre à la page ?
Ou tu a juste des image interactive sur un cube, mais indépendante de ton site (qui te permettent juste de capturer l'evenement CLICK), et ton site qui s'affiche en dehors de ton viewport (par dessus...) ?


n°1926816
abais
Posté le 25-09-2009 à 20:35:47  profilanswer
 

C'est plus une question qu'une explication... Sinon NON, je ne peux pas regarder ta source je n'ai pas Flash, je développe sur FlashDevelop et FlexSDK.
Je ne peux pas non plus faire de l'aide sur mesure ! surtout si tu es débutant... ça dépend de la finalité que tu souhaites


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  as3 comment lier un cube 3D à un site à 6 entrées ?

 

Sujets relatifs
Un effet visuel extraordinaire sur le site d'Internity (à reproduire)PhpBB : générer les valeurs de bbcode_bitcode et bbcode_uid
Programmer un bot qui permet de retrouver des informations sur un siteinclude sans image site distant
Problème navigation sur un hébérgeur de site web htmlSite extensible via image
Avec quoi tourne ce site ? CMS ?Site internet manque d'idée !
Probleme de poistionement site et apparence[Php/OpenLaszlo] conception de site/ transmission client/serveur
Plus de sujets relatifs à : as3 comment lier un cube 3D à un site à 6 entrées ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR