Klasa: BitmapData
Kompatybilność: ActionScript 1.0, Flash8+
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;
}
Listing
Ranga: Administrator serwisu Punktów: 0