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
|
Verfasst am: 26.07.2004, 20:13 Titel: Direct3D->DrawText |
|
|
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 |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 26.07.2004, 20:37 Titel: |
|
|
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 |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 26.07.2004, 21:34 Titel: |
|
|
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 |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 27.07.2004, 05:33 Titel: |
|
|
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! _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 27.07.2004, 09:28 Titel: |
|
|
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 |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 27.07.2004, 12:21 Titel: |
|
|
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 _________________ 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 |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 27.07.2004, 12:25 Titel: |
|
|
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 |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 27.07.2004, 15:25 Titel: |
|
|
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 |
|
|
|