begin process at 2012 05 27 08:58:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Liens xml et carrousel Flash


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

Liens xml et carrousel Flash

mardi 3 juin 2008 à 16:01:00 | Liens xml et carrousel Flash

lucile266

Bonjour à tous,

J'ai besoin d'un petit coup de main : Je n'arrive pas à mettre en relation mon fichier xml avec mon fichier flash dans le but de créer un carrousel 3d. Les liens ne fonctionnent pas.

Voici le code de mon flash :

import mx.utils.Delegate;

var numOfItems:Number;
var radiusX:Number = 200;
var radiusY:Number = 200;
var centerX:Number = Stage.width / 1.9;
var centerY:Number = Stage.height / 1.5;
var speed:Number = 0.01;
var perspective:Number = 230;
var home:MovieClip = this;

var xml:XML = new XML();
xml.ignoreWhite = true;

xml.onLoad = function()
{
 var nodes = this.firstChild.childNodes;
 numOfItems = nodes.length;
 for(var i=0;i<numOfItems;i++)
 {
  var t = home.attachMovie("item","item"+i,i+1);
  t.angle = i * ((Math.PI*2)/numOfItems);
  t.onEnterFrame = mover;
  t.toolText = nodes[i].attributes.tooltip;
  t.icon.inner.loadMovie(nodes[i].attributes.image);
  t.r.inner.loadMovie(nodes[i].attributes.image);
  t.icon.onRollOver = over;
  t.icon.onRollOut = out;
  t.icon.onRelease = released;
 }
}

function over()
{
 home.tooltip.tipText.text = this._parent.toolText;
 home.tooltip._x = this._parent._x;
 home.tooltip._y = this._parent._y - this._parent._height/2;
 home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
 home.tooltip._alpha = 100;
}

function out()
{
 delete home.tooltip.onEnterFrame;
 home.tooltip._alpha = 0;
}
function released()
{
 this.onRelease = function() {
 getURL(URL,_blank);
}
}

function moveTip()
{
 home.tooltip._x = this._parent._x;
 home.tooltip._y = this._parent._y - this._parent._height/2;
}

xml.load("icons.xml");

function mover()
{
 this._x = Math.cos(this.angle) * radiusX + centerX;
 this._y = Math.sin(this.angle) * radiusY + centerY;
 var s = (this._y - perspective) /(centerY+radiusY-perspective);
 this._xscale = this._yscale = s*100;
 this.angle += this._parent.speed;
 this.swapDepths(Math.round(this._xscale) + 100);
}

this.onMouseMove = function()
{
 speed = (this._xmouse-centerX)/ 15000;
}




Et voici mon xml :


<icons>

<icon image="eco.png"   url="javascript:fonctionlien('../espace_jeunes/enfance_univers.jsp','');"  />

<icon image="coll.png"  url="javascript:fonctionlien('../espace_jeunes/collegien_univers.jsp','');"/>

<icon image="lyc.png"  url="javascript:fonctionlien('../espace_jeunes/lyceen_univers.jsp','');" />

<icon image="etu.png"  url="javascript:fonctionlien('../espace_jeunes/etudiant_univers.jsp','');" />

<icon image="app.png"  url="javascript:fonctionlien('../espace_jeunes/apprenti_univers.jsp','');"/>

<icon image="act.png"  url="javascript:fonctionlien('../espace_jeunes/actif_univers.jsp','');"/>

</icons>

Merci d'avance

 

 



 

mardi 3 juin 2008 à 18:59:59 | Re : Liens xml et carrousel Flash

Orange73

Membre Club
Eheh vive gotoandlearn ;)

Tu a un probleme dans ta fonction :
function released()
{
 this.onRelease = function() {
 getURL(URL,_blank);
}

> Déjà _blank s'écris entre guillemet "_blank"
> Ensuite URL ne fais reference a aucun String dans ton code.

Tu as oublier de specifier le lien vers l'attribut url du xml pour chaque items :
xml.onLoad = function()
{
 var nodes = this.firstChild.childNodes;
 numOfItems = nodes.length;
 for(var i=0;i<numOfItems;i++)
 {
  var t = home.attachMovie("item","item"+i,i+1);
  t.angle = i * ((Math.PI*2)/numOfItems);
  t.onEnterFrame = mover;
  t.toolText = nodes[i].attributes.tooltip;
  t.url =
nodes[i].attributes.url;
  t.icon.inner.loadMovie(nodes[i].attributes.image);
  t.r.inner.loadMovie(nodes[i].attributes.image);
  t.icon.onRollOver = over;
  t.icon.onRollOut = out;
  t.icon.onRelease = released;
 }
}

Et donc ta fonction released devient :
function released()
{
 this.onRelease = function() {
 getURL(this.url,"_blank");
}

Normalement sa devrait marcher ;)

PS : je bosse moi aussi en ce moment sur  cette source lol
mardi 3 juin 2008 à 20:38:57 | Re : Liens xml et carrousel Flash

lucile266

Merci pour cette réponse si rapide! Je vais le tester de ce pas....
mercredi 4 juin 2008 à 10:05:09 | Re : Liens xml et carrousel Flash

lucile266

ça ne marche pas . Mes liens ne sont pas définis. Dur dur!!!
Merci quand même pour ton aide.
mercredi 4 juin 2008 à 12:11:42 | Re : Liens xml et carrousel Flash

Orange73

Membre Club
Tu est sur que ton code javascript est correct ?

Pour tester. par exemple pour l'tem 3 met un lien vers un site web genre http://www.flashkod.com

Et test le lien de l'item 3... si sa marche c'est ton JS :-)
mercredi 4 juin 2008 à 20:31:16 | Re : Liens xml et carrousel Flash

