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: 0
    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-2025 v.1.5 | design: diviXdesign & rainbowcolors