|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Claudio Junior JLI'ler
Anmeldedatum: 25.08.2002 Beiträge: 63
Medaillen: Keine
|
Verfasst am: 13.07.2003, 09:16 Titel: Sprites problem |
|
|
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 |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 13.07.2003, 09:21 Titel: |
|
|
Welche Maße hat deine Sprite? |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 13.07.2003, 11:42 Titel: |
|
|
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 |
|
|
Claudio Junior JLI'ler
Anmeldedatum: 25.08.2002 Beiträge: 63
Medaillen: Keine
|
Verfasst am: 13.07.2003, 13:11 Titel: |
|
|
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 |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 13.07.2003, 15:18 Titel: |
|
|
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 |
|
|
Claudio Junior JLI'ler
Anmeldedatum: 25.08.2002 Beiträge: 63
Medaillen: Keine
|
Verfasst am: 13.07.2003, 16:10 Titel: |
|
|
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 |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 13.07.2003, 19:21 Titel: |
|
|
Mit welcher DirectX-Version arbeitest du? |
|
Nach oben |
|
|
Claudio Junior JLI'ler
Anmeldedatum: 25.08.2002 Beiträge: 63
Medaillen: Keine
|
Verfasst am: 13.07.2003, 21:06 Titel: |
|
|
öhm, Dx 8 halt _________________ -->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig! |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 13.07.2003, 21:33 Titel: |
|
|
Hi,
da gibt es die Funktion D3DXGetImageInfoFromFile() dann wahrscheinlich nicht...guck mal ob es was ähnliches gibt.
Christian |
|
Nach oben |
|
|
Claudio Junior JLI'ler
Anmeldedatum: 25.08.2002 Beiträge: 63
Medaillen: Keine
|
Verfasst am: 14.07.2003, 05:17 Titel: |
|
|
und wie soll ich ne ähnliche Funktion finden? _________________ -->http://www.en-studios.de<--
Voilà die neue Homepage ist fertig! |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 14.07.2003, 20:36 Titel: |
|
|
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 |
|
|
Claudio Junior JLI'ler
Anmeldedatum: 25.08.2002 Beiträge: 63
Medaillen: Keine
|
Verfasst am: 14.07.2003, 21:10 Titel: |
|
|
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 |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 15.07.2003, 06:38 Titel: |
|
|
Es kommt natürlich drauf an, welche Funktionen du verwendest, aber es sollte nicht besonders viel sein. |
|
Nach oben |
|
|
Claudio Junior JLI'ler
Anmeldedatum: 25.08.2002 Beiträge: 63
Medaillen: Keine
|
Verfasst am: 14.08.2003, 19:38 Titel: |
|
|
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 |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 14.08.2003, 21:15 Titel: |
|
|
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 |
|
|
|
|
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
|