begin process at 2012 05 27 13:15:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

galerie papervision


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

galerie papervision

jeudi 20 novembre 2008 à 11:26:22 | galerie papervision

bretagne22

Je viens de réaliser une galerie d'images avec PV3D et AS3.
Tout fonctionne bien sauf...
Je n'arrive pas à rendre mes plane interactives. Je voudrais que lorsque l'on clique sur une image, on atteigne une url. Mais quoi que je fasse, je n'arrive pas à appliquer le click event sur ma plane mais seulement sur le container...
Merci pour votre aide.
Voici mon script :

import flash.events.IMEEvent;
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.materials.*;
import org.papervision3d.events.*;
import flash.net.URLLoader;
import flash.display.Loader ;
import flash.net.URLRequest;
import org.papervision3d.core.utils.virtualmouse.VirtualMouse;
import org.papervision3d.core.utils.virtualmouse.VirtualMouseMouseEvent
import flash.events.MouseEvent;
import flash.display.Sprite;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.objects.primitives.Plane;


var container:Sprite = new Sprite();
container.x = stage.stageWidth * 0.5;
container.y = stage.stageHeight * 0.5;
addChild(container);

var scene:Scene3D = new Scene3D(container);
var camera:Camera3D = new Camera3D();
camera.zoom = 6;

var mat1:BitmapAssetMaterial = new BitmapAssetMaterial("groupefacilasol.jpg");
mat1.smooth = true;
mat1.oneSide = false;

var mat2:BitmapAssetMaterial = new BitmapAssetMaterial("panneaux.jpg");
mat2.smooth = true;
mat2.oneSide = false;

var mat3:BitmapAssetMaterial = new BitmapAssetMaterial("photovoltaique.jpg");
mat3.smooth = true;
mat3.oneSide = false;

var mat4:BitmapAssetMaterial = new BitmapAssetMaterial("Agriculteurs.jpg");
mat4.smooth = true;
mat4.oneSide = false;

var mat5:BitmapAssetMaterial = new BitmapAssetMaterial("investisseurs.jpg");
mat5.smooth = true;
mat5.oneSide = false;

var mat6:BitmapAssetMaterial = new BitmapAssetMaterial("Particuliers.jpg");
mat5.smooth = true;
mat6.oneSide = false;

var mat7:BitmapAssetMaterial = new BitmapAssetMaterial("pvfix.jpg");
mat7.smooth = true;
mat7.oneSide = false;

var mat8:BitmapAssetMaterial = new BitmapAssetMaterial("rachat.jpg");
mat8.smooth = true;
mat8.oneSide = false;

var mat9:BitmapAssetMaterial = new BitmapAssetMaterial("sma.jpg");
mat9.smooth = true;
mat9.oneSide = false;


var photo1:Plane = new Plane(mat1, 250, 250,9,9);
scene.addChild(photo1);
photo1.x =-300;
photo1.y =150;
photo1.z =-150;


addEventListener(MouseEvent.CLICK, photo1Click);

function photo1Click(e:MouseEvent):void
{


    navigateToURL(new URLRequest("http://www.youtube.com"));
}

var photo2:Plane = new Plane(mat2, 250, 250,9,9);
scene.addChild(photo2);
photo2.x =0;
photo2.y =150;
photo2.z =-150;


var photo3:Plane = new Plane(mat3, 250, 250,9,9);
scene.addChild(photo3);
photo3.x = 300;
photo3.y = 150;
photo3.z =-150;

var photo4:Plane = new Plane(mat4, 250, 250,9,9);
scene.addChild(photo4);
photo4.x =-300;
photo4.y =-150;
photo4.z =-150;

var photo5:Plane = new Plane(mat5, 250, 250,9,9);
scene.addChild(photo5);
photo5.x =0;
photo5.y =-150;
photo5.z =-150;

var photo6:Plane = new Plane(mat6, 250, 250,9,9);
scene.addChild(photo6);
photo6.x = 300;
photo6.y =-150;
photo6.z =-150;

var photo7:Plane = new Plane(mat7, 250, 250,9,9);
scene.addChild(photo7);
photo7.x =-300;
photo7.y =-450;
photo7.z =-150;

var photo8:Plane = new Plane(mat8, 250, 250,9,9);
scene.addChild(photo8);
photo8.x =0;
photo8.y =-450;
photo8.z =-150;

var photo9:Plane = new Plane(mat9, 250, 250,9,9);
scene.addChild(photo9);
photo9.x = 300;
photo9.y = -450;
photo9.z =-150;


addEventListener(Event.ENTER_FRAME, render);

function render(e:Event):void
{
  camera.x += (((stage.mouseX-(stage.stageWidth * .5))*2)-camera.x )*.05;
  camera.y += (((stage.mouseY-(stage.stageHeight*.5))*2)-camera.y )*.05;
  scene.renderCamera(camera);
}




jeudi 20 novembre 2008 à 14:37:59 | Re : galerie papervision

lural

Membre Club
Salut !

J'averti dessuite, je n'ai encore jamais fait de papervision, donc mes conseils seront peut-être à côté de la plaque. Cependant, tu met un écouteur sur ton this, donc tu ne pourras pas récupérer le clic sur l'un des objets. Avec :
addEventListener(MouseEvent.CLICK, photo1Click);

