JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

jli dx 9 und vcpp!
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Ranma
JLI'ler



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

BeitragVerfasst am: 07.11.2003, 23:23    Titel: Antworten mit Zitat

es ist ja auch zum weiterentwickeln da,(so seh ich das)
sie besitzen alles besprochene und das ist das wichtigste,(das gelernte mal an einem Patzen funktionieren sehen)
oder wolltest wohl den Namen umändern oder wie? Laughing
und den Ruhm einhamstern Confused

und was versteht ihr denn unter einem Profiesionelles Spiel?
_________________
"Deutsche Sprache schwere Sprache"
sprach der C++er
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dxstarter
Mini JLI'ler



Anmeldedatum: 02.11.2003
Beiträge: 10

Medaillen: Keine

BeitragVerfasst am: 08.11.2003, 06:48    Titel: Antworten mit Zitat

Ich will lernen Spiele zu Programmieren. Deswegen hab ich mir das
Buch gekauft. Und wenn ein Beispiel nicht funktioniert wie soll ich es
dann lernen?

Ich will hier keine Spiele kopieren sondern meine eigenen Programmieren.
Aber um es zu lernen brauche ich funktionstüchtige Beispiele. Deswegen
hab ich auch dafür 25€ bezahlt. Die beiden Spiele dienen dem lerneffekt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Erni
Junior JLI'ler



Anmeldedatum: 29.10.2003
Beiträge: 54

Medaillen: Keine

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

dxstarter hat Folgendes geschrieben:
Ich will lernen Spiele zu Programmieren. Deswegen hab ich mir das
Buch gekauft. Und wenn ein Beispiel nicht funktioniert wie soll ich es
dann lernen?

Ich will hier keine Spiele kopieren sondern meine eigenen Programmieren.
Aber um es zu lernen brauche ich funktionstüchtige Beispiele. Deswegen
hab ich auch dafür 25€ bezahlt. Die beiden Spiele dienen dem lerneffekt.


selbst wenn es stimmt,dass ein spiel nicht geht. Bis du da angekommen bist, eines dieser Spieler selbst zu programmieren, wirst du jedes Kapitel des Buches intensiv durcharbeiten müssen, und die Beispielprogramme bis zum Spiel funktionieren alle, jedenfalls wenn ich sie selber schreibe Wink . Und wenn du dich erfolgreich bis dahin durchgearbeitet hast, kannst du dieses Spiel ohne grosse Probleme selbst programmieren, da du bis dahin, wenn du wirklich jedes Kapitel gemacht hast, eine fürs Spiel ausreichende (kleine) Engine hast.
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: 08.11.2003, 13:06    Titel: Antworten mit Zitat

Ich bin auch der Meinung, dass es nicht sehr relevant fürs lernen ist, ob das Spiel funktioniert oder nicht. Die im Spiel vorkommenden Elemente werden ja vorher im Buch besprochen und an anderen Beispielen verdeutlicht. Die Spiele zeigen lediglich EINE Möglichkeit, wie man diese Elemente zu einem Spiel zusammenfügen kann. Und wenn man jene Elemente verstanden hat, kann man das spiel auch anhand des Quellcodes verstehen. Wenn nicht, sollte man sich die vorherigen Teile nochmal durchlesen und selbst eine Lösung entwickeln. Man kann sich ja dann am Quellcode der Spiele orientieren, falls man nicht mehr weiterkommt(oder hier im FOrum fragen Wink ).
Ich hab bei JLI1 auch nicht den Code des Weltraumshooters gebraucht, um programmieren zu lernen. Im Gegenteil fand ich die vielen Quellcodedateien mit den vielen Klassen eher abschreckend.
Also hab ich mich hingesetzt und erst mal versucht, ein Windowsfenster zu erstellen und dann immer weiter Schritt um Schritt ein Sprite, dann eine Animation, etc... hinzugefügt und hab trotzdem ein paar Spielchen programmieren können.
_________________
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
KI
JLI Master


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

BeitragVerfasst am: 09.11.2003, 09:16    Titel: Antworten mit Zitat

Ich muss hier mal dxstarter den Rücken stärken!
Wenn man sich ein Buch kauft, dass zusätzlich noch diese Beispiel-spiele auf dem Buchrücken anpreist, kann man auch erwarten, dass diese funktionieren.

