JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=dd672c928cd36e60c54f300454703e44Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Direct3D->DrawText

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 26.07.2004, 20:13    Titel: Direct3D->DrawText Antworten mit Zitat

Ich hab mir eine solche Textfunktion wie im Buch beschrieben gebastelt. Ist auch anz prima. Aber jetzt: Ich wollte ien hübsche laufschrift machen, aber wenn diese in den Bildschirm reinfährt, funktioniert die Anzeige nicht mehr so korrekt. Der Text läuft rein, aber immer nur stückchenweise, dh, erst wenn das letzte Stück ca. 1 cm vom Rand weg ist, erscheint das nächste, welches dann wieder bis zum Rand reicht. Diese läuft wieder ca 1cm weg bis das nächste kommt.

Die Funktion berechnet einmal das benötigte Rechtewck und zeigt den Text dann in selbigen an (genau wie im Buch)

Hat irgendjemand ne Lösung?
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 26.07.2004, 20:37    Titel: Antworten mit Zitat

Das liegt wahrscheinlich am Clipper. Diese Funktion schützt davor, dass über den Speicherbereich der Surface hinaus gezeichnet wird.
Du musst dann selber ermitteln wo der Bildschirm endet und bis zu welcher x bzw. y "Spalte" der Buchstabe/Ziffer gezeichnet werden darf. Steht eigentlich im Buch drinnen?
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 26.07.2004, 21:34    Titel: Antworten mit Zitat

normalerweise sind die XSprites ja automatisch geklippt.
ich kann mal verscuhen das Rechteck anzuschauen, das berechnet wird, und dieses dann zuschneiden. Nur ob der Text dann i Rechteck noch richtug positioniert ist?
Was auch wohl ginge, wäre den Text auf ein Surface zu schreiben und dann den richtigen Teil anzeigen.
Wollt nur wissen obs auch einfacher geht.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 27.07.2004, 05:33    Titel: Antworten mit Zitat

du musst einfach nur das an den gefährlichen Bildschirmrändern mit den Buchstaben machen:

000000000
001000100
001000100
001111100
001000100
001000100
000000000


-->

000000
001000
001000
001111
001000
001000
000000

Wenn sich der Buchstabe zuweit am rechten Bildschirmrand befindet! Wink
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 27.07.2004, 09:28    Titel: Antworten mit Zitat

un wie kann ich DirectX mitteilen es solle die Buchstaben nur halb teilen? Und wie könnte ich einstellen, das die Schrift nicht auf den Bildschirm, sondern auf eine Oberfläche geschrieben werden soll?
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.07.2004, 12:21    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
Und wie könnte ich einstellen, das die Schrift nicht auf den Bildschirm, sondern auf eine Oberfläche geschrieben werden soll?

Du musst doch sicherlich beim Rendern eines Textes den Backbuffer ö.ä. angeben. Stattdessen übergibst du eben einen Zeiger auf ein anderes Surface, das du vorher erstellt hast Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 27.07.2004, 12:25    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
un wie kann ich DirectX mitteilen es solle die Buchstaben nur halb teilen? Und wie könnte ich einstellen, das die Schrift nicht auf den Bildschirm, sondern auf eine Oberfläche geschrieben werden soll?


Mit einer eigenen "Draw-Funktion". Christian zeigt ja wie man jeden einzelnen Punkt selber zeichnen kann. Da zeichnest du am Besten immer ne ganze y-Spalte. Bei zweitens wie Lord gesagt hat, das Ziel musst du ja immer angeben.
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 27.07.2004, 15:25    Titel: Antworten mit Zitat

ne, das Ziel muss man nicht angeben. Mit hilfe des Devices kann man das Font objekt erstellen und damit zeichnen. Aber nirgendwo musste man da den Backbuffer übergeben.
Aber ich habs auch so geschaft, einfach das Rechteck zugeschnitten nd die Positionierung des Textes geändert, jetzt gehts.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum