Autor Zpráva
Fusion
Profil *
Dobrý den,

rád bych se zeptal, jak se v scriptováni ve flashi dá pracovat z mnoha instancemi které ste si vytvořili pomocí duplicateMovieClip();

Múj případ je nasledovní:

Mám movieClip s názvem jablko. Pak v kódu mám obměny příkazu duplicateMovieClip() přičemž duplikuju právě movieClip jablko. Celkem mám teda v pracovní ploše umístněny 3 movie clipy - jablko(prototyp), jablko1(instance) a jablko2(instance).

Dále v pracovní ploše se nachází movieClip s názvem housenka, který je prilepen ke kurzoru pomocí funkce startDrag. Kromě jiného má přiřazen nasledovní kód:
onClipEvent (enterFrame) {
if(this.hitTest(_root.jablko) == true) {
    this.tvar.gotoAndPlay("ham");
        }
}

Problém je, že akce se spustí jenom když MovieClip housenka má kolizi s MovieClipem jablko, nikoli jeho instancemi.. existuje ňákej elegantní zpúsob jak bych mohl přimět reagovat MovieClip housenka nejenom na samotný objekt housenka, ale i na všechny jeho instance? Používam ješte AS2
weroro
Profil
var jablka:Number = 3;
var pozicia_X:Array = [110, 200, 465];
var pozicia_Y:Array = [65, 218, 86];
for (var i:Number = 0; i < _root.jablka; i++)
{
    var a:MovieClip = attachMovie ("jablko", "jablko" + i, this.getNextHighestDepth ());
    a._x = _root.pozicia_X[i];
    a._y = _root.pozicia_Y[i];
}
attachMovie ("husenica", "husenica", this.getNextHighestDepth ());
var pohyb:Object = new Object ();
pohyb.onMouseMove = function ():Void 
{
    _root.husenica._x = _root._xmouse;
    _root.husenica._y = _root._ymouse;
    for (var i:Number = 0; i < _root.jablka; i++)
    {
        if (_root.husenica.hitTest (_root["jablko" + i]))
        {
            _root["jablko" + i]._visible = false;
        }
    }
};
Mouse.addListener (pohyb);
Mouse.hide ();
Fusion
Profil *
děkuju:)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: