Autor Zpráva
AureliuS
Profil *
jak se dá skriptem vložit MC do scény z knihovy a pak mu dát jméno instance?
XXX
Profil
Metodou attachMovie(); Musis si ale v klihovne nastavit identifikator v Linkage, kterym se na MC budes odkazovat ;)
AureliuS
Profil *
co má být v závorkách toho attachMovie?

jek by se to dělalo aby v tom MC bylo něco jako lokálni proměnná? Jde totiž o to že těch MC by tam mělo moct být nekonečně moc.
Takže by ty proměnné mohly být něco jako mc1.proměnná v druhym by bylo mc2.proměnná , ... a mc1,2,... to bych viděl jako jméno instance.

Takhle nějak si myslim že by to možna mohlo vypadat.
dredie
Profil
AureliuS

this.onEnterFrame = function():Void {
addMovie();
}

function addMovie():Void {
this.attachMovie("jmenoLinkage", "jemnoInstance", this.getNextHighestDepth());
}

ale nedoporucuju
AureliuS
Profil *
udělat tohle?

var cislo:Number = 0;
var id:String = "";

onEnterFrame = function() {
cislo += 1;
id = "neco" + cislo;

id._x = 0;
id._y = cislo*27;


Jde o to aby misto samotne proměnné id, byla brána jeji hodnota : neco1,neco2,neco3 a to by byly jména instancí něčeho.
AureliuS
Profil *
jde udělat tohle?

var cislo:Number = 0;
var id:String = "";

onEnterFrame = function() {
cislo += 1;
id = "neco" + cislo;

id._x = 0;
id._y = cislo*27;


Jde o to aby misto samotne proměnné id, byla brána jeji hodnota : neco1,neco2,neco3 a to by byly jména instancí něčeho.
dredie
Profil
AureliuS
ty chces promenne string zadavat hodnoty souradnic X a Y? :DDD tak hodne stesti
AureliuS
Profil *
ne!
potřebuju jakkoliv uskládat jméno istance (toho před ._x) z proměnných protože nevím kolik jich bude potřeba.

samosřejně že tamhleto je blbost!

(nevim proč se tam poslalo 2x to same)
XXX
Profil
AureliuS
Pokud vytvaris ty MC primo na hlavni casove ose, staci ti pouzit nasledujici skript. Aby to bylo jednodussi na pochopeni, pouzivam tam me neoblibene "_root":

var cislo:Number = 0;
var id:String;
_root.onEnterFrame = function() {
cislo++;
id = "neco"+cislo;
_root[id]._x = 0;
_root[id]._y = cislo*27;
};

AureliuS
Profil *
supr, ja věděl že něco takovedo by to mohlo byt.

Já myslel že to jenom já nesnáším "_root" :-D
XXX
Profil
AureliuS
Pouzivani _root(u) je v 99,99% zbytecne a da se nahradit relativnim adresovanim. Je pravda, ze diky vlastnosti _lockroot uz s tim dnes temer nemusi byt problem, ale stejne bych doporucoval _root pouzivat v horsim pripade minimalne, v lepsim vubec ;)
AureliuS
Profil *
No jo, ono to zas nejede. :-(

var cislo:Number = 0;
var id:String;

ok.onRelease = function() {
cislo += 1;
id = "neco" + cislo;
suwatko.attachMovie("druheMC",id,this.getNextHighestDepth());
prvniMC[id]._x = 0;
prvniMC[id]._y = pocetPolozek*27;
}

nevkládám do hlavní časové osy
AureliuS
Profil *
no tak takhle asi né, to nad tím nečtěte, to je blbě.
znova :


No jo, ono to zas nejede. :-(

var cislo:Number = 0;
var id:String;

ok.onRelease = function() {
cislo += 1;
id = "neco" + cislo;
prvniMC.attachMovie("druheMC",id,this.getNextHighestDepth());
prvniMC[id]._x = 0;
prvniMC[id]._y = cislo*27;
}

nevkládám do hlavní časové osy
XXX
Profil
AureliuS
1.) Zaregistruj se, pak budes moct spatny prispevek zmenit a nebudes psat zbytecne 2x

2.) Co takhle napsat, co ti to dela, co ti to pise za chybu, proste to blize popsat.. tady nikdo nema cas zjistovat, co ti to vlastne dela. Kdyz to dobre popises, tak ti poradime, ale ja fakt nemam cas na to, abych jeste zkoumal, co mas vlastne za problem ;)
AureliuS
Profil *
jednoduse neděla to nic.nepise chyby, a po zmacknuti nic ve sceně nepřibude
XXX
Profil
AureliuS
A co treba zkusit najit chybu sam ;)

Pomoci prikazu trace() zjistis, co ti funguje a co ne. Zkus cely ten kod nahradit timto:

var cislo:Number = 0;
var id:String;

ok.onRelease = function() {
trace("stisknuto OK");
cislo += 1;
trace("cislo = "+cislo);
id = "neco" + cislo;
trace("id = "+ id);
prvniMC.attachMovie("druheMC",id,this.getNextHighestDepth());
trace("nova hloubka = "+prvniMC.getNextHighestDepth());
prvniMC[id]._x = 0;
prvniMC[id]._y = cislo*27;
trace("nacten novy MC "+prvniMC[id]);
}