Orange73

Membre Club
petite correction dans ta fonction :
function released()
{
 this.onRelease = function() {
 getURL(this.url,"_blank");
}

Pourquoi tu mets une fonction onRelease a l'intérieur d'une fonction onRelease ?

Voir :
t.icon.onRelease = released;
(Tu a deja indiquer que c'est une fonction onRelease)

Alors ta fonction released devient :
function released()
{
 getURL(this.url,"_blank");
}

C'est donc peut-etre a cause de sa que ton link marche pas ;)


lundi 9 juin 2008 à 11:53:43 | Re : Liens xml et carrousel Flash

seth1

Bonjour à tous et à toutes !
Je travaille actuellement (moi aussi !) sur cette source, mais sur la v3 (celle qui ouvre des menus de description)
Cependant, je cherche a créer la même fonction que onRelease, mais automatiquement, toutes les 10 sec. par exemple, pour présenter les différentes icônes même s'il n'y a pas intervention de l'utilisateur.

Mon problème est que je n'arrive pas à créer ce système d'automatisation de l'ouverture des descriptions. J'ai bien testé avec la fonction setIntervel(), mais bon...

Voilà mon code source :

import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;

var numOfItems:Number;
var radiusX:Number = 130;
var radiusY:Number = 20;
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 2;
var speed:Number = 0.05;
var perspective:Number = 120;
var home:MovieClip = this;
theText._alpha = 0;

var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha = 0;

var xml:XML = new XML();
xml.ignoreWhite = true;

xml.onLoad = function()
{
    var nodes = this.firstChild.childNodes;
    numOfItems = nodes.length;
    for(var i=0;i<numOfItems;i++)
    {
        var t = home.attachMovie("item","item"+i,i+1);
        t.angle = i * ((Math.PI*2)/numOfItems);
        t.onEnterFrame = mover;
        t.toolText = nodes[i].attributes.tooltip;
        t.content = nodes[i].attributes.content;
        t.icon.inner.loadMovie(nodes[i].attributes.image);
        t.r.inner.loadMovie(nodes[i].attributes.image);
        t.icon.onRollOver = over;
        t.icon.onRollOut = out;
        t.icon.onRelease = released;
    }
}

function over()
{
   
    home.tooltip.tipText.text = this._parent.toolText;
    home.tooltip._x = this._parent._x;
    home.tooltip._y = this._parent._y - this._parent._height/2;
    home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
    home.tooltip._alpha = 100;
}

function out()
{
    delete home.tooltip.onEnterFrame;
    home.tooltip._alpha = 0;
}

function released()
{
   
    home.tooltip._alpha = 0;
    for(var i=0;i<numOfItems;i++)
    {
        var t:MovieClip = home["item"+i];
        t.xPos = t._x;
        t.yPos = t._y;
        t.theScale = t._xscale;
        delete t.icon.onRollOver;
        delete t.icon.onRollOut;
        delete t.icon.onRelease;
        delete t.onEnterFrame;
        if(t != this._parent)
        {
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
            var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
        }
        else
        {
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,200,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,200,1,true);
            var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,50,1,true);
            var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,-10,1,true);
            var tw5:Tween = new Tween(theText,"_alpha",Strong.easeOut,0,100,1,true);
            theText.text = t.content;
            var s:Object = this;
            tw.onMotionStopped = function()
            {
                s.onRelease = unReleased;
            }
        }
    }
}

function released2() // fonction avec laquelle je souhaite ouvrir automatiquement les pages de description
{
   
    home.tooltip._alpha = 0;
    for(var i=0;i<numOfItems;i++)
    {
        var t:MovieClip = home["item"+i];
        t.xPos = t._x;
        t.yPos = t._y;
        t.theScale = t._xscale;
        delete t.icon;
       
       
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
            var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
       
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,200,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,200,1,true);
            var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,50,1,true);
            var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,-10,1,true);
            var tw5:Tween = new Tween(theText,"_alpha",Strong.easeOut,0,100,1,true);
            theText.text = t.content;
            var s:Object = this;
           

       
    }
}

