Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Flash & ActionScript
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti

Flash & ActionScript Animazione web e linguaggio di programmazione

Hey Amico Visitatore,
Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Flash & ActionScript


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 04-10-06, 22:44   #1 (permalink)
User Newbie
 
Data di registrazione: Oct 2006
Messaggi: 1
collisione

Ciao a tutti. Sono nuovo del forum e non molto esperto di actionscript. Comincio, quindi con una domanda.
Come si fa a rilevare la collisione fra due MC (non la collisione fra un MC ed un punto preciso dello stage: myMovieClip.hitTest(x, y, indicatoreForma)) considerando solo l'area dello stage che i MC occupano e non gli oggetti MC nel loro insieme, cioè come se fossero quadrati o rettangoli? Si usa il comando myMovieClip.hitTest(target) con qualche “artificio” o si fa in tutt’altro modo?
Grazie.
fradedo non in linea   Rispondi citando
Vecchio 05-10-06, 07:42   #2 (permalink)
User Attivo
 
L'avatar di Flep
 
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
ciao fradedo,
hai 2 modi:
forma semplice e alquanto impreciso:

Codice:
if(clip1_mc.hitTest(clip2_mc))
{
	trace('now');
}
modo più preciso (utilizzando il teorema di Pitagora):
crea 2 palline e chiamale clip_0_mc,clip_1_mc:
Codice:
var clip_0:MovieClip=this.clip_0_mc;
var clip_1:MovieClip=this.clip_1_mc;
clip_0._x=0;
clip_1._x=Stage.width;
this.onEnterFrame=function():Void
{
	var x:Number=clip_0._x-clip_1._x;
	var y:Number=clip_0._y-clip_1._y;
	var distance:Number=Math.sqrt(x*x+y*y);
	if(distance<=clip_0._width)
	{
		this.onEnterFrame=null;
		trace('stop');
	}
	else
	{
		clip_0._x++;
		clip_1._x--;
	}
}
Ci sarebbe un altro metodo che permette di calcolare la collisione con qualsiasi forma ed in qualsiasi condizione, ma necessita avanzata conoscenza di actionscript e trigonometria.
Per il momento direi di fermarti al secondo metodo che ti ho scritto

Flep non in linea   Rispondi citando
Rispondi
Tags:



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 09:58.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.