Ted bys mel bez problemu poznat, kde mas chybu podle toho, co se ti nevypise. Takto hledej chyby vzdycky a budes tady mit mnohonasobne mene prispevku ;)
AureliuS
Profil
stisknuto OK
cislo = 1
id = neco1
nova hloubka = undefined
nacten novy MC undefined

co dělá to getNextHighestDepht()?
XXX
Profil
AureliuS
Prirazuje tomu novemu MC prvni nejvyssi volnou hloubku. Zkus dat misto toho jen promennou cislo:

var cislo:Number = 0;
var id:String;

ok.onRelease = function() {
trace("stisknuto OK");
cislo += 1;
trace("cislo = "+cislo);
id = "neco" + cislo;
trace("id = "+ id);
prvniMC.attachMovie("druheMC",id,cislo);
trace("nova hloubka = "+cislo);
prvniMC[id]._x = 0;
prvniMC[id]._y = cislo*27;
trace("nacten novy MC "+prvniMC[id]);
}
AureliuS
Profil
Tak ja to skusim,ale myslim že to nemá smysl protože nevim co to ta "hloubka" je a taky netušim co by to mělo udělat.
AureliuS
Profil
pořad to same:
nova hloubka = undefined
nacten novy MC undefined
XXX
Profil
Z ktere casove osy to vubec volas? ma primo na te casove ose MC pojmenovany v InstanceName panelu Properties jako prvniMC??? zkus hned na zacatek te funkce pridat radek:

trace(prvniMC);

jestli ti to vypise undefined, tak spatne odkazujes na ten MC a proto ti to do nej nic nenacte

K te hloubce - kazdy MC ma svoji hloubku. Hloubka je neco jako vrstva... cim vyssi hloubka, tim je klip umisten vyse, takze kdyz ti nejaky klip prekryva jiny, ma vyssi hlouku nez ten pod nim. Zadne dva MC nesmi mit stejnou hloubku. Kdyz bys nekteremu MC priradil hloubku, kterou ma jiny MC, premazes tim ten puvodni. Metoda getNextHighestDepth() ti zjisti prvni volnou nejvyssi hloubku casove osy, ze ktere ji volas. Uz chapes, co je to hloubka? ;)
AureliuS
Profil
output:
_level0.prvniMC
XXX
Profil
Jelikoz si psal, ze to nemas na hlavni casove ose, chybu budes mit zrejme v adresovani (rozsahu). Jelikoz nevim,na jake casove ose co mas, nemuzu ti vic poradit. Zkus ti to rozchodit nejdrive takhle: dej primo na hlavni casovou osu tlacitko, ktere bude pojmenovate v InstanceName ok. dale musis mit na hlavni casove ose MC prvniMC, ktery bude takto pojmenovany opet v InstanceName. Jako posledni potrebujes mit v knihovne nejaky MC, u nehoz budes mit v Linkage nastaven identifikator druheMC. Ted staci dat do prvniho snimku hlavni casove osy skript, ktery tady uz nekolikrat mas a musi ti to fungovat. Pokud potom budes neco presouvat na jine casove osy, musis upravit jen cesty ;)

var cislo:Number = 0;
var id:String;
ok.onRelease = function() {
trace("stisknuto OK");
cislo += 1;
trace("cislo = "+cislo);
id = "neco"+cislo;
trace("id = "+id);
prvniMC.attachMovie("druheMC", id, cislo);
trace("nova hloubka = "+cislo);
prvniMC[id]._x = 0;
prvniMC[id]._y = cislo*27;
trace("nacten novy MC "+this._parent.prvniMC[id]);
};


Takhle to rozhodne funguje, ted jsem to odzkousel ;)

Pri prvnim kliknuti se ti v Output panelu vypise:

stisknuto OK
cislo = 1
id = neco1
nova hloubka = 1
nacten novy MC _level0.prvniMC.neco1
Aurelius
Profil *
dík, uz mi to jede, měl jsem tam takovou blbou chybu, jednou jsem tam měl v a jednou w.

tak a ted´ ještě se toho mc potřebuju zbavit.Jaky je opak attach movie?
mělo by to být napsané v "druheMC" na tlacitku.Skoušel jsem něco ze seznamu v panelu actions...marně.

takove to zelene písmo a kurziva tady na foru to se dělá přez HTML? jakoze vic mezer děla :     
neco si skusim jo?

<b>blabla<b/>
<i>bla bla<i/>
AureliuS
Profil
ne, aha je tady nad tim :-) zase nemužu menit přispěvky, poslal jsem to z nijeho PC:-(.Ja tam napsal kraviny ze to pak smazu a to tam ted zustane na vzdy :-(
XXX
Profil
zes to poslal z jineho PC na to nema vliv, akorat jsi se zapomel prihlasit. A k formatovani se pouzivaji tlacitka primo nad textovym polem, do ktereho pises prispevky ;)
AureliuS
Profil
no jo už jsem si všiml.

potřebuju už jenom to vymazani MC ze sceny.

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:

0