begin process at 2010 02 10 11:48:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Multimédia

 > 

3D

 > 

Ajouter du reflet sur un objet plane style carrousel


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

Ajouter du reflet sur un objet plane style carrousel

mardi 20 janvier 2009 à 23:43:59 | Ajouter du reflet sur un objet plane style carrousel

Alex001

Membre Club
Bonjour à tous, Je code actuellement un site en flash AS3. Avec l'aide de plusieurs sources j'ai fini par créer des planes qui charges des images a partir d'un xml, puis les planes sont créer dans un conteneur avec un chemin cylindrique pour le mouvement. J'essaye d'ajouter un plane inversé avec un degradé pour créer l'effet du reflet au sol. Mais je n'y arrive pas, a chaque teste l' AS3 ne reagit plus. Voici mon code de chargement des images et création des objets planes, qui fonctionne très bien. Je n'ai pas ajouter le code du reflet car j'espère que quelqu'un pourra m'indiqué une nouvelle issue. import org.papervision3d.scenes.*; import org.papervision3d.cameras.*; import org.papervision3d.objects.*; import org.papervision3d.materials.*; import fl.transitions.Tween; import fl.transitions.easing.*; import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); container.x = 488; container.y = 275; addChild(container); var scene:Scene3D = new MovieScene3D(container); var cam:Camera3D = new Camera3D(); cam.zoom = 8; tn_title.text = ""; tn_desc.text = ""; tn_url.text = ""; var p_dict:Dictionary=new Dictionary(); var pc:Plane = new Plane(); pc.visible = false; cam.target = pc; var numOfRotations:Number = 3; var yPos:Number = 0; var angle:Number = 0; var filename_list = new Array(); var url_list = new Array(); var url_target_list:Array = new Array(); var title_list = new Array(); var description_list = new Array(); var folder:String = "thumbnails/"; var i:Number; var j:Number = 0; var k:Number = 0; var l:Number = 0; var m:Number = 0; var total:Number; var flashmo_xml:XML = new XML(); var loader:URLLoader = new URLLoader(); loader.load(new URLRequest("thumbnail_list_3.xml")); loader.addEventListener(Event.COMPLETE, create_thumbnail); function create_thumbnail(e:Event):void { flashmo_xml = XML(e.target.data); total = flashmo_xml.thumbnail.length(); var anglePer:Number = ((Math.PI*2) * numOfRotations) / total; for( i = 0; i < total; i++ ) { url_list.push( flashmo_xml.thumbnail[i].@url.toString() ); url_target_list.push( flashmo_xml.thumbnail[i].@target.toString() ); title_list.push( flashmo_xml.thumbnail[i].@title.toString() ); description_list.push( flashmo_xml.thumbnail[i].@description.toString() ); var bfm:BitmapFileMaterial = new BitmapFileMaterial( folder + flashmo_xml.thumbnail[i].@filename.toString()); bfm.oneSide = false; bfm.smooth = true; var p:Plane = new Plane(bfm, 140, 105, 2, 2); scene.addChild(p); var p_container:Sprite = p.container; p_container.name = "flashmo_" + 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.rotationY = (-i*anglePer) * (180/Math.PI) + 90; p.x = Math.cos(i * anglePer) * 480; p.z = Math.sin(i * anglePer) * 480; p.y = yPos; if( (i+1) % 20 == 0 ) { yPos += 115; } } } function p_rollover(me:MouseEvent) { var sp:Sprite = me.target as Sprite; var tw:Tween = new Tween(sp, 'alpha', Strong.easeOut, 1, 0.5, 0.6, true); var s_no:Number = parseInt(sp.name.slice(8,10)); tn_title.text = title_list[s_no]; tn_desc.text = description_list[s_no]; tn_url.text = url_list[s_no]; } function p_rollout(me:MouseEvent) { var sp:Sprite = me.target as Sprite; var tw:Tween = new Tween(sp, 'alpha', Strong.easeOut, 0.5, 1, 0.6, true); tn_title.text = ""; tn_desc.text = ""; tn_url.text = ""; } function p_click(me:MouseEvent) { var sp:Sprite = me.target as Sprite; var s_no:Number = parseInt(sp.name.slice(8,10)); navigateToURL(new URLRequest(url_list[s_no]), url_target_list[s_no]); } addEventListener(Event.ENTER_FRAME, render); function render(e:Event):void { var dist2:Number = ((stage.mouseX) - 488) * 0.0001; angle += dist2; cam.x = - Math.cos(angle) * 350; cam.z = Math.sin(angle) * 350; var new_zoom = 12.5 - stage.mouseY * 0.008; cam.zoom += ( new_zoom - cam.zoom ) * 0.06; scene.renderCamera(cam); }
mardi 20 janvier 2009 à 23:54:33 | Re : Ajouter du reflet sur un objet plane style carrousel