Bei mir funktioniert das Beispiel übrigens auch nicht! Aber ich beschäftige mich sowieso lieber mit Direct3D.

Es kann sein, dass der Fehler etwas mit der Speicherverwaltung zu tun hat.
Das war z.B bei JLI-Fighter so, bei mir.

@dxstarter: Am mangelden Grafikkartenspeicher kann es bei dir nicht liegen, da du ja sogar eine DX9-Grafikkarte hast.
Also hast du mindestens 64 MB Grafikkartenspeicher, oder?

Bei wem funktioniert dieses Beispiel überhaupt Question
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

BeitragVerfasst am: 09.11.2003, 09:39    Titel: Antworten mit Zitat

Jo, die Beispiel-CD ist in einem üblen Zustand...hab ich heut nacht wieder mal voll auskosten dürfen: 'DInputMouse' ist fehlerhaft, 'Material' macht nicht annähernd das, was es sollte.
Dazu kommen die fehlerhaften 'Haupt'-Spiele und ein paar Bespiele fehlen überhaupt. Das macht echt keinen sonderlich guten Eindruck.

Andererseits macht der finde ich sehr gute Aufbau des Buches, Inhalt und Programmierstil (bei dem was vorhanden ist Wink) wieder einiges gut. Wäre die CD in Ordnung hätte das Buch sicher die Note 1A verdient. Ich kauf mir sicher auch den Nachfolger, nur bitte diesmal einen Beta Tester engagieren Very Happy


Zuletzt bearbeitet von Chewie am 09.11.2003, 09:45, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

BeitragVerfasst am: 09.11.2003, 09:44    Titel: Antworten mit Zitat

Das mit den fehlerhaften 'Haupt'-Spielen muß ich zurücknehmen...wenns hier um JLI_Asteroids aus Kapitel 25 geht, das funkt bei mir, ich habs grad ausprobiert. Ich hab 128 MB.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


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

BeitragVerfasst am: 09.11.2003, 09:50    Titel: Antworten mit Zitat

@dxstarter
Geh mal in Direct3D.cpp und spring runter bis zu folgender Methode:
Code:
// Methoden zum Start/Beenden der Szene
void CDirect3D::BeginScene(void)


Da gibts du dann folgendes ein:
Code:
    // Clear the viewport
    m_lpD3DDevice->Clear( 0L, NULL, D3DCLEAR_TARGET,
                         0x000000ff, 1.0f, 0L );

    m_lpD3DDevice->BeginScene();

    // aktuellen Bereich in den Backbuffer kopieren
   /* m_lpD3DDevice->StretchRect(m_lpSurface,
                               &m_ScrollRect,
                               m_lpBackBuffer,
                               0,
                               D3DTEXF_NONE);*/

    m_ScrollRect.left  += m_ScrollDirection;
    m_ScrollRect.right += m_ScrollDirection;

    // Wenn wir am Anfang oder am Ende der Oberfläche
    // angekommen sind, wird die Scrollrichtung umgekehrt
    if(m_ScrollRect.left == 2048 || m_ScrollRect.left == 0)
    {
        m_ScrollDirection = -m_ScrollDirection;
    }


Ich hab das StrechRect Zeug auskommentiert und vor BeginScene mit Clear den Bildschirm Bereich geleert.
Jetzt funktioniert es bei mir. Man kann es jetzt immerhin spielen Smile
Allerdings ohne Hintergrundbild. Da ist jetzt alles blau.

[EDIT]
Ach ja. ich hab die Pfade noch etwas geändert (global.h) :
Code:



#define SCR_WIDTH  1024
#define SCR_HEIGHT 768

#define SND_BACKGROUND  "../../Media/open.mid"
#define SND_EXPLOSION_1 "../../Media/JLIAsteroids/expl1.wav"
#define SND_EXPLOSION_2 "../../Media/JLIAsteroids/expl2.wav"
#define SND_PHOTON      "../../Media/JLIAsteroids/photon.wav"

#define FIGHTER        "../../Media/JLIAsteroids/JLIRakete.png"
#define PHOTONSHOT     "../../Media/JLIAsteroids/Photon_%d.png"
#define ASTEROID_BIG   "../../Media/JLIAsteroids/Asteroid_big_%d.png"
#define ASTEROID_SMALL "../../Media/JLIAsteroids/Asteroid_small_%d.png"
#define EXPLOSION      "../../Media/JLIAsteroids/Expl_%d.png"

