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

21

26.09.2010, 19:52

Nimm lieber so eine Umgebung wie Code::Blocks oder Visual Studio. Und es heißt Standard
Metal ist keine Musik sondern eine Religion.

22

26.09.2010, 19:52

hab ich schon aber dort tauschen befehle auf die mir völlig unbekannt sind und leider auch nirgends erklärt werden aber die tutorials werd ich mir mal an schauen

23

26.09.2010, 19:58

also code::blocks hab ich mal benutzt war auch sehr zufrieden aber ich bekom nur noch einen error der nicht mal durch deinstallieren und installieren zu beheben ist und hab auch schon nach jeder noch so kleinen datei von code::blocks gesucht und gelöscht aber naja visual sudio 2010 könnt ich noch mal versuchen.

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

24

26.09.2010, 19:58

Nimm lieber so eine Umgebung wie Code::Blocks oder Visual Studio. Und es heißt Standard

signed. Dafür empfehle ich dir das hier.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

25

26.09.2010, 20:11

code blocks hab ich schon hingekriegt aber irgentwann hab ich beim starten diesen error code gekriegt :
An exception has been raised! The aplication encountered an error at C:\Codeblocks\src\sdk\configmanager.cpp, on line 299 The error message is:
Tyni XML error: Error document empty. In file C:\USER\USErNAME*\AppDATA\Roaming\codeblocks\default.conf At row 0, column: 0.
Code::Blocks Version revision 6283 (gcc 4.4.1,build: FEB 27 2010 19:46:30)



edit: code::blocks klappt jetzt doch wieder hab noch einaml nach der datei gesucht und ja gefunden und gelöscht und fretig.^^

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »crunchip« (26.09.2010, 20:24)


26

27.09.2010, 21:46

Also ich habe nun unter code::blocks keine errors mehr aber trotz das dass compilen fehlerlos läüft bekomm ich trotzdem von windows das dass programm nicht mehr funktioniert
weiß jemand worann das liegt? bei dev c++ hat ich ja das gleiche problem. ich kann ja noch mal einfach mit ner grafik auf dem bildschirm anfang und versuchen ob das funzt.

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

27

27.09.2010, 22:52

ich kann ja noch mal einfach mit ner grafik auf dem bildschirm anfang und versuchen ob das funzt.

Würde ich auch vorschlagen, dann kannst du mit kompletten Code und Fehlermeldung dich gerne nochmal melden.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

28

03.10.2010, 19:56

ich werd jetzt irgentein anderes tut für frame rate suchen da steinke irgentwie unorganiesiert ist im buch steht was anderes als auf der cd und als auf der homepage das kann ja nur verwirren :rolleyes:

edit: ist hier vllt jemand der auch sich mit allegro auskennt und mir helfen kann über skype oda so.

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

29

03.10.2010, 20:07

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <allegro.h>
#include <string>

using std::string;

const unsigned short SCREEN_W = 600;
const unsigned short SCREEN_H = 480;

volatile int timerCounter = 0;

static void timerCounterUpdater() {
    timerCounter++;
} END_OF_STATIC_FUNCTION(timerCounterUpdater);

bool set_graphic_mode(int width, int height) {
    mode = mode > 1 ? 0 : mode;
    
    static int colorDepths[] = { 16, 24, 15, 32 };
    static int modes[]       = {
        GFX_AUTODETECT_FULLSCREEN,
        GFX_AUTODETECT_FULLSCREEN,
        GFX_AUTODETECT_WINDOWED
    };
    
    for (int i = 0; i < 4; i++) {
        set_color_depth(colorDepths[i]);
        if (set_gfx_mode(modes[i], width, height, 0, 0) >= 0) {
            return true;
        }
    }

    return false;
}

void fatal_error(string msg) {
    allegro_message(msg.c_str());
    exit(0);
}

void init() {
    allegro_init();
    install_keyboard();

    if (!set_graphic_mode(SCREEN_W, SCREEN_H)) {
        fatal_error("Grafikmodus konnte nicht gesetzt werden");
    }
    
    LOCK_FUNCTION(timerCounterUpdater);
    LOCK_VARIABLE(timerCounter);
    
    install_int_ex(timerCounterUpdater, BPS_TO_TIMER(60));
}

int main() {
    init();

    BITMAP * logo         = load_bitmap("asteroid.bmp", NULL);
    BITMAP * doublebuffer = create_bitmap(SCREEN_W, SCREEN_H);

    int x  = 0;
    int y  = 0;
    int dx = 1;
    int dy = 1;

    int maxSkip = 4;
    int curSkip = 0;
    
    bool needRefresh = false;

    while (!keypressed()) {
        curSkip = 0;
        
        if (timerCounter > 0) {
            do {
                if ((x + dx) < 0) {
                    dx *= -1;
                } else if ((x + dx + logo->w) >= SCREEN_W) {
                    dx *= -1;
                }

                if ((y + dy) < 0) {
                    dy *= -1;
                } else if ((y + dy + logo->h) >= SCREEN_H) {
                    dy *= -1;
                }

                x += dx;
                y += dy;
                
                timerCounter--;
                curSkip++;
                
                if (curSkip >= maxSkip) {
                    timerCounter = 0;
                    
                    break;
                }
            } while(timerCounter > 0);

            needRefresh = true;
        }
        
        if (needRefresh) {
            acquire_bitmap(doublebuffer);
            clear(doublebuffer);

            blit(
                logo, doublebuffer,
                x, y,
                (SCREEN_W - logo->w) / 2,
                (SCREEN_H - logo->h) / 2,
                logo->w,
                logo->h
            );

            release_bitmap(doublebuffer);

            blit(
                doublebuffer, screen,
                0, 0, 0, 0,
                SCREEN_W, SCREEN_H
            );
            
            needRefresh = false;
        }
    }
} END_OF_MAIN();

Probier's doch mal damit ;)
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

30

03.10.2010, 20:13

wie auch bei mein anderen
gibt es mal wieder ein fehler mit

C-/C++-Quelltext

1
2
const unsigned short SCREEN_W = 600;
const unsigned short SCREEN_H = 480;


kann es sein das es nicht möglich und nötig ist SCREEN_W und SCREEN_H einen wert zu geben da beim aufruf set_gfx_mode(GFX_MODE_WINDOWED, 800, 800, 0, 0)
ja 800 und 800 als Bildschirm größe in SCREEN_W und SCREEN_H kopiert wird? also das man es in prinziep weg lasssen kann ?

edit: Architekt hast du skype?
edit2: kann es sein das es einen error gibt weil die variable zweimal existiert dann also ich kann ja schlecht am anfang SCREEN_H , SCREEN_W neu defienieren ich kanns ja auch benutzen ohne es neu zu definieren.

Werbeanzeige