Aktuelle Zeit: 22.12.2024, 13:11

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Kann neuen Skin nicht einladen
BeitragVerfasst: 17.09.2008, 11:56 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
Hi liebe Gemeinde,

es geht diesmal um folgendes. Ich will mehere Fonts verwalten und den Skin dynamisch anpassen. Die Font-sache klappt soweit, aber das mit dem Skin... nun ja. seht selbst. Ich lasse einen "hello world" text mit den standart einstellungen von Irrlicht ausgeben. und dann nochmal einen anderen "hello world" text mit modifiziertem Skin (aber gleicher Font)

Code:
   skin_ = guidev->getSkin();

   //int size = 50;
   //SColor color = SColor("255, 255, 255, 255);

   skin_->setSize(EGDS_MESSAGE_BOX_HEIGHT, size);
   skin_->setColor(EGDC_3D_LIGHT , color);


nun ja eigentlich ertwate ich einen großen weißen schriftzug. aber tatsächlich wird nur ein gleicher standart-String ausgegeben. warum akzeptiert er meine parameter nicht? hat jemand ne idee?

thx 4 all answers das heck

EDIT:
Code:
   //guidev = device->getGUIEnvironment();
   guidev->setSkin(skin_);


führt zu einem RunTimeError =/

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kann neuen Skin nicht einladen
BeitragVerfasst: 17.09.2008, 13:22 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Die Schriftgröße kannst du über den Skin nicht ändern.
MessageBoxHeight gibt nur an, wie hoch eine MessageBox ist.

Wenn du die Schriftgröße wärend der RunTime ändern willst, dann musst du dir vorher mit dem IrrFontTool die gewünschten Größen der Schrift generieren lassen und dann zur Laufzeit per IGUISkin->setFont() ändern.
(Im Englischen Forum gibts auch ne Klasse, die direkt aus TrueType Fonts laden kann. Dann könntest du dir zur Laufzeit die Schrift in verschiedenen (iirc beliebigen) Größen laden, problem ist nur, dass das ding ein wenig sehr buggy ist ;))

Interessant wäre dann auch noch der Code, mit dem du den String zeichnest. Machst du das per IGUIFont->draw() oder per IGUIStaticText ?

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kann neuen Skin nicht einladen
BeitragVerfasst: 17.09.2008, 16:00 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
hui ziemlich kompliziertes thema ~.~ habs im moment zum laufen bekommen. das mit der größe nehme ich dann über das bitmap das beim font geladen wird. habe gedacht/gehofft, dass Irrlicht den Font noch n bissl strecken oder stauchen kann - aber man kann ja nicht alles haben^^

@Sylence: ich render des per IGUIStaticText. Hätte es Vorteile, wenn ichs über IGUIFont rendere?

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kann neuen Skin nicht einladen
BeitragVerfasst: 02.10.2008, 06:31 
Offline
Benutzeravatar

Registriert: 07.08.2008, 11:31
Beiträge: 104
Hallo zusammen!

Zitat:
Interessant wäre dann auch noch der Code, mit dem du den String zeichnest. Machst du das per IGUIFont->draw() oder per IGUIStaticText ?

In diesem Zusammenhang wollte ich mal etwas fragen, wenn wir schon beim Thema sind.
Welche dieser Varianten wäre denn eurer Ansicht nach die etwas klügere?
Vorteile/Nachteile ?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kann neuen Skin nicht einladen
BeitragVerfasst: 02.10.2008, 11:14 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
ich würdes dir übern IGUIStaticText empfehlen, weil da kannst du dann über das Handle zum Text den später modifizieren. Farbe und auch Font nochmal ändern oder den Text hiden. Bei IGUIFont ziechnest du lediglich etwas aufn Screen was dann über die IGUIEnvorinment gerendert wird, bekommst aber kein Handle zurück. Mit anderen Worten es steht dann einfach da und zwar so lange bis du die IGUIEnvironment flushst.

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Kann neuen Skin nicht einladen
BeitragVerfasst: 02.10.2008, 14:00 
Offline
Benutzeravatar

Registriert: 07.08.2008, 11:31
Beiträge: 104
@ das heck

Ja Danke! Genau das dachte ich bereits im schon, suchte nach einer Bestätigung. :)
Vielleicht gab es noch Dinge die mit denen ich was anfangen konnte.
Nein ist okay ich werde weiterhin den IGUIStaticText verwenden.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de