re: vizoli
tényleg kösz
re: vizoli
tényleg kösz
re: vadlevente
Nem az e.target a null, hanem az e.target.name! trace-ld ki az e.target-et, [object Stage]-t fogsz kapni!
re: vizoli
Van két négyzet a színpadon, rect1, rect2, itt van hozzá a kód:
stage.addEventListener(MouseEvent.CLICK, valasztas) function valasztas(e:MouseEvent): void { if (e.target == null) { trace('Válassz ki egy szimbólumot!') } else { trace(e.target.name) } }
na ennél a példánál jól érzékeli, hogy melyikre kattintok a 2 téglalap közül, viszont azt nme érzékeli, hogy én beprogramoztam, hogy ha az érték null, akkor kiírja a figyelmeztető szöveget.
Na ezt hogy lehet kezelni?
re: vadlevente
Ird le a kodot, hogyan probalkozol!
re: vizoli
ja igen, még azt akartam kérdezni, hogy amikor a 3 szimbólum valamelyikére kattintok, akkor mért null az érték, és azt hogy tudnám kiküszöbölni?
re: vizoli
Köszönöm a segítséget!
Most, hogy utólag mondod, tényleg hibás az instance name, de ezt a kódot eleve nem is qaz eredeti fájlból másoltam ki, hanem itt írtam hozzá egy pélldát, és ugye flashben kiírja hogy ha talál valami hibát, de itt nem. Az instance name-t pedig azért írtam le, hogy megértsétek, hogy a szimbolumNeve változó az instance name-hez írja hozzá a 2-t.
De így , hogy leírtad már megértettem a dolgokat.
re: vadlevente
Tobb gond is van a dologgal, picit ugy erzem, hogy nem teljesen latod at, amit csinalsz..
-Nem lehet elnevezni ugy a szimbolumokat, hogy szammal kezdodjenek, tehat mar itt megbukik az egesz iromanyod
-Leirtad, hogy a szinpadon mik ezeknek a nevuk..ez szep, de, hogy jon ide?
-A stage-hez hozzarendeltel egy CLICK esemenyt, majd hasznalod az e.target.name-t. Kitracelted, hogy ez mit ad? "null"-t, neked pedig elvileg "symbol"-t kene, tehat itt is rosszul gondolsz valamit
-Az objektum letrehozasnal a new kulcsszo utan nem String tipusu objektumot kell irni, hanem Class tipusut.
Megmutatom, hogyan mukodhet a dolog abban az esetben, ha a konyvtarban van egy symbol1 linkage nevu mc, gondold at megegyszer a dolgot es ez alapjan csinald meg.
kivalasztas(); function kivalasztas(): void { var szimbolumNeve:String = "symbol1"; var szimbolum = new (getDefinitionByName(szimbolumNeve) as Class)(); addChild(szimbolum); }
Sziasztok!
Lenne egy AS3 kérdésem.
Van 3 szimbólum a színpadon és mindegyiknek be van állítva a linkage neve, jelen esetben 1symbol2, 2symbol2, 3symbol2
a 3 szimbólum a színpadon (instance name) el van nevezve 1smybol, 2symbol, 3symbol.
Én azt szeretném, hogy egy String típusú változó tárolná a szimbólumok instance nevét, amire kattintok, és hozzáírná a 2-es száámot, amiből ugye a linkage neve állna össze.
De amikor letesztelném ezt a kódot:
stage.addEventListener(MouseEvent.CLICK, kivalasztas) function kivalasztas(e:MouseEvent): void { var szimbolumNeve:String = e.target.name+'2'; var szimbolum:MovieClip = new szimbolumNeve() addChild(szimbolum)
, akkor ugye kiírja hogy nem talál ilyen szimbólumot a könyvtárban. Na ezt meg lehet úgy oldani anélkül hogy minden szimbólumhoz, amire rá lehet kattintani, külön megcsinálnám az if ágat?? Mert én ugye amikor megadom a fájl nevét, akkor nem a könyvtárban levőre gondolok, hanem arra a változóra, ami ezt tárolja.
Remélem érthetően el tudtam magyarázni a dolgokat.
Előre is köszönöm a segítséget!
A beküldéshez be kell jelentkezni.