setInterval(released2, 2000)

function unReleased()
{
   
    delete this.onRelease;
    var tw:Tween = new Tween(theText,"_alpha",Strong.easeOut,100,0,0.5,true);
    for(var i=0;i<numOfItems;i++)
    {
        var t:MovieClip = home["item"+i];
        if(t != this._parent)
        {
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,0,t.theScale,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,0,t.theScale,1,true);
            var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,0,100,1,true);
        }
        else
        {
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,200,t.theScale,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,200,t.theScale,1,true);
            var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,t.xPos,1,true);
            var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,t.yPos,1,true);
            tw.onMotionStopped = function()
            {
                for(var i=0;i<numOfItems;i++)
                {
                    var t:MovieClip = home["item"+i];
                    t.icon.onRollOver = Delegate.create(t.icon,over);
                    t.icon.onRollOut = Delegate.create(t.icon,out);
                    t.icon.onRelease = Delegate.create(t.icon,released);
                    t.onEnterFrame = mover;
                }
            }
        }
    }
}


function moveTip()
{
    home.tooltip._x = this._parent._x;
    home.tooltip._y = this._parent._y - this._parent._height/2;
}

xml.load("icons.xml");

function mover()
{
    this._x = Math.cos(this.angle) * radiusX + centerX;
    this._y = Math.sin(this.angle) * radiusY + centerY;
    var s = (this._y - perspective) /(centerY+radiusY-perspective);
    this._xscale = this._yscale = s*100;
    this.angle += this._parent.speed;
    this.swapDepths(Math.round(this._xscale) + 100);
}

this.onMouseMove = function()
{
    speed = (this._xmouse-centerX)/2500;
}




et mon XML :

<icons>



<icon image="icon1.png" tooltip="pack1" content="blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla" />



<icon image="icon2.png" tooltip="pack2" content="blablablablablablablablablablablablablablablablablablablablablablablablablablablablablabl" />



<icon image="icon3.png" tooltip="pack3" content="blablablablablablablablablablablablablablablablablablablablablablablablablablablablabla" />



<icon image="icon4.png" tooltip="pack4" content="blablablablablablablablablablablablablablablablablablabla" />



<icon image="icon5.png" tooltip="pack5" content="blablablablablablablablablablablablablablablablablabl"/>



</icons>



Merci d'avance, si vous voyez comment faire...
jeudi 31 juillet 2008 à 18:32:57 | Re : Liens xml et carrousel Flash


Cette discussion est classée dans : function, var, xml, tooltip, home


Répondre à ce message

Sujets en rapport avec ce message

Probleme carroussel avec xml [ par BBFUNK01 ] Salut à tous. Je suis en train de faire un carroussel en as2 dont les icônes sont gérées par un xml. Chaque icône du carroussel est cliquable et renv chargement aléatoire d'image en XML [ par vash001 ] Bonjour, Je suis plus que débutant en flash et xml, c'est pourquoi j'implore votre aide ... Voila j'ai un xml déterminant mes images que je charge Bouton Sur un carrousel chargé dynamiquement [ par Dylancozian ] Bonjour ami flasheur  Je viens vers vous car j'ai un problème avec un carrousel en flash. Un ami m'a passé une source qu'il a récupérait sur internet aide sur caroussel et onRelease... [ par nicodogs ] Bonjour à tous,Je suis en train d'étudier comment focntionne un caroussel en flash (la source vient de là: http://www.gotoandlearn.com/le truc, c'est 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 Redimensionner un aperçu uploadé ? [ par MissAnnThrope ] Bonjour,Je souhaite créer une animation flash qui permette aux visiteurs d'uploader une photo/image pour ensuite y ajouter quelques petites choses (ca duplicateMovieClip, RadioButton selon le fichier XML [ par cefar ] Bonjour,Je tente de développer un QCM avec chargement d'un fichier XML.Le nombre de réponse par question n'est pas fixe.Je fais une boucle pour placer Popup depuis xml [ par geraldinechx ] Bonjour,J'utilise un fichier xml pour une gallerie photo. Le code suivant permet d'appeler le fichier xml ainsi qu'un lien lorsque l'on clique sur une Popup depuis xml [ par geraldinechx ] Bonjour,J'utilise un fichier xml pour une gallerie photo. Le code suivant permet d'appeler le fichier xml ainsi qu'un lien lorsque l'on clique sur une [FMX] onClipEvent & NetStream ne fonctionnent pas ensemble dans mon swf??? [ par co2nexions ] J'ai ce code de streaming video qui marche très bien :// Créer un objet NetConnection :var netConn:NetConnection = new NetConnection(); // Crée


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,312 sec (3)

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