Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

problem sa dodelom vrednosti za TextField varijablu

[es] :: Flash :: problem sa dodelom vrednosti za TextField varijablu

[ Pregleda: 1427 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

aleksandar_vs

Član broj: 225198
Poruke: 13
212.200.85.*



+8 Profil

icon problem sa dodelom vrednosti za TextField varijablu05.08.2011. u 11:34 - pre 154 meseci
Pozdrav,

potrebna mi je mala pomoć oko sledećeg flashića:

http://users.hemo.net/aleks/primer.swf

ono što hoću je da se izabrani link bolduje, tj. ako kliknem na prvi link da mi se tekst Restoran bude boldovan, kako bi znali koja je stranica aktivna.

Kod koji pokreće celu stvar (učitava externe linkove) je sledeći:

Code:

var Xpos:Number = 0;
var Ypos:Number = 0;
var swf:MovieClip;
var loader:Loader = new Loader();
var boldText:TextFormat = new TextFormat();
with (boldText) {
//font = "Verdana";
//size = 9.8;
//color = 0x000000;
bold = true;
}

var defaultSWF:URLRequest = new URLRequest("swfs/Restoran.swf");

loader.load(defaultSWF);
loader.x = Xpos;
loader.y = Ypos;
addChild(loader);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


// Btns Universal function
function btnClick(event:MouseEvent):void {
    
    removeChild(loader);
    var newSWFRequest:URLRequest = new URLRequest("swfs/" + event.target.name + ".swf");
    loader.load(newSWFRequest);
    loader.x = Xpos;
    loader.y = Ypos;
    addChild(loader);

    
    var tekst:TextField = "tekst_" + event.target.name;
    tekst.setTextFormat(boldText);
}


// Btn listeners
Restoran.addEventListener(MouseEvent.CLICK, btnClick);
Frizer.addEventListener(MouseEvent.CLICK, btnClick);
Ordinacija.addEventListener(MouseEvent.CLICK, btnClick);


a problem se javlja oko sledece linije:


Code:

    var tekst:TextField = "tekst_" + event.target.name;
    tekst.setTextFormat(boldText);


koja mi javlja sledeću grešku:

1067: Implicit coercion of a value of type String to an unrelated type flash.text:TextField.


E sad, kapiram da mi javlja da sam omašio tip varijable, tj. da ne mogu da spajam babe i žabe u nazivu TextFielda, ali ne znam kako drugačije da mu zadam da bolduje pošto moram da izvučem taj event.target.name da bih boldovao izabrani link?


Izvinjavam se, verovatno je trivijalno pitanje :(

Hvala!


 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
*.3gnet.mts.telekom.rs.



+28 Profil

icon Re: problem sa dodelom vrednosti za TextField varijablu05.08.2011. u 13:00 - pre 154 meseci
Najjednostavnije bi bilo da renderuješ tekst kao HTML i da koristiš <b> tag:
Code:
event.target.htmlText = "<b>"+event.target.text+"</b>";

Na ovaj način će tekst biti boldovan kada se na njega klikne. Jedino što još moraš da uradiš je da proveriš na koji je tekst kliknuto kako bi uklonio bold sa ostalih linkova:
Code:
if(event.target.text == "Restoran")
    {
        Frizer.htmlText = "Frizerski atelje";
        Ordinacija.htmlText = "Ordinacija";
    }
    else if(event.target.text == "Frizer")
    {
        Restoran.htmlText = "Restoran";
        Ordinacija.htmlText = "Ordinacija";
    }
    else
    {
        Restoran.htmlText = "Restoran";
        Frizer.htmlText = "Frizerski atelje";
    }

U tvom primeru si napravio grešku jer si pokušao tekst direktno da dodaš TextField objektu a ne text svojstvu. To si trebao da uradiš ovako:
Code:
var tekst:TextField = new TextField();
tekst.text = "tekst_" + event.target.name

I na kraju ne zaboravi da ga dodaš u display listu kako bi bio vidljiv:
Code:
addChild(tekst);

Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

aleksandar_vs

Član broj: 225198
Poruke: 13
212.200.85.*



+8 Profil

icon Re: problem sa dodelom vrednosti za TextField varijablu05.08.2011. u 14:36 - pre 154 meseci
Hvala Bojane,

nije proslo, verovatno sam jos nesto zeznuo u kodu... kad dodam taj red ne javlja mi gresku odmah, ali kad kliknem na link onda mi se pojavi:
<b>Error #1069: Property text not found on flash.display.SimpleButton and there is no default value </b>

Probao sam da mu zadam default value za event.target.htmlText ali nije proslo, verovatno je nesto jos u pitanju sto ne vidim u kodu... zakacio sam i .fla fajl pa ako te ne mrzi pogledaj, ali predpostavljam da to nesto ne ide jedno sa drugim...

link za .fla fajl


U svakom slucaju hvala ti na pomoci, i na objasnjenju - otprilike nazirem u kom pravcu treba da googlam :)
 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
*.3gnet.mts.telekom.rs.



+28 Profil

icon Re: problem sa dodelom vrednosti za TextField varijablu05.08.2011. u 16:28 - pre 154 meseci
Problem je u tome što ti pokušavaš da setuješ htmlText tekst za taster, a tekst ti se nalazi u dinamičkom tekst polju. S obzirom na to da želiš da se prikaže ruka kada se pređe kursorom preko teksta, a kako TextField klasa nema svojstvo koje joj to omogućava moramo tekst polje staviti unutar simbola koji ima tu mogućnost (kao što je Button ili MovieClip). U ovom slučaju najjednostavnije bi bilo da koristimo Sprite. Stavio sam komentare iznad linija koda koji sam dodao kako bi ti bilo jasnije:
Code:
var Xpos:Number = 0;
var Ypos:Number = 0;
var swf:MovieClip;
var loader:Loader = new Loader();

// kreiramo 3 sprajta za tekstualna polja
var Restoran:Sprite = new Sprite();
var Frizer:Sprite = new Sprite();
var Ordinacija:Sprite = new Sprite();
// za prikazivanje ruke prelaskom preko teksta
Restoran.buttonMode = Frizer.buttonMode = Ordinacija.buttonMode = true;
tekst_Restoran.mouseEnabled = tekst_Frizer.mouseEnabled = tekst_Ordinacija.mouseEnabled = false;
// dodeljujemo ime svakom sprajtu
Restoran.name = "Restoran";
Frizer.name = "Frizer";
Ordinacija.name = "Ordinacija";
// dodajemo sprajtove na stage
addChild(Restoran);
addChild(Frizer);
addChild(Ordinacija);
// dodajemo tekstualna polja u sprajtove
Restoran.addChild(tekst_Restoran);
Frizer.addChild(tekst_Frizer);
Ordinacija.addChild(tekst_Ordinacija);

var defaultSWF:URLRequest = new URLRequest("swfs/Restoran.swf");

loader.load(defaultSWF);
loader.x = Xpos;
loader.y = Ypos;
addChild(loader);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Btns Universal function
function btnClick(event:MouseEvent):void
{
    removeChild(loader);
    var newSWFRequest:URLRequest = new URLRequest("swfs/" + event.target.name + ".swf");
    loader.load(newSWFRequest);
    loader.x = Xpos;
    loader.y = Ypos;
    addChild(loader);
    // proveravamo na koji je sprajt kliknuto i u skladu sa tim boldujemo tekst koji se u njemu nalazi
    if (event.target.name == "Restoran")
    {
        tekst_Restoran.htmlText = "<b>Restoran</b>";
        tekst_Frizer.text = "Frizerski atelje";
        tekst_Ordinacija.text = "Ordinacija";
    }
    else if (event.target.name == "Frizer")
    {
        tekst_Restoran.text = "Restoran";
        tekst_Frizer.htmlText = "<b>Frizerski atelje</b>";
        tekst_Ordinacija.text = "Ordinacija";
    }
    else
    {
        tekst_Restoran.text = "Restoran";
        tekst_Frizer.text = "Frizerski atelje";
        tekst_Ordinacija.htmlText = "<b>Ordinacija</b>";
    }
}

// Btn listeners
Restoran.addEventListener(MouseEvent.CLICK, btnClick);
Frizer.addEventListener(MouseEvent.CLICK, btnClick);
Ordinacija.addEventListener(MouseEvent.CLICK, btnClick);

Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

aleksandar_vs

Član broj: 225198
Poruke: 13
*.dynamic.sbb.rs.



+8 Profil

icon Re: problem sa dodelom vrednosti za TextField varijablu05.08.2011. u 19:13 - pre 154 meseci
Jasno mi je šta sam pobrkao... Pretpostavio sam da je nešto tako ali nemam dovoljno iskustva (a očigledno i znanja) da dokučim šta je :(

Hvala ti još jednom puno na objašnjenju i trudu!


Veliki pozdrav od Dummija ;)

 
Odgovor na temu

MenOfHonor
Bojan Mihajlović
Beograd

Član broj: 118521
Poruke: 266
*.3gnet.mts.telekom.rs.



+28 Profil

icon Re: problem sa dodelom vrednosti za TextField varijablu05.08.2011. u 21:10 - pre 154 meseci
Nema problema, uvek je tako na početku, a vežba čini čuda.
Pogledajte odličnu knjigu ActionScript 3.0: Visual QuickStart Guide na Safari Books Online unošenjem kupon koda TPJVJGA: https://ssl.safaribooksonline.com/safarienabled
Obavezno pogledati besplatan tutorijal "Installing Apache, MySQL, and PHP" na lynda.com: http://www.lynda.com/MySQL-5-t...che-mysql-and-php/77958-2.html
 
Odgovor na temu

[es] :: Flash :: problem sa dodelom vrednosti za TextField varijablu

[ Pregleda: 1427 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.