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

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

11

07.02.2009, 16:09

Der Compiler sagt dir was falsch ist:

Zitat

57 C:\Dev-Cpp\main.cpp 'struct BITMAP' has no member named 'move_up'


Du hast Funktionen definiert, die nicht zum struct BITMAP gehören, deswegen ist logo->move_up() auch nicht definiert.

Deswegen meine ich ja: setz dich erstmal mehr mit den Grundlagen auseinander, dann wird dir sowas nicht passieren.

12

07.02.2009, 20:00

Zitat von »"Lerikson"«


C-/C++-Quelltext

1
y=y+1;



Falls du es noch nicht kennst, viele schreiben so etwas auch in dieser Art:

C-/C++-Quelltext

1
y += 1;


Das bewirkt dann das gleiche, wollte ich nur mal angemerkt haben. ;)
(geht natürlich auch mit - und so)[/code]
MfG Shiver!

„Ideen sind nur Ausgangspunkte. Um zu wissen, was man zeichnen will, muss man zu zeichnen anfangen.“ Pablo Picasso

Ibot Development - Mein Weg zum eigenen 2D RPG

13

08.02.2009, 01:36

oder auch

C-/C++-Quelltext

1
y++;
;)

btw:

Zitat

* The END_OF_MAIN macro does not have a semicolon after it. While most compilers accept END_OF_MAIN();, it is technically incorrect, and may result in a warning on some compilers.

und es fehlen an anderer Stelle ein paar ";"s und "}"s ;)

Lerikson

Alter Hase

  • »Lerikson« ist der Autor dieses Themas

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

14

08.02.2009, 11:12

danke für die Hilfe
ich werd jetzt mal gucken wie ich das Problem mit der BITMAP-Struktur löse
Errare est humanum. -Windows ist menschlich ;-)

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

15

08.02.2009, 11:26

Zitat von »"Lerikson"«

danke für die Hilfe
ich werd jetzt mal gucken wie ich das Problem mit der BITMAP-Struktur löse


Tut mir leid, ich will dich jetzt echt nicht entmutigen, aber bei deinem Code liegt einiges im Argen, wie dein Compiler dir auch schon versucht mitzuteilen. Ich würde dir echt nahelegen dich erstmal um deine C/C++-Grundlagen zu bemühen bevor du mit Allegro arbeitest. Du wirst sonst schnell frustriert sein, dass nichts klappt.

Btw: wenn du Variablen im Scope der Main-Funktion definierst sind die für Funktionen außerhalb von Main nicht bekannt. Du kannst also nicht in Move_Up y erhöhen, weil y in Move_Up nicht bekannt ist.

Lerikson

Alter Hase

  • »Lerikson« ist der Autor dieses Themas

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

16

08.02.2009, 11:33

ok ich habe jetzt eine Lösung
(quellcode wie erster code ist aus dem Buch "Spieleprogrammierung" von Lennart Steinke aber die steuerung von mir)


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//  Steuerung getestet -> funktioniert

        
        if(key[KEY_RIGHT])
        {
             x+= dx;
        }
        
        else if(key[KEY_LEFT])
        {
             x-=dx;
        }
        
        else if(key[KEY_UP]) 
        {
             y-= dy;
        }
        
        else if (key[KEY_DOWN])
        {
             y+=dy;
        }

ich habe also die funktionen erstmal rausgeschmissen die steuerung funktioniert fürs erste (mal als Frage ist das wie ich das geschrieben hab jetzt ordentlich oder immer noch "Codesalat"?)

PS: Danke für die Hilfe/Tipps (mein Ziel einer simplen Steuerung ist erreicht danke !)
Errare est humanum. -Windows ist menschlich ;-)

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

17

08.02.2009, 11:52

Das hier schreit förmlich nach switch/case. ;)

18

08.02.2009, 13:08

Zitat von »"drakon"«

Das hier schreit förmlich nach switch/case. ;)

ähm nein. es werden immer verschiedene Keys überprüft - wie willst du das mit ner swith/case machen?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

19

08.02.2009, 13:15

Zitat von »"PCShadow"«

Zitat von »"drakon"«

Das hier schreit förmlich nach switch/case. ;)

ähm nein. es werden immer verschiedene Keys überprüft - wie willst du das mit ner swith/case machen?


Hups. Nicht ganz aufgepasst. Auf den ersten Blick sieht es aber wirklich so aus.. Vor allem ist es ja meistens wirklich so, dass man den Key zurückbekommt und dann darauf reagieren kann..

Lerikson

Alter Hase

  • »Lerikson« ist der Autor dieses Themas

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

20

08.02.2009, 17:50

mal noch ne frage ich habe jetz ein kleines raumschiff geladen um es mit der steuerung zu bewegen

C-/C++-Quelltext

1
BITMAP *logo = load_bitmap("Lod.bmp", NULL);

danach in den doublebuffer und auf screen wie kann ich noch ein anderes sprite zu laden z.B. ein gegner raumschiff?

mit der gleichen funktion nur anderer filename klappt nämlich nicht....
Errare est humanum. -Windows ist menschlich ;-)

Werbeanzeige