Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[sfml 1.6] RichEdit z sf:String

Ostatnio zmodyfikowano 2012-12-25 00:20
Autor Wiadomość
Admixior
Temat założony przez niniejszego użytkownika
[sfml 1.6] RichEdit z sf:String
» 2012-12-24 03:33:33
Witam,
Spotkał się ktoś kiedyś z tym jak rozwiązać problem (w optymalny sposób) z różnym formatowaniem tekstu w SFML 1.6.
Chciałbym zmienić kolor jednej literki. Problemem dodatkowym jest faktu że tekst jest pochyły.
P-71825
DejaVu
» 2012-12-24 04:35:34
Rozwiąż go w jakikolwiek sposób :P (patrz: inny kolor tekstu = nowy łańcuch znaków = nowe renderowanie).
P-71826
Admixior
Temat założony przez niniejszego użytkownika
» 2012-12-24 12:23:54
Myślałem już nad utworzeniem nowego sf::String ale są problemy. Skąd wziąć bezwzględną pozycję jednego znaku skoro tekst jest pochylony (nie pochyły) o ok.: 4 stopnie. Gdybym utworzył w tej samej pozycji co pierwotny sf:String to zaś byłby problem, bo szerokość spacji jest inna niż pozostałych znaków.
P-71833
DejaVu
» 2012-12-24 12:54:08
to wyobraź sobie, że najpierw rysujesz tekst 'normalnie', a dopiero później go pochylasz (chociażby za pomocą drugiego argumentu metody Draw.
P-71835
Admixior
Temat założony przez niniejszego użytkownika
» 2012-12-25 00:00:21
Niezbyt rozumiem o co chodzi. Mam kod mniej więcej taki:
C/C++
sf::String tekst = "abcadlo z pieca spadlo";
tekst.SetRotation( 15 );
tekst.SetFont( czcionka );
tekst.SetSize( 50 );

i teraz chciałbym zmienić literkę "c" w "pieca" na kolor czerwony

C/C++
sf::String czerwony = tekst;
czerwony.SetColor( sf::Color::Red );

Spacji nie mogę zastosować bo czcionka nie jest równa pod względem szerokości.

Myślałem też żeby w miejsce tylko jednego znaku wstawić nowy, lecz funkcji GetCharacterPos nie mogę użyć bo zwraca pozycję relatywną względem początku
Return the visual position of the Index-th character of the string, in coordinates relative to the string (note : translation, center, rotation and scale are not applied)

Wiec tu pies pogrzebany.

@DejaVu: Mógłbyś podać jakiś przykład lub funkcje których powinienem użyć?

//PS. Korzystam z sfml 1.6 i zmiana w tej chwili nie wchodzi w opcje :(
P-71896
DejaVu
» 2012-12-25 00:20:32
Wywal 'set rotation' i wyświetlaj 3 teksty - początek, czerwoną literę, koniec. Tam gdzie masz wywołane rysowanie (metoda Draw) dodaj sf::Transform jako drugi argument, uwzględniający rotację.
P-71897
« 1 »
  Strona 1 z 1