JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

char* ausgeben

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
bladegool
JLI'ler



Anmeldedatum: 26.08.2003
Beiträge: 127
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 07.11.2003, 15:05    Titel: char* ausgeben Antworten mit Zitat

Ich will ein char* ausgeben aber des funktioniert nicht mit der Funktion Sad


Code:

void Draw3DText2(char* Text,int Groese,int Anfangx,int Anfangy)
{
Create3DFont(Groese);
D3DCOLOR TextColor = D3DCOLOR_XRGB(0,0,255);

RECT r={Anfangx,Anfangy,0,0};
nD3D_DEVICE->BeginScene();
D3DFont->DrawText(Text,-1,&r,DT_CALCRECT,TextColor);
D3DFont->DrawText(Text,-1,&r,DT_CENTER,TextColor);
nD3D_DEVICE->EndScene();
nD3D_DEVICE->Present(0,0,0,0);
};

void Create3DFont(int Groese)
{
   LOGFONT LogFont={ 0 };
   strcpy(LogFont.lfFaceName,"Arial");
   LogFont.lfHeight-=Groese;
    D3DXCreateFontIndirect(nD3D_DEVICE,
                         &LogFont,
                     &D3DFont);
};

Wie kann ich des so machen das ich ein char* ausgeben kann Question

danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 07.11.2003, 17:15    Titel: Antworten mit Zitat

Code:

//Zeiger auf das Direct3D Interface
LPD3DXFONT m_lpD3DFont;

//Daten für die Schrift
HANDLE m_hFont;
LOGFONT m_lpFont;

GiveTextOut(int x,int y,char *pText,D3DCOLOR Color)
{
   //Erstellt ein Rechteck für den Textbereich
   RECT Rechteck;

   //Gibt die Koordinaten des Anfangs an
   Rechteck.left=x;
   Rechteck.top=y;
         
   //Läst das Programm (dank DT_CALCRECT) das Rechteck berechnen
   m_lpD3DFont->DrawText(pText,-1,&Rechteck,DT_CALCRECT,Color);
   //Gibt den txt aus
   m_lpD3DFont->DrawText(pText,-1,&Rechteck,DT_LEFT,Color);
}


//Initialisiert die Schrift
Init(LPDIRECT3DDEVICE9 lpDevice,int iHeight,int iWidth,int iWeight)
{
   //Initialisiert den Text
   memset(&m_lpFont,0,sizeof(m_lpFont));
   m_lpFont.lfHeight = iHeight;
   m_lpFont.lfWidth = iWidth;
   m_lpFont.lfWeight = iWeight;
   m_lpFont.lfPitchAndFamily = VARIABLE_PITCH | FF_SWISS;

   //Erstellt ein Font handel
   m_hFont = CreateFontIndirect(&m_lpFont);

   D3DXCreateFontIndirect(lpDevice,&m_lpFont,&m_lpD3DFont);

   //Setzt Variablen auf 0
   m_fCharCounter=0;
   m_bSpezialTextFinisht=false;
}

_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
bladegool
JLI'ler



Anmeldedatum: 26.08.2003
Beiträge: 127
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 13:12    Titel: Antworten mit Zitat

danke

und ich hab auch gleich noch 2 Fragen Smile

wie kann ich bei Clear ein bestimtes Feld löschen anstat dem ganzen Bildschirm Question

wie kann ich ein const int* in int umwandeln,
gibts sowas wie sprintf(a,"%d* ",const int*); Question

danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 13:18    Titel: Antworten mit Zitat

MSDN hat Folgendes geschrieben:

Code:

HRESULT Clear(
    DWORD Count,
    const D3DRECT *pRects,
    DWORD Flags,
    D3DCOLOR Color,
    float Z,
    DWORD Stencil
);

pRects
[in] Pointer to an array of D3DRECT structures that describe the rectangles to clear. Set a rectangle to the dimensions of the rendering target to clear the entire surface. Each rectangle uses screen coordinates that correspond to points on the render target surface. Coordinates are clipped to the bounds of the viewport rectangle. This parameter can be set to NULL to indicate that the entire viewport rectangle is to be cleared.


Und zum Umwandeln von int* nach int machst du einfach einen Cast, nichts weiter...

int IntegerVariable=(int) Zeigervariable

thats all
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
bladegool
JLI'ler



Anmeldedatum: 26.08.2003
Beiträge: 127
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 13:24    Titel: Antworten mit Zitat

macht man des wie mit RECT bloß das man D3DRECT nimmt oder ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
bladegool
JLI'ler



Anmeldedatum: 26.08.2003
Beiträge: 127
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 15:03    Titel: Antworten mit Zitat

Ich habs jetzt so gemacht nur es funktioniert nicht Sad
Code:

D3DRECT pRect[4]={100,100,0,0};
nD3D_DEVICE->Clear(0,pRect,D3DCLEAR_TARGET,m_ClearColor,0,0);

Was hab ich falsch gemacht
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hasenfuß
Senior JLI'ler


Alter: 37
Anmeldedatum: 20.08.2002
Beiträge: 291

Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 15:39    Titel: Antworten mit Zitat

Vielleicht ohne das [4]? Denn im Rect sind doch schon 4 Elemente und so müsstest du ja dann 4 Rects gemacht haben.
Bin mir da aber nich sicher weil ich D3DRECT nicht kenne, nur das normale.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
bladegool
JLI'ler



Anmeldedatum: 26.08.2003
Beiträge: 127
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 15:49    Titel: Antworten mit Zitat

@Hasenfuß
Stimmt danke hat funktioniert
@AFE-GmdG
danke mit int funktioniert und mit Clear funktioniert ja jetzt auch Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
bladegool
JLI'ler



Anmeldedatum: 26.08.2003
Beiträge: 127
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 16:10    Titel: Antworten mit Zitat

Jetzt gibts zwar keine Fehler mehr aber jetzt wird alles gelöscht
wenn ichs so mach
Code:

D3DRECT *pRect=(10,10,0,0);

nD3D_DEVICE->Clear(0,pRect,D3DCLEAR_TARGET,m_ClearColor,0,0);

wenn ichs so mach
Code:

D3DRECT *pRect=(10,10,10,10);

dann kommt der Fehler

initializing' : 'const int' kann nicht in 'struct _D3DRECT *' konvertiert werden

warum Question
und wie kann ich das Rect so defenieren das nur das gelöscht wird was ich will

danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 17:38    Titel: Antworten mit Zitat

Code:

D3DRECT MeinRechteck;
MeinRechteck.x1=10;
MeinRechteck.y1=10;
MeinRechteck.x2=100;
MeinRechteck.y2=100;

MSDN hat Folgendes geschrieben:

Count
[in] Number of rectangles in the array at pRects. If you set pRects to NULL, this parameter must be set to 0.

Code:

nD3D_DEVICE->Clear(1,&MeinRechteck,D3DCLEAR_TARGET,m_ClearColor,0,0);


Versuch's mal damit...
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
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 -> Entwicklung 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