Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [flash 8] capire su che bottone si trova?

    ragazzi sto creando un menù girevole che carica delle icone png da xml e ho seguito un tutorial per realizzarlo....
    fin qui tutto ok?
    adesso però il difficile almeno per me?
    come faccio a far spostare di scena quando viene cliccato su un icona?
    mi spiego meglio
    ho 5 icone png che vengono caricate tramite xml
    vorrei che quando clicco sull'icona 1 mi va alla scena 2
    quando clicco sullicona 2 mi va alla scena 3 e cosi via
    adesso vorrei capire come faccio a dirgli di andare alle varie scene in base all'icona cliccata...
    posto il codice per farvi capire
    codice:
    import mx.utils.Delegate;
    
    var numOfItem:Number ;
    var radiusX:Number =250;
    var radiusY:Number =75;
    var centerX:Number = Stage.width /2;
    var centerY:Number = Stage.height/2;
    var speed :Number = 0.05;
    var perspective:Number =100;
    var home:MovieClip=this;
    
    
    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;
    	numOfItem=nodes.length;
    	for(var i=0;i<numOfItem;i++)
    	{
    		var t= home.attachMovie("item","item"+i,i+1);
    		t.angle = i* ((Math.PI *2)/numOfItem);
    		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.onRelease= release;
    		t.icon.onRollOut=out;
    		
    		
    	}
    }
    
    
    
    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 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:Number = (this._y - perspective)/(centerY + radiusY-perspective);
    			this._xscale=this._yscale = s*90;
    			this.angle += this._parent.speed;
    			this.swapDepths(Math.round (this._xscale) +100);
    	
    			}
    			
    			this.onMouseMove = function()
    			{
    			speed= (this._xmouse - centerX)/10000;
    			}
    io avevo pensato una cosa del genere

    codice:
    function release()
    {
    	for(var i=0;i<numOfItem;i++)
    	{
    		var t:MovieClip = home["item"+i]
    	....... ma come devo continuare?	
    	}
    }
    ma cosa devo mettere per fargli capire che se si trova sull'icona 1 va alla scena 2 e cosi via...
    devo dichiarare qualche variabile....
    fin qui ho seguito un tutorial ma poi procede diversamente e non so come andare avanti
    Qualcuno che mi aiuta?
    Grazie in anticipo

  2. #2
    ragazzi nessuno sa aiutarmi

  3. #3
    ragazzi per favore mi aiutate

  4. #4
    Ci sono tanti sistemi, proviamo con questo...
    premetto che ho dato solo una "scorsa" veloce al codice, per cui non garantisco nulla..
    codice:
    {
    	var nodes= this.firstChild.childNodes;
    	numOfItem=nodes.length;
    	for(var i=0;i<numOfItem;i++)
    	{
    		var t= home.attachMovie("item","item"+i,i+1);
    		t.angle = i* ((Math.PI *2)/numOfItem);
    		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.onRelease= release;
    		t.icon.onRollOut=out;
    		
    		
    	}
    }
    Vedi ciò che ho evidenziato in blu?
    Quello è il nome istanza del movieclip t che contiene il pulsante icon,
    infatti, da quello che ho evidenziato in rosso, mi pare chiaro che le funzioni di pulsante vengono attribuite a t.icon.
    Quindi t avrà un nome istanza ben riconoscibile, e t è il padre di icon

    A questo punto, nella funzione release potrai associare questo codice:
    codice:
    function release() {
          if (this._parent._name == "item1") {
             .... azioni....
          }
    }
    e così via

  5. #5
    sotto ti ho scritto

  6. #6
    cavolo non va
    codice:
    function release() {
          if (this._parent._name == "item1") 
        {
             gotoAndPlay(1);      
        }
    }
    però su che bottone clicco clicco va sempre al fotogramma 1 mannaggia
    come devo fare

  7. #7
    non ho tempo per replicare la tua prova, per cui fai così...

    aggiungi questa trace al codice della funzione release...
    codice:
    trace("nomi:" +this._parent._parent._name+" / "+this._parent._name+" / "+this._name);
    poi posta il risultato

  8. #8
    intendi cosi
    codice:
    function release() {
    trace("nomi:" +this._parent._parent._name+" / "+this._parent._name+" / "+this._name);
          if (this._parent._name == "item1") 
        {
             gotoAndPlay(1);      
        }
    }
    devo scrivere cosi?

  9. #9
    mi esce la finestra di output
    con scritto
    nomi: /item0/icon
    nomi: /item1/icon
    nomi: /item2/icon
    ...

    ecco cosa esce adesso ...
    avevo sbagliato a scrivere il trace prima
    ora che devo fare

  10. #10
    allora va bene come ti avevo detto...
    codice:
    function release() {
          if (this._parent._name == "item1") 
        {
             gotoAndPlay(1);      
        }
    }
    è il goto che non va bene.

    su quale timeline ti devi muovere?

    nel caso fosse la timeline principale dovresti scrivere:
    _root.gotoAndPlay(1);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.