Puce et Média

Recherche et développement en multimédia

  • Augmenter la taille
  • Taille par défaut
  • Diminuer la taille
Puce et Média > Flash plate-forme > Action Script 3.0 > Interactions et collisions

Interactions et collisions

Envoyer Imprimer PDF

Pour détecter les collisions en SA 3.0 nous disposons de deux fonctions hitTestPoint() et hitTestObject(). La première peut être précise et détecter la forme de l'objet alors que la seconde détecte seulement si les bounding box de chaque objet se superpose. Il existe diverses autres approches que vous trouverez sur ces liens.

Animation

Code

carre.addEventListener(Event.ENTER_FRAME,detecte_collision);
rond.addEventListener(Event.ENTER_FRAME,detecte_collision);
function detecte_collision(evt:Event):void {
	if (evt.target.hitTestPoint(mouseX,mouseY,true)) {
		sortie.text = "la souris touche " + evt.target.name
	}
	if (evt.target.hitTestObject(polygone)) {
		sortie.text = "le polygone touche " + evt.target.name 
	}
}
polygone.addEventListener(MouseEvent.MOUSE_DOWN,ajoute_deplace)
polygone.addEventListener(MouseEvent.MOUSE_UP,retire_deplace)
function ajoute_deplace(evt:MouseEvent):void{
	evt.currentTarget.addEventListener(Event.ENTER_FRAME,deplace)
}
function retire_deplace(evt:MouseEvent):void{
	evt.currentTarget.removeEventListener(Event.ENTER_FRAME,deplace)
}
function deplace(evt:Event):void{
	evt.currentTarget.x = mouseX
	evt.currentTarget.y = mouseY
}
 


Puce et Média > Flash plate-forme > Action Script 3.0 > Interactions et collisions