JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Sprites problem
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Claudio
Junior JLI'ler



Anmeldedatum: 25.08.2002
Beiträge: 63

Medaillen: Keine

BeitragVerfasst am: 13.07.2003, 09:16    Titel: Sprites problem Antworten mit Zitat

Sodale, ich bin gerade dabei so sprites einzufügen in mein Spiel, um damit halt das Menü oder irgendwas anzeigen zu lassen, jedoch hat das Sprite, wenn ich es zeichne immer die falsche größe...warum?
Irgendwie scalet er das immer zu groß...hier der Code:


Code:
   
//textur

   D3DXCreateTextureFromFileExA(   
             device,            //device
            txfile,            //file name ( NEW )
            D3DX_DEFAULT,            //width
            D3DX_DEFAULT,            //height
            D3DX_DEFAULT,            //mip levels
            NULL,               //usage
            D3DFMT_UNKNOWN,         //texture color format
            D3DPOOL_MANAGED,         //memory class
            D3DX_DEFAULT,            //filter
            D3DX_DEFAULT,            //mip filter
            0,               //deactivate color key ( NEW )
            NULL,               //source info
            NULL,               //pallette
            &tx);

//die draw funktion
device->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
   
   sp->Begin();

   sp->Draw(tx, NULL, NULL, NULL, 0.0f, &position, 0xFFFFFFFF);
   sp->End();


_________________
-->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 13.07.2003, 09:21    Titel: Antworten mit Zitat

Welche Maße hat deine Sprite?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 13.07.2003, 11:42    Titel: Antworten mit Zitat

Wenn dein Sprite (oder besser die Textur) keine Größe von 2^n (2,4,8,16,32,64 usw) hat und du der Methode D3DXCreateTextureFromFileExA() keine Werte übergibst wird die Textur auf 2^n skaliert. Versuche mal die Werte fest anzugeben.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Claudio
Junior JLI'ler



Anmeldedatum: 25.08.2002
Beiträge: 63

Medaillen: Keine

BeitragVerfasst am: 13.07.2003, 13:11    Titel: Antworten mit Zitat

hmmm, also ich hab die Textur initalisierung jetzt so ungeschrieben:
Code:

   D3DXCreateTextureFromFileExA(   
             device,            //device
            txfile,            //file name ( NEW )
            width,//D3DX_DEFAULT,            //width
            height,//D3DX_DEFAULT,            //height
            D3DX_DEFAULT,            //mip levels
            NULL,               //usage
            D3DFMT_UNKNOWN,         //texture color format
            D3DPOOL_MANAGED,         //memory class
            D3DX_DEFAULT,            //filter
            D3DX_DEFAULT,            //mip filter
            0,               //deactivate color key ( NEW )
            NULL,               //source info
            NULL,               //pallette
            &tx);


aber wenn ich da z.B. jetzt 160 und 60 für die Breite und Höhe nehme, und die Textur die gleiche größe auch in echt hat, malt der trotzdem ein Bild was ca. 260px breit und 65 hoch ist?!
_________________
-->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 13.07.2003, 15:18    Titel: Antworten mit Zitat

mach folgendes:

Code:

D3DXIMAGE_INFO ImgInfo;
D3DXGetImageInfoFromFile(txfile, &ImgInfo);

D3DXCreateTextureFromFileEx(   
             device,            //device
            txfile,            //file name ( NEW )
            ImgInfo.Width,            //width
            ImgInfo.Height,            //height
            D3DX_DEFAULT,            //mip levels
            NULL,               //usage
            D3DFMT_UNKNOWN,         //texture color format
            D3DPOOL_MANAGED,         //memory class
            D3DX_DEFAULT,            //filter
            D3DX_DEFAULT,            //mip filter
            0,               //deactivate color key ( NEW )
            NULL,               //source info
            NULL,               //pallette
            &tx);



so müste es gehn
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Claudio
Junior JLI'ler



Anmeldedatum: 25.08.2002
Beiträge: 63

Medaillen: Keine

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

hmmm, ich krieg den fehler, wenn ich das so umänder:

error C2065: 'D3DXGetImageInfoFromFile' : undeclared identifier
_________________
-->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 13.07.2003, 19:21    Titel: Antworten mit Zitat

Mit welcher DirectX-Version arbeitest du?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Claudio
Junior JLI'ler



Anmeldedatum: 25.08.2002
Beiträge: 63

Medaillen: Keine

BeitragVerfasst am: 13.07.2003, 21:06    Titel: Antworten mit Zitat

öhm, Dx 8 halt
_________________
-->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 13.07.2003, 21:33    Titel: Antworten mit Zitat

Hi,

da gibt es die Funktion D3DXGetImageInfoFromFile() dann wahrscheinlich nicht...guck mal ob es was ähnliches gibt.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Claudio
Junior JLI'ler



Anmeldedatum: 25.08.2002
Beiträge: 63

Medaillen: Keine

BeitragVerfasst am: 14.07.2003, 05:17    Titel: Antworten mit Zitat

und wie soll ich ne ähnliche Funktion finden?
_________________
-->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 14.07.2003, 20:36    Titel: Antworten mit Zitat

Naja, hast du mal in die Hilfe geguckt? Ich habe aber leider nichts gefunden.... Da D3DXCreateTextureFromFileEx() auch eine größere Textur anlegen würde, kannst du deine Textur (vorerst) auch in einer Größe von 2^n * 2^m erstellen. Probiere das mal. Einfach den transparenten Bereich drumherum vergrößern. Geht das?

Christian

Warum benutzt du kein DirectX 9?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Claudio
Junior JLI'ler



Anmeldedatum: 25.08.2002
Beiträge: 63

Medaillen: Keine

BeitragVerfasst am: 14.07.2003, 21:10    Titel: Antworten mit Zitat

Wieviel müsst ich denn umcode um von Directx 8 auf Directx 9 umzusteigen?
_________________
-->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 15.07.2003, 06:38    Titel: Antworten mit Zitat

Es kommt natürlich drauf an, welche Funktionen du verwendest, aber es sollte nicht besonders viel sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Claudio
Junior JLI'ler



Anmeldedatum: 25.08.2002
Beiträge: 63

Medaillen: Keine

BeitragVerfasst am: 14.08.2003, 19:38    Titel: Antworten mit Zitat

EDIT: ne also, die Texturen müssen halt in 2^n sein, wie schon gesagt wurde. Wie mache ich aber dann kleinere Buttons, ohne das sie irgendwie in 2^n gespeichert sind und dann scaliert werden???
_________________
-->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 14.08.2003, 21:15    Titel: Antworten mit Zitat

2*2, 4*4, 8*8, 16*16 für uadratische Buttons oder 32*16 usw. sollte doch gut genug sein, oder? Ansonsten kannst du ja noch was über den Alphakanal machen.

C.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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