-
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.
-
ciao fradedo,
hai 2 modi:
forma semplice e alquanto impreciso: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: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