Loading:


BitmapData hitTest [AS 2]

Klasa: BitmapData

Kompatybilność: ActionScript 1.0, Flash8+

 

public hitTest(pierwszyPunkt:Point, pierwszyAlphaProg:Number, drugiObiekt:Object, [drugiPunkt:Point], [drugiAlphaProg:Number]) : Boolean

 

Parametery

 

pierwszyPunkt:Point - Punkt, który definiuje lokalizacje pikselu z właściwego obiektu BitmapData.

pierwszyAlphaProg:Number - Najwyższa wartość kanału alpha (przezroczystości) który jest bran pod uwagę dla sprawdzania kolizji.

drugiObiekt:Object - Prostokąt, punkt lub obiekt BitmapData.

drugiPunkt:Point [opcjonalny] - Punkt który definiuje lokalizacje pikselu w drugim obiekcie BitmapData. Użyj tego parametru tylko wtedy gdy wartość "drugiPunkt" jest obiektem BitmapData.

drugiAlphaProg:Number [opcjonalny] - Najwyższa wartość kanalu alpha która jest brana pod uwagę dla drugiego obiektu BitmapData. Użyj tego parametru, kiedy wartość "drugiObiekt" jest obiektem BitmapData oraz obydwa obiekty są przezroczyste.


Zwracane wartości:

Boolean - A wartość logiczna, jeśli zdarzyła się kolizja to TRUE, w innym przypadku FALSE

 

Sprawdza czy wystąpiła kolizja między danym obiektem BitmapData z innym obiektem. HitTest bierze pod uwagę tylko oryginalne rozmiary oraz ustawienia danego obiektu.

 

Przykład:

 

import flash.display.BitmapData;
import flash.geom.Point;

var mojBitmapData:BitmapData = new BitmapData(100, 80, false, 0x00CCCCCC);

var mc_1:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc_1.attachBitmap(mojBitmapData, this.getNextHighestDepth());

var mc_2:MovieClip = createRectangle(20, 20, 0xFF0000);

var destPoint:Point = new Point(mojBitmapData.rectangle.x, mojBitmapData.rectangle.y);
var currPoint:Point = new Point();

mc_1.onEnterFrame = function() {
    currPoint.x = mc_2._x;
    currPoint.y = mc_2._y;
    if(mojBitmapData.hitTest(destPoint, 255, currPoint)) {
        trace(">> Wykrycie kolizji w położeniu x:" + currPoint.x + " oraz y:" + currPoint.y);
    }
}

mc_2.startDrag(true);

function createRectangle(width:Number, height:Number, color:Number):MovieClip {
    var depth:Number = this.getNextHighestDepth();
    var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth);
    mc.beginFill(color);
    mc.lineTo(0, height);
    mc.lineTo(width, height);
    mc.lineTo(width, 0);
    mc.lineTo(0, 0);
    return mc;
}



Napisz Artyku³

Listing

niema




Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38523
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2021 v.1.5 | design: diviXdesign & rainbowcolors