JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Problem beim zeichnen von Sprite
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
Beni5
Super JLI'ler


Alter: 36
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 10:49    Titel: Problem beim zeichnen von Sprite Antworten mit Zitat

Hallo!

Ich habe ein 800*600 Pixel grosses Sprite gemacht, und das besteht auch aus alpha teilen. Wenn ich das voll anzeige im Bild wird alles so schwarz dargestellt, wenn ich es etwas verkleinere ist ein teil sichtbar der andere schwarz. Ich hab es mit Photoshop gemacht.

Danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 11:16    Titel: Antworten mit Zitat

Äh...sry, aber ich kann da jetzt kein Problem raus lesen Rolling Eyes
_________________
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
Beni5
Super JLI'ler


Alter: 36
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 11:34    Titel: Antworten mit Zitat

Das Bild wird nicht richtig angezeigt, eben teilweise schwarz.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 12:04    Titel: Antworten mit Zitat

Wichtig zu wissen wäre noch:

- Welche API ? (DX oder OpenGL)
- Welches Bildformat ?
- Wie lädst du das Bild ?
- "Alpha Teilen" ? meinst du nen alpha Channel ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beni5
Super JLI'ler


Alter: 36
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 15:53    Titel: Antworten mit Zitat

DX,PNG, Ich lade es wie alle anderen funktionierenden Sprites ( Klasse aus dem Buch), ja alphachannel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 16:03    Titel: Antworten mit Zitat

Kann es sein das die Bilder über den Bildschirmrand gehen?
_________________
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
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 16:58    Titel: Antworten mit Zitat

Bei einer 800x600-Grafik wird die Textur 1024x1024 Pixel groß, der Rest außenrum ist schwarz. (liegt halt an der Graka... ist halt so Wink ) .. jedenfalls musst du beim Zeichnen mit dem Sprite einen Zeiger auf ein RECT angeben:

Code:

RECT SrcRect = {0, 0, 800, 600};
lpSprite->Draw(lpTexture, &SrcRect, [Scalingvector], [Rotationcentervector], [Rotation], [Positionvector], [Farbe]);
// die Einträge in [] sind Platzhalter, du musst natürlich deine Werte eintragen

eigentlich habe ich das auch schonmal irgendwo erklärt... Rolling Eyes
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beni5
Super JLI'ler


Alter: 36
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 17:30    Titel: Antworten mit Zitat

Problem gelöst , hab was beim Aufruf falsch gemacht.

Wo wir schonmal bei Sprites sind, denkt ihr es wäre sinnvoll einen 2. Layer (aus Sprites) für mein rpg zu machen , für transparente tiles? Oder wäre das zu rechenaufwendig? Weil StretchRect ja sowas net unterstützt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 18:12    Titel: Antworten mit Zitat

Generelll ist es glaube ich unüblich ganze bilder als hintergründe zu nehmen.
Aber mehrere Layer benutzen, das ist gar kein problem. mein Jump n Run hat sogar 10 Layer.
Wie das mit dem StretchRect ist weiß ich nicht, da ich für OpenGL programmiere
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beni5
Super JLI'ler


Alter: 36
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 18:39    Titel: Antworten mit Zitat

Naja dieser Layer würde dann wieder aus 300 Bildern bestehen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 19:27    Titel: Antworten mit Zitat

Es kommt halt arauf an, wie viele Bilder gleichzeitig auch gezeichnet werden. deine 300 bilder sind die auch alle gleichzeitig auf dem bildschirm ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beni5
Super JLI'ler


Alter: 36
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

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

jo die werden alle gleichzeitig angezeigt , also 300 hab ich schon als normale offscreenplainsurfaces , die werden gut angezeigt aber wenn ich jetzt nochmal 300 sprites anzeige..
naja.. man kann doch auch einfach mehrere texturen auf ein sprite malen oder umgekehrt? Und es würden selten 300 transparente tiles benötigt , die werden ja nur verwendet wen eben was transparent sein muss oder man darunter stehen sollte.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 19:42    Titel: Antworten mit Zitat

Na gut 600 sind auf jeden Fall noch verkraftbar. Ist die Frage, was du damit erreichen willst.
Ich schätze mal, dass wenn du einen weiteren Layer drüber legst mit sicherheit nicht jedes Tile belegt sein wird.

[EDIT]
lol. ich hab mich gerade verlesen. habe statt bEngine Begine gelesen ^^. beginen waren ne art Prostituierte im antiken Griechenland.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beni5
Super JLI'ler


Alter: 36
Anmeldedatum: 12.11.2003
Beiträge: 310
Wohnort: Switzerland
Medaillen: Keine

BeitragVerfasst am: 23.02.2004, 20:45    Titel: Antworten mit Zitat

ah , vielen dank Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 07.03.2004, 17:39    Titel: Antworten mit Zitat

Dann speichere die Layerelemente die sich nie ändern in ein extra surface ab und nutzt das surface als zeichenvorlage anstatt vieler sprites.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
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
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