JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Beispielprogramm fehlt-
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TheDeath
Mini JLI'ler



Anmeldedatum: 06.04.2003
Beiträge: 2

Medaillen: Keine

BeitragVerfasst am: 06.04.2003, 11:48    Titel: Beispielprogramm fehlt- Antworten mit Zitat

Laut dem Buch sollte es ein Beispielprogramm namens "Scroll" geben, dies ist aber bei mir nirgends zu finden. Sad
Das programm gehört zu Kapitel 19 (Seite: 354-355).
Kann mir das irgendwer per mail zuschicken?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 06.04.2003, 11:59    Titel: Antworten mit Zitat

Du kommst doch sicher von www.jli-spieleprogrammierung.de , ne? Ließ mal was großgeschrieben auf der Startseite steht.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheDeath
Mini JLI'ler



Anmeldedatum: 06.04.2003
Beiträge: 2

Medaillen: Keine

BeitragVerfasst am: 06.04.2003, 12:03    Titel: Antworten mit Zitat

ups, sorry. Hab ich wohl übersehen. Embarassed Embarassed
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: 08.04.2003, 12:39    Titel: Antworten mit Zitat

Ich habe noch eine Frage zum Kapitel scrolling. Ich habe mich in den letzten Tagen durch die Direct Draw Kapitel durchgeschlagen. Immer wenn ich ich ein Bitmap so erstelle das es nicht komplet im Bildschirmbereich ist verlässt der Computer das Spiel sofort nachdem es entweder geladen wurde. (Dasselbe passiert wenn ich ein Bitmap laden will dass nicht exisitert).

Im Kapitel Scrolling steht das manche Grafikkarten das nicht unterstützen wenn man bmp's über den Bildschirm hinaus erstellt. Ich benutzten eine Geforce 2 MX/MX 400. Kann es sein das sie es nicht unterstützt?
_________________
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
Ranma
JLI'ler



Anmeldedatum: 10.12.2002
Beiträge: 167
Wohnort: Cadolzburg
Medaillen: Keine

BeitragVerfasst am: 08.04.2003, 13:45    Titel: Antworten mit Zitat

also ich hab die gleich Grafikkarte und daran liegt das nicht Twisted Evil

das mit dem scrolling hast du wohl falsch verstanden Rolling Eyes
das scrolling vom buch funzt so:
als erstes wird die Bitmap in eine Surface geldaden
dann wird ein Rechteck mit Rect in Zeile 277 erstellt
Code:
 RECT r;

dann kommt dieser Code
Code:
   // Aufbau des 1. Bildausschnitts
   r.top    = 0;
   r.left   = 0;
   r.bottom = SCR_HEIGHT;

   r.right  = SCR_WIDTH-StartX;

   if(SCR_WIDTH != StartX)
   {
      lpDDSBackBuffer->BltFast(StartX,0,lpDDSurface,&r,DDBLTFAST_WAIT);
   }
      
   // Aufbau des 2. Bildausschnitts
   r.left  = SCR_WIDTH-StartX;
   r.right = SCR_WIDTH;
   
   
   if(0 != StartX)
   {
      lpDDSBackBuffer->BltFast(0,0,lpDDSurface,&r,DDBLTFAST_WAIT);
   }


   StartX++;  // soll das Scrolling schneller sein, kann man diesen Wert
              // auch um 2,3,4 usw. erhöhen.
   
   if(StartX >= SCR_WIDTH)
   {
      StartX = 0;
   }

in diesem Code stück wird das hier gemacht:
als erstes wird
durch r.top = 0 bestimmt dass das rechteck von ganz oben
und durch r.bottom =0 dass es nach ganz unten kopiert wird

dann wird r.left auf 0 gesetzt damit von ganz links kopiert wird
dann wird r.right auf die Bildschirmbreite - Variable StartX gesetzt

jetzt wird der Bereich auf Bildschirmanfang - Variable StartX kopiert
wenn jetzt die Variable StartX einen Wert hätte also 10 würde ja
nicht alles vom Bild kopiert werden, und alles erst ab breitenpixel 10
darstellen ,oder?
das ist auch der sinn der sache
denn danach
wird ein neuer bereich selektiert
r.left = Bildschirmbreite - Variable StartX
r.right = Bidlschirmbreite
was bemerkt?
gut
nun wird durch diesem code das selektiert was vorher nicht selektiert
wurde
das wird dann auf den Anfang des Bildschirms kopiert
nun wird StartX um eins erhöt,
falls der wert von StartX größer wie die Bildschirmbreite ist wird dieser dann auf 0 gesetzt

das ganze bewirkt, dass dein Bild von links nach rechts verschoben wird
und der Bereich der verschwindet wieder links auftaucht

ich hoffe man hätte es verstehen können
Wink

falls du mir deine E-mail gibtst
kann ich dir eine skizze schicken die ich selber gemacht hab um es zu verstehen Razz
_________________
"Deutsche Sprache schwere Sprache"
sprach der C++er
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 08.04.2003, 14:52    Titel: Antworten mit Zitat

