![]() |
Problema... obsudim????
vse znayut znamenitii TextEffect....
vse im polzuyutsja.... ok.... no vot voznikla u menja neobhodimost sdelat eto zhe samoe no na IVRITE.... ok... kogda vistavljayu _x prosto delayu : Цитата:
v ivrite est bukvi kotorie po svoei shirine goraaazdo men'she obichnih.... t.e. kerning u nih dolzhen bit drugoi.... takih bukv nemnogo 4-5.... tak vot vopros... u kogo est kakie predlozhenija dlja organizacii massiva dannih iz etih bukv, tak chtobi vstrechaja ih kerning menjalsja bi.........????????????????????????????? |
dobavlenie:
"kerning" - eto peremennaja, rasstojanie mezhdu bukvami..... |
Уточни пожалуйста - у тебя для кернинга только два значения?
|
da...
dva... t.e. esli bukvi obichnie to.... 20 (naprimer) a esli uzkaja 15...... problema v tom, chto bukvu vichislit mozhno... i postavit ei kerning otdelnii.... no ved i pered nei tozhe dolzhen kerning pomenjatsja...... |
Вложений: 1
vot posmotri:
vtoraja bukva sleva..... "IYD" nazivaetsja...... ona uzhe chem ostalnie,.... |
Приблизительно так
if ( sim=="a" or sim=="b" or sim=="b") { kr = 15; } else { kr = 20; } _root["char"+i]._x = _root["char"+(i-1)]._x-kr; Т.е. определяешь кернинг для символа а его позицию находишь не бездушным умножением на i :p а суммированием(в твоем случае вычитанием) кернинга и позиции предыдущего символа. |
poluchilos tak:
Код:
duplicateMovieClip ("char", "char" add this.i, this.i);nuzhno ved pered etim simvolom i POSLE nego TOZHE............ :confused: :confused: :confused: :confused: |
a v otvet tishina........
|
Варианта 2 (или больше) ;)
Первый: проверять и текущий, и предущий символ if ((substring(this.text, this.i, 1) =="й")||(substring(this.text, this[i-1], 1) =="й")) { trace ("IUD"); this.kerning = 40; } else { this.kerning = 50; } Второй: брать минимум между this.kerning и предыдущим this["char"+this.i]._x = this["char"+(this.i-1)]._x- Math.min(this.kerning, this["char"+(this.i-2)]._x-this["char"+(this.i-1)]._x); |
на самом деле все просто как божий день(и ничего что только 7 утра;)
Заводим курсор, который отвечает за текущую позицию, и ставим новый символ согласно ему. Как только поставили новый символ, двигаем курсор. Вот и все. Примерно так: cursor = new Object(); cursor.x = 100; cursor.y = 100; Standart_K = 20; function NewChar(char){ height = Standart_K; /// определяем ширину буки по дефолту if (char eq "i") height = 10; // меняем если надо drawChar(char, cursor.x, cursor.y); // рисуем буку. cursor.x -= height; // двигаем курсор. if (cursor.x < Standart_K){ /// перевод строки cursor.x = 100; cursor.y += 20; } } вот и все. :) |
| Часовой пояс GMT +4, время: 16:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.