Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 33
  1. #21
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    713

    esattamente..cosi

    in questo caso li troverai uno sopra l'altro
    tutti nella stessa posizione

    codice:
    onClipEvent (load) {
    	for(i:Number=0;i<3;i++){
    duplicateMovieClip("_root.clip","clip"+i , i)
    _root["clip"+i]._x=10; _root["clip"+i]._y=10;
    
    //ecc...
    }
    }
    basta trascinarli uno alla volta metti 3 numero.

    http://max400scuola.altervista.org/a...opra-altro.htm

    ciao
    __________
    by max

  2. #22
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    69
    ma in linea teorica questo codice non dovrebbe essere corretto?

    questo l'ho messo nell'istanza del clip che sarà poi duplicato (ovvero in ogni: "_root.insClip"+type+position):
    codice:
     onClipEvent (enterFrame) 
    {
    	for (i=1; i<=_root.carCounter-1; i++)
    	{
    	//_root["_root.insDupCar"+type+position+_root.carEstratte[type]].play();
    	
    		
    		if(this.hitTest(_root["_root.insDupCar"+i]) )
    		{
    			_root.tmpDebug = "CRAAASH!";
    		
    			this._visible=false;
    			_root["_root.insDupCar"+i]._visible=false;
    		}
    	}
    }
    questo invece è diciamo nel main:
    codice:
    function insertCar(type, position)
    {
    	_root.carCounter= _root.carCounter + 1;
    	duplicateMovieClip ("_root.insClip"+type+position, "_root.insDupCar"+_root.carCounter, 10+_root.carCounter);
    //_root.insClip1SE.play();
    	_root["_root.insDupCar"+_root.carCounter].play();
    }
    la duplicazione avviene correttamente, ed anche i contatori scorrono correttamente...
    mi sfugge qualche errore?

  3. #23
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    69
    il problema puo' essere che se faccio visualizzare this all'inizio del primo blocco di codice ke ho postato, mi restituisce _level0.insClip1NE (1NE è corretto perchè controllo solo questo al momento) ovvero il nome delli istanze che duplico inizialmente, invece di restituirmi _root.insDupCarNUMERO

    soluzioni? :|


    edit: forse ho capito! *_*

  4. #24
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    713

    perchè hai messo -1

    for (i=1; i<=_root.carCounter-1; i++)
    bastava solo carCounter
    (è un contatore giusto?)

  5. #25
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    69
    si, dichiarato in un frame iniziale, e conta bene xD

    forse sto capendo il problema, per ora ho modificato così:

    codice:
    onClipEvent (enterFrame) 
    {
    //	_root["_root.insDupCar"+2].carIndex
    //	if (this != _level0.insClip1NE)
    //		_root.tmpDebug = this;
    
    //	if (this == _root["_root.insDupCar"+1])
    //		_root.tmpDebug = this.carIndex;
    
    //carSpawnNum
    //carTypeIndex
    
    	if (this.carTypeIndex == 1)
    //	_root.tmpDebug += "A";
    	{
    		for (i=1; i<=_root.carCounter; i++)
    		{
    		//_root["_root.insDupCar"+type+position+_root.carEstratte[type]].play();
    		
    			_root.tmpDebug = i;
    			
    			if (this.carSpawnNum != i)
    			{
    	
    				if(this.hitTest(_root["_root.insDupCar"+i]) )
    				{				
    					this._visible=false;
    					_root["_root.insDupCar"+i]._visible=false;
    					_root.tmpDebug = "SIIII!!!";
    				}
    			}
    		}
    	}
    }
    e così:
    codice:
    function insertCar(type, position)
    {
    	_root.carCounter= _root.carCounter + 1;
    	duplicateMovieClip ("_root.insClip"+type+position, "_root.insDupCar"+_root.carCounter, 10+_root.carCounter);
    	_root["_root.insDupCar"+_root.carCounter].play();
    	_root["_root.insDupCar"+_root.carCounter].carSpawnNum = _root.carCounter;
    	_root["_root.insDupCar"+_root.carCounter].carTypeIndex = type;
    }

    ancora non funziona, ma vedo progressi

  6. #26
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    713

    hai provato ad usare una variabile per evitare delle stringhe cosi lunghe?

    guarda un po quest'esempio
    http://max400scuola.altervista.org/a...proiettile.htm
    clicca sul pulsante e muovi la nave con i tasti freccette
    ed ecco il codice:
    codice:
    j=0;
    
    function spara(){
    
    	var fusion="lasersu"+j;
    	j++;
    	attachMovie("lasersu", fusion, j+6);
    	
    	_root[fusion]._x=_root.prometheus1._x +10;
    	_root[fusion]._y=_root.prometheus1._y -10;
    	_root[fusion].onEnterFrame=function(){
    		_root[fusion]._y-=30;
    		if(_root[fusion]._y <1){
    			removeMovieClip(_root[fusion]);}
    	
    }}
    anzicchè duplicate... ho usato attachmovie
    lasersu è l'id preso dalla libreria e non c'è bisogno di fare la copia
    questo ID viene associato a j in una varibiale chiamata fusion

  7. #27
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    69
    cosa cambia tra duplicati e attachmovie?
    e poi è obbligatorio mettere "var" quando si definisce una nuova variabile?

    lasersu è il nome che ha l'istanza che va duplicata giusto?


    Ora magari provo a cambiare il duplicate con l'attachmovie, anche se preferirei non farlo per non create troppo casino, ma sono disperato, l'hittest proprio non va, ho provato anche a fare questo, almeno col passaggio del mouse dovrebbe riconoscere l'hit, ma niente (ho provato sia con true che con false)

    codice:
    onClipEvent (enterFrame) 
    {
    
    	if (this.carTypeIndex == 1)
    //	_root.tmpDebug = this;
    	{
    		for (i=1; i<=_root.carCounter; i++)
    		{
    		//_root["_root.insDupCar"+type+position+_root.carEstratte[type]].play();
    		
    //			_root.tmpDebug = _root["_root.insDupCar"+i]._visible = false;
    			
    			if (this.carSpawnNum != i)
    			{
    
    //				if(this.hitTest(_root["_root.insDupCar"+i]) )
    				if(this.hitTest(_root._xmouse, _root._ymouse, false) ) //(ho provato sia con true che con false ma niente)
    				{				
    					this._visible=false;
    					_root["_root.insDupCar"+i]._visible=false;
    					_root.tmpDebug = "SIIII!!!";
    				}
    			}
    		}
    	}
    }
    non va neanche questo

  8. #28
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    69
    dopo ore di debug sono abbastanza sicuro che il problema sia nell'hitTest, come potrei risolverlo però?

  9. #29
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    713

    dunque dunque...

    var non è obligatori metterlo.. anzi io non lo metto quasi mai
    quando creo una variabile

    lasersu non è il nome dell'istanza è il nome dell'ID
    conosci il concatenamento?

    ed infine l'hitTest

    prova ad aggiungere il ciclo prima dell'hitTest tipo cosi
    codice:
    onClipEvent (enterFrame) 
    {
    
    	if (this.carTypeIndex == 1)
    //	_root.tmpDebug = this;
    	{
    		for (i=1; i<=_root.carCounter; i++)
    		{
    		//_root["_root.insDupCar"+type+position+_root.carEstratte[type]].play();
    		
    //			_root.tmpDebug = _root["_root.insDupCar"+i]._visible = false;
    			
    			if (this.carSpawnNum != i){
    
                               for (i=1; i<=_root.insDupCar; i++){
    //				if(this.hitTest(_root["_root.insDupCar"+i]) 
    				if(this.hitTest(_root._xmouse, _root._ymouse, false) ) //(ho provato sia con true che con false ma niente)
    				{				
    					this._visible=false;
    					_root["_root.insDupCar"+i]._visible=false;
    					_root.tmpDebug = "SIIII!!!";
    				}
    			}
    		}
    	}
    } 
    }

  10. #30
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    69
    for (i=1; i<=_root.insDupCar; i++)

    questo ciclo? Sicuro? _root.insDupCar è il nome parziale dell'istanza Duplicata a cui va aggiunto l'indice per completarlo, con questo ciclo cosa fa? E il ciclo mio piu' esterno dovrei lasciarlo? for (i=1; i<=_root.carCounter; i++)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.