Du kannst doch die Bitmap einfach aufteilen, wenn sie nich auf den Bildschirm passt. So hab ichs auch bei meiner Moorhuhnvariation gemacht. Wink
_________________
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
Ranma
JLI'ler



Anmeldedatum: 10.12.2002
Beiträge: 167
Wohnort: Cadolzburg
Medaillen: Keine

BeitragVerfasst am: 08.04.2003, 16:17    Titel: Antworten mit Zitat

was meinst du denn damit?
10 Oberflächen anlegen und in jede einen Teil malen Question
und dann immer so verschieben Question
_________________
"Deutsche Sprache schwere Sprache"
sprach der C++er
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 08.04.2003, 16:39    Titel: Antworten mit Zitat

Ja, falls du Bitmaps benutzt, kannst du einfach das gesamte Szenario in eine Bitmap machen und diese dann in 800*600(1024*768) Pixel teilen und dann jeweils als einzelnes Surface laden.
_________________
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
Ranma
JLI'ler



Anmeldedatum: 10.12.2002
Beiträge: 167
Wohnort: Cadolzburg
Medaillen: Keine

BeitragVerfasst am: 08.04.2003, 18:37    Titel: Antworten mit Zitat

irgendwie finde ich das irrsinig Razz
du lädst als erstes alles in eine Surface teilst die dann auf andere
surfaces (oder so ähnlich) auf und musst dabei vielleicht sogar damit rechnen das es am schluss nicht flüssig aussieht
der weg vom Buch ist zwar (anscheinend) komplizierter, aber flüssiger
und bringt warscheinlich SOGAR weniger schreibarbeit, denke ich Wink
_________________
"Deutsche Sprache schwere Sprache"
sprach der C++er
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 08.04.2003, 18:43    Titel: Antworten mit Zitat

Ich hab das nochmal gelesen und gemerkt das ich es ein bisschen zu schnell gelesen habe Laughing. (da steht das manche Grafikkarten keine GROßEN! Oberflächen unterstützen) Danke für die schnelle Antwort.
_________________
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
Starwash
Senior JLI'ler


Alter: 39
Anmeldedatum: 22.09.2002
Beiträge: 252
Wohnort: Zossen (bei Berlin)
Medaillen: Keine

BeitragVerfasst am: 08.04.2003, 19:35    Titel: Antworten mit Zitat

Hi,
zum überprüfen, ob eine BMP existiert, kannst du ja einfach überprüfen, ob die Datei existiert, bevor du sie einliest.

Dies kannst du bspw. folgender Maßen machen:

Code:
int LoadBMP(char* s){
 if(s==NULL)
  return INVALID_STRING;
 FILE* FBmp = NULL;
 FBmp = fopen(s,"r");
 if(FBmp==NULL)
  return FILENOTFOUND;
 fclose(FBmp);
 //Bitmap laden
 return 0;
}


Es gibt sicherlich noch weitere, aber dies ist eine Variante, welche sogar im Buch beschrieben wird (zumindest im ersten Buch).

Gruss Tarek
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 08.04.2003, 20:51    Titel: Antworten mit Zitat

Ranma hat Folgendes geschrieben:
...und musst dabei vielleicht sogar damit rechnen das es am schluss nicht flüssig aussieht

Bei mir läuft es eigentlich ganz flüssig. Wenn man ein Surface in bildschirmgroße Teile zerlegt müssen höchstens vier Teile pro Situation gezeichnet werden und das is eigentlich nich viel.
_________________
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
Ranma
JLI'ler



Anmeldedatum: 10.12.2002
Beiträge: 167
Wohnort: Cadolzburg
Medaillen: Keine

BeitragVerfasst am: 09.04.2003, 13:20    Titel: Antworten mit Zitat

hätte ich nicht gedacht Razz
naja ist ja eigentlich egal,
es gibt warscheinlich mehrere arten problemlos und ruckelfrei zu scrollen Wink
_________________
"Deutsche Sprache schwere Sprache"
sprach der C++er
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 22.04.2003, 08:04    Titel: Antworten mit Zitat

Schon klar das das Funktioniert (Christian beschreibt die möglichkeit auch in seinem Buch) hier wird das Bild nur nicht 5 mal geladen anstatt 1 mal. Komplett laden ist aber vom Code her einfacher (Und man muss es nicht teilen.

Ich habe für beide möglichkeiten eine Variante (um)geschreiben:

1. 1ne Oberfläche
2. mehrere Oberflächen

@Ranma wenn du Webspace brauchts: http://www.4-ever-server.net/ Ein paar Freunde von mir haben einen Server.
_________________
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
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 22.04.2003, 12:24    Titel: Antworten mit Zitat

@Ranma
Für Webspace solltest du auch mal hier vorbeigucken Wink
_________________
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
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik 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