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

tekst size ems u as3.0

[es] :: Flash :: tekst size ems u as3.0

[ Pregleda: 2815 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

cobragangsta

Član broj: 146928
Poruke: 84
79.101.245.*



+2 Profil

icon tekst size ems u as3.006.01.2010. u 18:15 - pre 173 meseci
Kako izracunati duzinu teksta( ne tekt polja ! )?
npr. tekst je zadat kao string u as fajlu sa ostalim kodom
resenje bi bilo koristiti meru za duzinu slova "ems" ( npr. font-size: 14em;) , zatim sabrati sve duzine znakova u stringu... ali ne znam ima li u as3.0 ovo ( ali je css cesto koristi)
ako neko ima neku ideju ...

Sve treba da radi dinamicki :
u input polje treba uneti tekst, skripta ubacuje u promenjivu tippa string, zatim se uz oradu ispisuje u dinamicko polje za tekst a na kraju se iznad odredjenih karaktera postavljaju dugmici, cijim pritiskom se pokrecu odredjene akcije...
dakle meni treba nacin da izracunam koordinate mesta na kojima treba postaviti dugmice
Mozda bi moglo i klikom direktno na te karaktere ali ne znam kako pa sam zato i dosao na "gornju" ideju. ( koju opet nisam umeo sprovesti u delo :) )

 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
*.dynamic.sbb.rs.



+3 Profil

icon Re: tekst size ems u as3.007.01.2010. u 22:53 - pre 173 meseci
Pa pazi, napravi da se text field risajzuje u zavisnosti od dužine texta (to znaš)
Ea onda kad pokupiš definitivnu dužinu tog text fielda i samo oduzmeš margine, čije ćeš vrednosti da dobiješ empirijski, ili nekako drugačije.
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

cobragangsta

Član broj: 146928
Poruke: 84
79.101.226.*



+2 Profil

icon Re: tekst size ems u as3.008.01.2010. u 02:26 - pre 173 meseci
Nisam bas siguran da smo se razumeli.
tekst koji treba biti prikazan u dinamickom polju sastoji se iz vise redova. U pitanju je programski kod za c jezik
u svakoj liniji polja tekst je reazlicite duzine!
Mozda bi to moglo u php-u da se uradi pa samo niz koordinata da se prosledi u flash
velicina u em jedinici zavisno od font-a i fontsize-a, jednostavno preko petlje se predje po celom strigu i eto.
Al ne znam php! Ako neko moze ovo sprovesti u delo, bio bih mu zahvalan!
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
91.148.66.*



+3 Profil

icon Re: tekst size ems u as3.008.01.2010. u 09:52 - pre 173 meseci
Pa ako taj text u stvari predstavlja C++ kôd, onda pretpostavljam da koristiš neki monospace font. A ako koristiš monospace font, onda znaš tačan razmak i širinu svakog slova...

Šta tebi uopšte treba? Da znaš koliko je u pixelima širok svaki pojedinačan red texta u tom dynamic fieldu? Ili da znaš tačnu koordinatu svakog slova u tom textu? Monospace font ti rešava sve probleme, ja mislim.

Mada čak-mislim-i-da-postoji-neka-funkcija koja može da pokupi koordinatu texta ili makar carret position-a.
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

cobragangsta

Član broj: 146928
Poruke: 84
79.101.172.*



+2 Profil

icon Re: tekst size ems u as3.009.01.2010. u 19:59 - pre 173 meseci
Evo ovako:
varijabla tipa string sadrzi tekst, tj programski kod
npr
Code:

var str:String=new String();
str="int main()\n{\n\/\/ prikazi poruku\nprintf(\"Da nije ove poruke ekran bi bio prazan!\\n\");\n}"

taj kod se, po pokretanju programa, dodeljuje dinamickom polju, da bi se video u swf fajlu . Mislim da je ovaj deo jasan i da nedavim dalje
dakle u swf falu vidi se otprilike ovako:
Code:

int main()
{
// prikazi poruku
printf("Da nije ove poruke ekran bi bio prazan!\n");
}

