flash és más

Elkezdtem az Androidot tanulgatni, ide jegyzetelek magam és mások okulására. Flash programozás is lesz, ha úgy érzem, hogy van olyan amit szívesen megosztanék másokkal.

Friss topikok

Rekurzív függvény alkalmazása Flash-ben

2014.04.09. 16:14 hopetheorc

Az egyik interjúmon kaptam egy ehhez hasonló feladatot, persze kiszórtak, mert azért az ember ritkán használ rekurziót. Eldurrant az agyam és megcsináltam, hogy legközelebb legyen fogalmam róla.

A cél az volt, hogy egymásba ágyazott movie clipeken átfutva megtaláljam a leginkább bal oldalon lévő objektum koordinátáit. Nem röhög, ezt találtam ki megoldandó példának.

//A rekurzív föggvény
function getMostLeft(cont):Number
{
    //A cont beérkező objektum globális koordinátáit
    //megkapjuk egy ideigelenes változóban

    var globalPoint:Point = cont.localToGlobal(new Point(0,0));
    //A kapott pont x koordinátája lesz az adott objektum
    //referenciapontja az x tenegelyen

    var mostleft:Number = globalPoint.x;
    // Átfutunk a cont objektumunkban létező összes objektumon egy for ciklussal
    for (var i:int = 0; i < cont.numChildren; i++)
    {
        var mc = cont.getChildAt(i);
        if (mc is MovieClip)
        {
            // ha mc movie clip akkor belelépünk a rekurzív függvényünkbe, ahonnan
            // megkapjuk az aktuális leginkább balra fekvő objektum
            // x koordinátáját

            var temp = getMostLeft(mc);
                        // ha ez az érték kisebb mint az eddigi legkisebb,
            // akkor átírjuk a mostleft értékét
            if (mostleft > temp){
                mostleft = temp;
            }
        }
    }
    // visszaadjuk a mostleft értékét
    return mostleft;
}

var mostleft:Number = getMostLeft(container);

trace (mostleft);

Hát ő lenne az. Meg lehet csinálni iteratív módszerrel is, de kicsit snassz ehhez képest :)

Szólj hozzá!

Címkék: flash as3 pozíció rekurzív egymásba ágyazás

A bejegyzés trackback címe:

https://hopetheorc.blog.hu/api/trackback/id/tr365999353

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása