begin process at 2012 05 27 06:18:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Multimédia

 > 

3D

 > 

Demande d'aide pour une Galerie PaperVision3D avec XML


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

Demande d'aide pour une Galerie PaperVision3D avec XML

jeudi 14 janvier 2010 à 13:46:30 | Demande d'aide pour une Galerie PaperVision3D avec XML

ximeng

Membre Club
Bonjour à tous ! Et bravo à tout les flashkodiens, sans ce site je serai perdu !

Je suis super novice en AS3, et je n'ai jamais utilisé papervision jusqu'à maintenant.
Je fait appel à vous pour m'aider sur un bout de code qui me bloque depuis quelques jours maintenant, j'ai tout essayé, j'ai comparé avec d'autres sources, j'ai fait des tests en masse, mais RIEN ! Je n'arrive pas à faire ce que je voudrai. AIDEZ MOI S'IL VOUS PLAIT !

Ce que fait le code : Ce qui est posté ci_dessous, fait apparaitre une spirale d'images qui défile au mouvement de la souris.
Ce que je voudrait rajouter : J'ai mis un paramètre de "zoom" (cam.zoom = 16; //vers le bas du code) sur le Clic... Mais cette fonction zoom ne fait que grandir les images et la spirale, il faudrait que la spirale s'arrête, que l'image zoomée soit centré et fixe. Et lors d'un deuxième clip, que la spirale revienne au zoom 5.

Code ActionScript :
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.materials.*;
import flash.display.Sprite;
import flash.events.MouseEvent;

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

var scene:Scene3D = new MovieScene3D(container);
var cam:Camera3D = new Camera3D();
cam.zoom = 5;

var p_dict:Dictionary=new Dictionary();
var pc:Plane = new Plane();
pc.visible = false;
cam.target = pc;

var numOfRotations:Number = 2;
var yPos:Number = 0;
var angle:Number = 0;

var filename_list = new Array();
var folder:String = "thumbnails/";

var i:Number;
var total:Number;
var galerie_xml:XML = new XML();
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("thumbnail_list.xml"));
loader.addEventListener(Event.COMPLETE, create_thumbnail);

function create_thumbnail(e:Event):void 
{
	galerie_xml = XML(e.target.data);
	total = galerie_xml.thumbnail.length();
	var anglePer:Number = ((Math.PI*2) * numOfRotations) / total;
	
	for( i = 0; i < total; i++ )
	{
		var bfm:BitmapFileMaterial = new BitmapFileMaterial(
			folder + galerie_xml.thumbnail[i].@filename.toString());
		bfm.oneSide = false;
		bfm.smooth = false;
		var p:Plane = new Plane(bfm, 140, 105, 2, 2);
		scene.addChild(p);
		var p_container:Sprite = p.container;
		p_container.name = "galerie_" + i;
		p_dict[p_container] = p;

		p_container.buttonMode = true;
		p_container.addEventListener( MouseEvent.ROLL_OVER, p_rollover );
		p_container.addEventListener( MouseEvent.ROLL_OUT, p_rollout );
		p_container.addEventListener( MouseEvent.CLICK, p_click );
		p.x = Math.cos(i * anglePer) * 400;
		p.z = Math.sin(i * anglePer) * 400;
		p.y = yPos += 40;
		p.rotationY = (-i*anglePer) * (180/Math.PI) + 270;
		
	}
}

function p_rollover(me:MouseEvent) 
{
	var sp:Sprite = me.target as Sprite;
	sp.alpha = 0.4;
	var s_no:Number = parseInt(sp.name.slice(8,10));
}
function p_rollout(me:MouseEvent) 
{
	var sp:Sprite = me.target as Sprite;
	sp.alpha = 1;
}
function p_click(me:MouseEvent) 
{
	var sp:Sprite = me.target as Sprite;
	trace(sp.name);
	
	
	cam.zoom = 16;
	
	
	var s_no:Number = parseInt(sp.name.slice(8,10));
}

addEventListener(Event.ENTER_FRAME, render);

function render(e:Event):void
{
	var dist:Number = ((stage.mouseY) - stage.stageHeight * 0.5) * -0.1;
	var dist2:Number = ((stage.mouseX-160) - stage.stageWidth * 0.5) * 0.00025;
	angle += dist2;
	cam.x = Math.cos(angle) * 760;
	cam.z = Math.sin(angle) * 760;
	cam.y += dist;
	if(cam.y < 100) cam.y = 100;
	if(cam.y > 780) cam.y = 780;
	pc.y = cam.y;
	scene.renderCamera(cam);
}


Voila vous savez tout, si vous avez besoin de la source je peux la poster.
Je serai d'ailleur ravi de la partager quand elle fonctionnera.
Cette source n'est peut être pas très propre (c'est un mélange de 4 sources.... on fait comme on peux) et elle correspond vraiment à ce que je voudrai.

En espérant que l'un de vous ai la gentillesse de m'aider.
Cordialement.

SP


Cette discussion est classée dans : var, xml, import, cam, papervision3d


Répondre à ce message

Sujets en rapport avec ce message

Erreur de fonction dans une classe [ par on_drag_on ] Bonjour à tous,Je suis entrain de créer une classe pour un lecteur vidéo avec chargement XML. Jusque-là tout fonctionne. Maintenant j'ai créé un clip Bannière AS3, import d'images via un XML...Problème de boucle [ par szekes ] Bonjours à tous, voilà je suis nouveau sur ce forum et je débute aussi en AS3... Autant dire que je n'y comprend pas grand chose encore...Mais sa va v AcrionScript 3 Lecture d'un fichier XML [ par nuns ] Bonjour, J'essaie de faire une classe pour charger un fichier xml, qui comporte juste le chemin des images sur le serveur. La lecture ce fait correc AS3 Papervision3D Sphere [ par MaSenCo ] Bonjour, Le problème est simple, Je souhaite créer une Sphere via ppv3D jusqu'ici pas de soucis. La Sphere apparait bien. Je réussi à placer la cam AS3 : puzzle avec chargement images via XML [ par nray ] Bonjour à tous, Je suis entrain de créer un puzzle et je souhaite charger de manière aléatoire 20 mes images (de 3 puzzles différents) via un fichier AS3 problème sous IE avec une animation de type caroussel développée avec papervision [ par jpetre ] Premièrement bonjour à tous car ceci est mon premier post sur ce site :) Alors mon soucis, c'est que mon animation, une fois développée et intégrée, f 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 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 variable globale [ par JackNUMBER ] Bonsoir à tous, ce doit être tout bête mais je n'arrive pas à trouver la solution. J'ai un fichier XML contenant des infos dont une url d'image. J'aim 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


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

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