ako zelim da se klikom na odredjeno slovo pokrene odredjena akcija kako to da uradim
moja ideja je da iznad slova postavim nevidljivo dugme . ono sto ne znam je kako da izracunam koordinate gde da postavim dugme
( duzina stringa nije poznata i polozaj slova u stringu nije poznat - dakle npr zelim da mi slovo p bude okidac za akciju, ali ne znam da li u stringu koji unosi korisnik uopste ima slova p a kamoli na kojoj je poziciji u stringu. Da - Korisnik treba da unese kod formatiran kao gore u stringu )

Postoji nacin da se "peske" ovo resi , ali je veliki posao jer moram za svaku velicinu fonta da izracunam sirinu svakog znaka,
siguran sam da postoji elegantnije resenje

@ StarCraft Nemam pojma sta je to carret :) sorry


@ Moderator . Predlog da se otvori poseban "pod odeljak" za ActionScript3.0 kao sto je "C za pocetnike". Mislim da AS to zasluzuje.
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
*.dynamic.sbb.rs.



+3 Profil

icon Re: tekst size ems u as3.009.01.2010. u 22:51 - pre 173 meseci
Carret ti je pozicija kursora, tj. one blinkajuće vertikalne linije koja pokazuje gde-trenutno-kucaš-text.

Ti u stvari pokušavaš u flashu da napraviš editor za pisanje C++ scripta?

Evo ti šta sve možeš da radiš sa stringovima:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
Odskroluj malo dole i videćeš osobine strig-variabla. Prvo što ćeš videti je da spisak Property-a, String ima samo jedan a to je length.

Svaki dinamučni ili input text field u AS3 ima property text. Tako da uvek možeš da izvučeš String-text iz tog text fielda preko:
var _text:String = textFieldInstanceName_tf.text;
trace(_text.length); // ovo će ti printovati u flash konzolu koliko karaktera imaš u text fieldu

A ispod Preoperty-a ima metode koje mogu da se izvršavaju nad stringovima. Posebno obrati pažnju na:
_text.charAt(index);
_text.indexOf(string, startIndex);
_text.lastIndexOf(string, startIndex);

A textField objekat sam po sebi ima sledeće osobine:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
Recimo tu ćeš videti da od propertia textFieldova možeš da korstiš:
textFieldInstanceName_tf.caretIndex;
A sa metodama textFieldova možeš da se igraš preko:
textFieldInstanceName_tf.setSelection(beginIndex, endIndex);

Ja sam izdvojio samo neke metode koje mogu da ti budu zanimljive.
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

cobragangsta

Član broj: 146928
Poruke: 84
77.46.164.*



+2 Profil

icon Re: tekst size ems u as3.011.01.2010. u 07:53 - pre 173 meseci
Pre svega, Rancicu, zelim ti se zahvaliti na trudu koji ulazes da bi mi pomogao.
Veoma cenim to!
Medjutim nisam siguran da smo se razumeli sta meni treba!
Znam da nadjem koje je po redu slovo u stringu
a samim tim i koje je po redu u svakom redu u tekst polju kada se ispise (ako je multirow u pitanju)
Meni medjutim treba x-koordinata TACKE na stage-u gde pocinje to slovo
Fontovi se uglavno razlikuju po sirini a samim tim isti tekst, zavisno od fonta u kome je pisan se razlikuje po sirini
Znaci negde ce tekst biti "siri", negde "uzi" a time i x-pozicija istog slova, U ODNOSU NA STAGE (a ne na tekst polje)
bice razlicita za razlicite fontove!
U medjuvremenu sam nasao neki poluautomatski nacin kako da ovo uradim ali sa mnogo racunanja pa "zamara procesor" bezveze.
nadam se da sam malo bolje formulisao i precizirao problem. Prikacicu i swf file koji ce mozda pomoci!
Ako imas neko bolje resenje...

Sto se tice primene veoma si blizu, to bi tebalo da bude vizuelni prototip addon-a za code editor. ne znam kako bih ga drugacije nazvao.