Alex001

Membre Club
Voici le code que j'ai testé pour créer le reflet. malheureusement le code as3 ne s'execute plus ! p_container.duplicateMovieClip("image2", _root.getNextHighestDepth()); image2._yscale *= -1; //On retourne le nouveau clip inter = setInterval(down, 100); //On créé un interval qui s'exécutera dans 100 millisecondes function down(){ //Au bout de 100 millisecondes la fonction down est éxécutée image2._y = image._height * 2; //L'image étant chargée on peut descendre image2 degrade._y = image._height; //On descend le dégradé degrade._height = image._height; //On adapte la hauteur du dégradé à la hauteur du 1er clip degrade._width = image._width; //On adapte la largeur du dégradé à la largeur du 1er clip clearInterval(inter); //On détruit l'interval sinon le clip descendra toutes les 100 millisecondes } degrade.swapDepths(image2); //On pass le dégradé au 1er plan (on inverse avec le clic duppliqué) Merci d'avance. Alexandre
mercredi 21 janvier 2009 à 00:11:54 | Re : Ajouter du reflet sur un objet plane style carrousel

sep2vigne

Salut, j'ai pas regardé en détail ton code mais il me semble que tu utilises _height et _width
> en AS3 les "_" n'existent plus.
_alpha = alpha
_height = height
_width = width


Cette discussion est classée dans : var, xml, number, list, container


Répondre à ce message

Sujets en rapport avec ce message

Problème d'undefined [ par Reno007 ] Bonjour à tous. Je désire pouvoir avoir accès au contenu de ma variable "contenuXMLFichier" en dehors de la fonction onLoad et j avais trouvé un cod Problème de onPress dans une boucle [ par Reno007 ] Bonjour à tous et toutes,Je débute en flash et j'ai un problème pour ma galerie de photos. J'affiche une photo et les miniatures.Le problème c'est que LocalConnect pas très bien compris [ par way2web ] Bonsoir,J'ai créé deux fichiers swf différents insérés dans la même page html :1) le premier est une galerie de miniatures2) le deuxième est les photo probleme lors Creation d'une galerie avec Clip imbriqué sous as3 [ par martin8fr ] var imageLoader:Loader;var xml:XML;var xmlList:XMLList;var xmlLoader:URLLoader = new URLLoader();var container:MovieClip;var cadre:Cadre = new Cadre() Carrousel 3D [ par cash1 ] Bonjour à tous,Voilà, après avoir chercher un peu partout sur la toile je n'arrive pas à trouver ce qui me convient.J'ai réalisé un carrousel "3D" en Arrêt du carrousel ou arrêt de fonction [ par cash1 ] Bonjour à tous,Voilà mon problème, j'ai trouvé le code source pour crée un carrousel effet 3D. Il fonctionne très bien mes images sont bien chargées, Ajouter du texte depuis mon xml dans loadClip..; au secours [ par barytonlyrique ] Bonsoir à tous...Je débute en Flash et je souhaite créer une pellicule qui affiche toutes mes images par mon xml et qui navigue droite/gauche selon la mon get url a des problemes [ par tonydanza ] Bonjour à tous, voila j'ai un petit probleme de code et je ne voie pas l'erreur :si je laisse le code comme ça l'animation est gelée, mais les liens f 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 width sur une variable xml récupérée ne fonctionne pas [ par cd59 ] Bonjour, j'ai un SWF avec des champs de texte. Ces champs sont renseigné dans un xml.Ce qui marche : l'import dans flash des noms des champs de texte


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

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

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