#define UNIVERSE_1     "../../Media/JLIAsteroids/universe0.png"
#define UNIVERSE_2     "../../Media/JLIAsteroids/universe1.png"
#define UNIVERSE_3     "../../Media/JLIAsteroids/universe2.png"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
dxstarter
Mini JLI'ler



Anmeldedatum: 02.11.2003
Beiträge: 10

Medaillen: Keine

BeitragVerfasst am: 09.11.2003, 11:45    Titel: Antworten mit Zitat

@KI:

Danke, jetzt geht es. Very Happy

Ach so, ich hab eine 128 MB Grafikkarte.

EDIT:

Code:
   /* m_lpD3DDevice->StretchRect(m_lpSurface,
                               &m_ScrollRect,
                               m_lpBackBuffer,
                               0,
                               D3DTEXF_NONE);*/


Ich hab bei diese Zeile die Klammer weggemachtt. Jetzt geht es sogar in
vc++ mit Hintergrundbild.
Aber wenn ich nur die exe Datei ohne vc++ Starte dann geht es wieder
nicht.

Wiso ist das so?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


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

BeitragVerfasst am: 09.11.2003, 12:11    Titel: Antworten mit Zitat

dxstarter hat Folgendes geschrieben:
Aber wenn ich nur die exe Datei ohne vc++ Starte dann geht es wieder
nicht.

Wiso ist das so?

Das liegt daran, dass das Programm die Ressourcen (Bilder und Sounds) nicht findet.
Die EXE-Datei wird im falschen Ordner ausgeführt.
Die Ressourcen müssen in 2 Überordnern + MEDIA liegen...

Guck mal in global.h
Da steht ja ../../Media
Das bedeutet, das er 2 Ordner "hoch" geht und dann in Media die Datei lädt, sofern eine da ist.

Da du die EXE aber aus dem Debug- oder Release- Ordner ausführst müsste er theroretisch 3 (anstatt 2) Ordner "hoch" gehen.

Wenn du das Programm allerdings aus der Entwicklungsumgebung startest ist das genauso als würdest du es direkt aus deinem Projektordner öffnen. (da wo die ganzen Quellcode-dateien liegen)

[EDIT]

Ich hoffe das ist verständlich.
Schieb einfach die erstellte EXE einen Ordner höher (aufwärts).

also von
...\JLISamples\Kapitel_25\JLI_ASTEROIDS/Debug
nach
...\JLISamples\Kapitel_25\JLI_ASTEROIDS

Da wird sie funktionieren.

p.s. bei mir funktioniert das Spiel nur ohne Hintergrundbild, weil ich zu wenig Grafikkartenspeicher habe...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
dxstarter
Mini JLI'ler



Anmeldedatum: 02.11.2003
Beiträge: 10

Medaillen: Keine

BeitragVerfasst am: 09.11.2003, 12:33    Titel: Antworten mit Zitat

Danke jetzt geht es. Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Plasmarain
Mini JLI'ler



Anmeldedatum: 21.11.2003
Beiträge: 37

Medaillen: Keine

BeitragVerfasst am: 22.11.2003, 18:18    Titel: Antworten mit Zitat

Hi ihr beiden,

ich habe das selbe Problem,
das mit dem blauen bildschirm habe ich jetzt auch hinbekommen aber was heißt klammer weglassen?

Grüße

Matthias
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 22.11.2003, 20:33    Titel: Antworten mit Zitat

Code:
/* m_lpD3DDevice->StretchRect(m_lpSurface,
                               &m_ScrollRect,
                               m_lpBackBuffer,
                               0,
                               D3DTEXF_NONE);*/


nicht so, sonder so:

Code:
m_lpD3DDevice->StretchRect(m_lpSurface,
                               &m_ScrollRect,
                               m_lpBackBuffer,
                               0,
                               D3DTEXF_NONE);


mit Klammern meinte er die Kommentarzeichen /* ... */.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Plasmarain
Mini JLI'ler



Anmeldedatum: 21.11.2003
Beiträge: 37

Medaillen: Keine

BeitragVerfasst am: 23.11.2003, 17:11    Titel: Antworten mit Zitat

Ja super, es klappt!

Vielen Dank!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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 Zurück  1, 2
Seite 2 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