ps. nisam znao za caret ali uvidjam da ce mi biti od velike koristi u skorasnjen radu pa jos jedno zasebno hvala za ovo!

Prikačeni fajlovi
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
91.148.66.*



+3 Profil

icon Re: tekst size ems u as3.011.01.2010. u 09:20 - pre 173 meseci
Ti znači nemaš kontrolu nad time, koji font se koristi? Jer kažem, za programiranje se uglavnom koristi monospace font, gde su sva slova iste širine, što ti rešava problem u potpunosti.

Probaj ovo:
http://blog.greensock.com/textmetrics/

Možda i ovde nađeš nešto zanimljivo (sad, treba malo istražiti kako se ovo koristi)
http://livedocs.adobe.com/flas...fV3/flash/text/TextFormat.html

Kao alternativa, možeš da napraviš neki objekat koji će da detektuje šta korisnik kuca na tastaturi. Ako je korisnik u typing modu, onda čim otkuca nešto na tastaturi, ti stvori novi mini-textField sa samo jednim slovom unutra (onim koje je otkucano) i ređaj te text fieldove jedan do drugog, a skladišti ih sve u neki array. Tako ćeš imati svako slovo kao poseban objekat i moći ćeš da getuješ pojedinačnu širinu/visinu/x/y... whatever. Svako slovo će takođe moći da listenuje mouse eventove, itd. upotrebi maštu :)
www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

cobragangsta

Član broj: 146928
Poruke: 84
93.86.43.*



+2 Profil

icon Re: tekst size ems u as3.011.01.2010. u 10:25 - pre 173 meseci
Da. Sada smo se razumeli. Meni je potrebno da moze da se menja bilo koji font kao i njegova velicina!
Pregledao sam linkove, ali resenja nema ni za lek!
Kao sto smo se slozili nema automatskog nacina da se ovo uradi.
To sto si predlozio je otprilike ono sto sam nazvao poluautomatski nacin. Da se za vreme runtime-a racuna width svakog znaka ponaosob i da se rezultat smesta u niz, slicno kao u primeru koji sam prikacio u prethodnoj poruci.

Problem je sto meni masta mnogo prevazilazi mogucnosti :)
hvala Rancicu jos jednom za sve.

ako neko pronadje resenje slobodno nek ga izruci ovde makar i 2012 god!!!!
 
Odgovor na temu

reject
Ivan Pesic
Bgd

Član broj: 7659
Poruke: 2209
*.ptt.rs.

Sajt: misc.comli.com


Profil

icon Re: tekst size ems u as3.011.01.2010. u 11:41 - pre 173 meseci
Mozes da menjas font i textformat bilogde na bilo kom karakteru u textboxu.
Prvo 'ukljucis' rich text:
Code:
textfield.useRichTextClipboard=true;

i posle kazes
Code:
textfield.setTextFormat(textformat,startchar,endchar);

a stringove mozes da trazis po stringu sa 'search'
Code:
textfield.search(string);


Mass murder ain’t just painless,
Now we’ve made it cute.


The Church Of The Holy Transistor
 
Odgovor na temu

StarCraft
Rančić Milan
Beograd

Član broj: 164837
Poruke: 441
*.dynamic.sbb.rs.



+3 Profil

icon Re: tekst size ems u as3.029.03.2010. u 23:35 - pre 171 meseci
Sori što dižem temu iz mrtvih, ali naleteo sam na ovo i baš sam se iznenadio da tako nešto postoji u flashu:

http://livedocs.adobe.com/flas...xtField.html#getCharBoundaries()

znači moguće je uz pomoć getCharIndexAtPoint() dobiti slovo koje se nalazi na toj koordinati a uz pomoć getCharBoundaries() da dobiješ pravougaonik koju zauzima to slovo.

www.zeitgeistmovie.com - film koji mora svako da vidi! (free to download)
 
Odgovor na temu

[es] :: Flash :: tekst size ems u as3.0

[ Pregleda: 2815 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

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