Tu fixe un écouteur sur la scène principal, donc forcément tu verras pas la différence. En cherchant un peu j'ai trouvé ça :
containeur.getChildByName("mat1").addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, photo1Click);
Je pense que tu peux essayer d'échanger ces deux lignes pour voir le résultat.

Bon Courage
Lural
jeudi 20 novembre 2008 à 14:41:54 | Re : galerie papervision

bretagne22

Merci d'avoir répondu si vite.
Je vais essayer et je te dit quoi.


jeudi 20 novembre 2008 à 14:58:23 | Re : galerie papervision

bretagne22

Bon ben ça marche pas... dommage.
Pas d'autre idée ?
jeudi 20 novembre 2008 à 16:24:28 | Re : galerie papervision

lural

Membre Club
Si tu nous donne les codes d'erreurs, ce sera plus facile ^^
Je ne connais pas ton niveau en AS, donc essaye toujours :
mat1.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, photo1Click);
juste après avoir créer mat1 ;)

Bon Courage
Lural
jeudi 20 novembre 2008 à 18:46:27 | Re : galerie papervision

lural

Membre Club
PS : http://flash.mediabox.fr/lofiversion/index.php/t88456.html

Bon Courage
Lural
jeudi 20 novembre 2008 à 19:18:23 | Re : galerie papervision

pegase31

Membre Club Administrateur CodeS-SourceS
Pareil que lural : j'ai pas touché à papervision ... par contre, je suis en plein CS4. Et je peux te dire que tout papervision est implémenté dans cette version d'office.

Peg'
lundi 24 novembre 2008 à 09:53:51 | Re : galerie papervision

bretagne22

Salut et encore merci pour votre aide.
Trois choses : 1- je suis plutôt novice en as3... Je commence à comprendre qlq trucs mais il reste encore pas mal de brouillard...
2-Je n'utilise pas la version 2,0 de papervision mais la version 1,5 et je n'ai pas non plus fait de classe mère. Je code directement dans mon fichier fla.
3- J'ai essayé ton dernier conseil Lural : mat1.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, mat1Click);
juste après avoir créer mat1 mais ça marche toujours pas. Il n'y a aucun message d'erreur mais rien ne se passe quand on clique. J'ai essayé de déclarer : mat1. interactive = true; mais j'obtient le message d'erreur suivant : accès à la propriétée interactive peut-être non définie, via la référence de type static.
Ca vous parle, vous???
lundi 24 novembre 2008 à 17:44:01 | Re : galerie papervision

lural

Membre Club
Salut

1 - Pas grave, tout le monde commence débutant.
2 - Aucune idée de la différence, je ne connais pas papervision...
3 - A première vu, ton erreur semble dire que le type BitmapAssetMaterial ne dispose pas forcément du champ interactive. Donc cette ligne semble inutile, ou est mal écrite. Apparemment, il y a quand même possibilité de mettre des listener, et InteractiveScene3DEvent.OBJECT_PRESS est reconnu ...
Tu peux toujours essayer
mat1.addEventListener(MouseEvent.Click, mat1Click);
comme on le ferait plus classiquement...
Sinon il va falloir que tu aille chercher des spec sur papervision et ses events

Bon Courage
Lural


Cette discussion est classée dans : var, scene, import, plane, bitmapassetmaterial


Répondre à ce message

Sujets en rapport avec ce message

Poid d'un SWF et boucles [ par LinklOurs ] Bonjour tout le monde !!! J'ai un petit probleme... J'ai réalisé une gallerie dynamique, entièrement gérée par du code. Je charge les images via une Pb de bitmap chargé pour la source diaporama AS3 [ par webcrea92 ] Bonjour,J'essaye de modifier cette classe comme on me l'a suggéré (voir la source diaporama AS3)J'ai 1 truc qui me choque <img src="/imgs2/smile_clown Papervision 3D + primitives.addEventListener [ par Ariranha ] Bonjour à tous, Après avoir parcouru des "tonnes" de tutoriels et de post je me décide a poster ma question qui est vraiment très basique. Comment o Déplacement au clavier (AS3) [ par greg63 ] Bonjour a tous, Je sais le sujet fût traité beaucoup de fois mais malgré tous les topics je n'ai pas trouvé de solutions. Voila mon problème. Je réa Gallerie Flash [ par paulito47 ] Bonjour à tous, je travaille actuellement sur une gallerie photos. J'affiche les miniatures qui permettront par la suite de voir l'image voulue en gr Problème actionScript 3 programation page contact [ par lovis ] Bonjour, Je suis en ce moment en train de créer un site en full flash et j'ai un gros problème que je n'arrive pas à régler depuis 1 semaine. Je vous AS3 + XML [ par dimass01 ] Bonjour, Je suis débutant en AS3 et je souhaiterai faire une carte de france avec des boutons pour chaque département. Le survol d'un bouton va perm Problèmes avec player pour webradio. [ par SteppenWulf ] Bonsoir, J'essaie de créer un player pour écouter ma webradio... Mais je rencontre des problèmes. ( Je suis un Newbie, j'utilise flash depuis ce we Zoom sur clic avec centrage auto [ par aZents ] Bonjour à tous, depuis quelque temps j'essaie de trouver solution à mon problème mais bon mon niveau est comment dirais-je....(en dessous de débutant


Nos sponsors


Sondage...

Comparez les prix

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

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