Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

ecsl

Frischling

Beiträge: 41

Wohnort: Kaiserslautern

Beruf: Meteorologie Student

  • Private Nachricht senden

21

08.05.2005, 06:43

Hallo

ich bins nochmal ^^

Es geht um "szPath" wie schon erwähnt funktioniert das soweit aber ich musste feststellen das es bei mehreren Grafiken die man definieren will nicht mehr klappt (doubledefinition etc.).
Unter szPath finde ich in der Hilfe nichts.
Gibt es da noch ne andere Möglichkeit?

Danke

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

22

08.05.2005, 08:33

Du wirst auch in der Hilfe nichts finden den szPath ist eine Variable.
- ein Null Terminierter (\0) String. Der das Bild angibt das du laden willst.
wenn du mehrere Bilder laden möchtest dann musst du szPath auf verschiedene Werte setzen z.B.

C-/C++-Quelltext

1
strcpy(szPath, "Bild1.bmp")

C-/C++-Quelltext

1
strcpy(szPath, "Bild2.bmp")

C-/C++-Quelltext

1
strcpy(szPath, "Bild3.bmp")


Und die dann mit LoadImage Laden

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
char            szPath[256];
int              iWidth = 256;
int              iHeight = 256;
HBITMAP     hBmp1, hBmp2;

strcpy(szPath, "bild1.bmp");
hBmp1 = (HBITMAP)LoadImage(0, szPath, IMAGE_BITMAP, iWidth, iHeight, LR_LOADFROMFILE); 

strcpy(szPath, "bild1.bmp");
hBmp2 = (HBITMAP)LoadImage(0, szPath, IMAGE_BITMAP, iWidth, iHeight, LR_LOADFROMFILE);


dann bmp1 und 2 ganz normal Blitten

PD

unregistriert

23

08.05.2005, 10:37

Oder man benutzt verschiedene Variablen, für jeden Dateinamen eine ^^

ecsl

Frischling

Beiträge: 41

Wohnort: Kaiserslautern

Beruf: Meteorologie Student

  • Private Nachricht senden

24

09.05.2005, 06:22

Hallo,

ohje von einem Problem ins andere :(
Wenn ich nun wüsste wie ich den Bildern
verschiedene Layer übergeben kann sodass
Sie in den Vordergrund rücken.

Kennt wer vielleicht gute Bücher die direkt nur
mit 2D-Grafikprogrammierung ohne DX und OGL
arbeiten? Also speziell nur Grafik für Win32-Anwedungen.


Danke

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

25

09.05.2005, 11:23

Im Petzold wird das erklärt.
Ich sag dir aber gleich, dass die GDI ziemlich langsam und sehr umständlich zu benutzen ist.

Einen ColorKey kannst du mit TransparentBlt benutzen. Die Funktion funktioniert aber nur mit Win2000/XP richtig.

Ciao

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

26

09.05.2005, 12:16

naja, das Buch von Petzold ist wohl eher nicht geeignet dafür. Du hast zwar recht es befasst sich zwar mit BitBlt's, DIBS und BMPS aber genau da steckt meiner Meinung nach auch die Schwäche. Den das ist mir persöhnlich etwas zu kurz zu kommen.

Ich würde dir für ein Spiel die WinAPI auch nicht empfehlen, da die wirklich völlig nicht zu gebrauchen ist! Ich habs selber mal probiert, kann man vergessen.

Im Netz gibts viele gute Tuts zur WinAPI und den BitBlts. Schau einfach mal bei Google oder hier im FAQ Bereich vorbei, da steht ein Thread über BitBlts.

Wenn du mit Windows, Fenstern etc arbeiten willst kann ich dir auch nur Petzolds Windows Programmierung empfehlen, is zwar ein riesiger Wälzer aber sehr gut und auch einfach - die ultimative Referenz zur winAPI, aber wei gesagt BitBlts sind etwas zu kurz gekommen, ich glaube der beschreibt dort nicht mal die transparenz.

Wenn du in 2D arbeiten willst, kann ich dir nur die SDL empfehlen, hier haste nen link http://tonyandpaige.com/tutorials/sdl1.html ich hab selber damit noch nicht gearbeitet, sieht aber leicht zu verstehen aus. Das größte Problem wird wohl die zum laufen zu bringen ... evtl.

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

27

09.05.2005, 14:38

Ich würde eher sagen, dass er das Thema viel zu ausführlich behandelt hat:) Ich wollte einfach nur wissen, wie man ein BMP anzeigen kann, und er faselt alles Mögliche über verschiedene Bitmapheader und so weier, was man alles eigentlich nicht wissen muss :) Aber Transparenz hat er leider wirklich nicht behandelt.

Ich habs aber geschafft damit ein Spiel zu machen :) : http://www.Bomber-Revolution.de.vu
War aber nicht einfach. (war ja auch mein erstes Spiel)

Ciao

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

28

09.05.2005, 21:59

hey, du bist der einzige den ich kenne der mit der WINAPI ein spiel hinbekommen hat. Sicherlich sind einfache Ping - Pons möglich aber man stößt eben schnell an die Grenzen ;).

Ja das mit den Headern stimmt zwar (EWIG) aber ist eben nicht komplett - und deswegen zu wenig ;), wenn so was wie Transparenz fehlt, was ja besonders auf dem Spiele Feld exterm wichtig ist!

ecsl

Frischling

Beiträge: 41

Wohnort: Kaiserslautern

Beruf: Meteorologie Student

  • Private Nachricht senden

29

10.05.2005, 06:20

Hi,

Mein kleines Spiel hat keine großen Anforderungen.
Sollte dazu dienen um bisher erlerntes etwas zu festigen und
vielleicht noch ein paar neue Sachen kennen zu lernen.
Ich muss mir das alles alleine beibringen (bis auf euch natürlich ^^)
Hab hier etliche Bücher liegen aber in denen wird nicht alles behandelt.
Konnte bisher noch nicht offensichtilich das einfügen von Buttons finden ???
Vielleicht hab ich es nur übersehen bis jetzt aber das ist z.B. etwas das ich
noch nicht weiß und wissen möchte, wie so vieles eben :-)

Gruß ecsl

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

30

10.05.2005, 15:15

das mit Windows ist immer so ein Ding - es gibt da verschiedene Varianten wie man dies und das anstellen kann. Zum Beipsiel gibt es die MFC, VCL, WINAPI das sind die größten Bibliotheken. Die MFC, VCL laufen auch nur auf die WINAPI zu. d.h. wenn du die WINAPI kannst kannst du auch MFC, VCL. Außerdem finde ich es nervig immer die blöden Bibliothken mitzliefern.

Ich persöhnlich bin ein WINAPI Verfechter, weil man eben dort "Basic" ist. Aber das muss jeder für sich selber wissen. Für die WINAPI kann ich dir wie gesagt nur Windows Programmierung von Petzold empfehlen, den gerade bei sowas lohnt sich die anschaffung eines Buches. Ich hab mir die ganzen Grundlagen auch selber beigebracht ;).

Nen Button fügste im MessageHandler bei der Nachricht WM_CREATE ein.

C-/C++-Quelltext

1
2
3
4
        hButtonWnd = CreateWindow("button", "Title", 
                                WS_CHILD | WS_VISIBLE | BS_FLAT,
                                0, 0, 81, 20,
                                hClientWnd, HMENU(ID), g_hInstance, NULL);


hButtonhWnd ist ein Handle auf deinen Button (hWnd)

Werbeanzeige