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

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

12.07.2009, 10:39

oops...ich hab die klasse ganz übersehen weil da oben alles wie ein Kommentar aussieht XD

12

12.07.2009, 10:45

Zitat von »"David_pb"«

Zitat von »"dot"«

wie wärs mit FC2::play() ?


Wenn der play in einer Methodendef von AudioFile aufruft muss der Namespace doch sowiso bekannt sein. Ansonsten brauch er mindestens eine Instanz von AudioFile, also muss der Namespace auch dort bekannt sein.



also wie würd das jeztt in code aussehen?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

13

12.07.2009, 10:52

Zitat von »"Fighter19"«

Zitat von »"David_pb"«

Zitat von »"dot"«

wie wärs mit FC2::play() ?


Wenn der play in einer Methodendef von AudioFile aufruft muss der Namespace doch sowiso bekannt sein. Ansonsten brauch er mindestens eine Instanz von AudioFile, also muss der Namespace auch dort bekannt sein.



also wie würd das jeztt in code aussehen?


Weiß ich nicht. Ich bräucht zusätzliche Infos (siehe meinen vorletzten Post).

14

12.07.2009, 10:54

hir mein code:

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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#include "include\Fantasy2C\Window.h"
#include "include\Fantasy2C\Input.h"
#include "include\Fantasy2C\Sprite.h"
#include "include\Fantasy2C\Audio.h"

float a=1,b=1,c=1,d=1;
float ge;
int main(){
    F2C::Input::getInstance()->InitInput(); //init Input


    //set Window ReSize on true

    F2C::Window::getInstance()->setWindowHint(F2C::WindowProperty::NoResize,true);

    //create Window

    F2C::Window::getInstance()->CreateGLWindow("Fantasy2C Tutorial",
                                                800,600,
                                                32,
                                                false);





    F2C::AudioFile("lab.wav",true);






    F2C::Window::getInstance()->InitGL(); //init OpenGL

    F2C::LogError::ClearLog(); //clear LogFile

//***********************************************************************

    F2C::Sprite sgras; //sprite object

    F2C::Bitmap* bgras = new F2C::Bitmap;
    bgras->LoadFile("gras1.bmp");
    sgras.setBitmap(bgras);
        delete bgras;
//set Coord.

    sgras.x = 0;
    sgras.y = 0;
//***********************************************************************

    F2C::Sprite sschluessel_g; //sprite object

    F2C::Bitmap* bschluessel_g = new F2C::Bitmap;
    bschluessel_g->LoadFile("schluessel_G.png");
    sschluessel_g.setBitmap(bschluessel_g);
        delete bschluessel_g;
//set Coord.

    sschluessel_g.x = 0;
    sschluessel_g.y = 0;
//***********************************************************************

    F2C::Sprite sbusch; //sprite object

    F2C::Bitmap* bbusch = new F2C::Bitmap;
    bbusch->LoadFile("busch.png");
    sbusch.setBitmap(bbusch);
        delete bbusch;
//set Coord.

    sbusch.x = 0;
    sbusch.y = 0;

//***********************************************************************



    double framerate = 60.0f;

    bool quit = false;
    while(! quit){
        F2C::Window::getInstance()->startTicks();

        while(F2C::Window::getInstance()->getTicks() < 1.0f/framerate){
            F2C::Input::getInstance()->update(); //update Input

            //window handle

            if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Esc) ||
                ! F2C::Window::getInstance()->getWindowParam(F2C::WindowProperty::Open)){
                    quit = true;
                    break;
            }
            F2C::Window::getInstance()->Sleep(0.001f);
        }

        if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Down))
            if(sschluessel_g.y<550) sschluessel_g.y+=a;
                      a+=0.3;
                      if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Down)==false)
                      a=1;

        if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Up))
            if(sschluessel_g.y>0) sschluessel_g.y-=b;
                      b+=0.3;
                      if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Up)==false)
                      b=1;

        if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Left))
            if(sschluessel_g.x>0) sschluessel_g.x-=c;
                      c+=0.3;
                      if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Left)==false)
                      c=1;

        if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Right))
            if(sschluessel_g.x<750) sschluessel_g.x+=d;
                      d+=0.3;
                      if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::Right)==false)
                      d=1;

        F2C::Window::getInstance()->ClearGLScene(); //clear Window



if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::KPNum0))
        {
            ge+=0.3;
        }
if(F2C::Input::getInstance()->getPressKey(F2C::KeyboardEvent::KPNum0)==false)
        {
            ge=0;
        }
        sgras.render(); //rendering sprite

        sschluessel_g.render();
        if(sbusch.y<=0&&sbusch.x<750)
            sbusch.x+=ge;
        if(sbusch.x>=750&&sbusch.y<=550)
            sbusch.y+=ge;
        if(sbusch.y>=550&&sbusch.x>=0)
            sbusch.x-=ge;
        if(sbusch.x<=0&&sbusch.y>=0)
            sbusch.y-=ge;


        sbusch.render();


        F2C::Window::getInstance()->UpdateGLScreen(); //update Rendering


        char buffer[256];
        sprintf(buffer,"Fantasy2C Tutorial :: %4.2f FPS",F2C::Window::getInstance()->getFPS());
        std::string new_title (buffer,256);

        F2C::Window::getInstance()->setWindowTitle(new_title.c_str());

    }
    F2C::Window::getInstance()->ShutdownGLWindow(); //close/shutdown Window


    return 0;
}

ich hoffe du meinst das

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

15

12.07.2009, 11:00

lol, jetzt wird mir endlich klar was du da treibst...

C-/C++-Quelltext

1
F2C::AudioFile("lab.wav",true);


FC2::AudioFile is keine Funktion sondern ne Klasse. Wenn du also was sinnvolles damit machen willst solltest du dem Objekt was du da erzeugst einen Namen geben:

C-/C++-Quelltext

1
2
3
4
5
F2C::AudioFile kaboom("lab.wav",true);

  // ...


  kaboom.play();

16

12.07.2009, 11:01

F2C::AudioFile ist keine funktion, sondern eine Klasse. wenn du eine Klasse wie eine funktion aufrufst, rufst du damit ihren Konstruktor auf, und erhältst ein neues objekt der klasse. Wenn du das aber nirgendwo speichert, bringt dir das gar nix. und wenn du dich jetz sehr wunderst, worüber ich hier rede, solltest du dir vllt die grundlagen (Klassen etc.) nochmal anschauen, bevor du mit sowas hier anfängst.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

17

12.07.2009, 11:01

Abgesehen davon, dass ich überhaupt kein "play()" im Code finden kann solltest du deine Instanz natürlich irgendwie versuchen zu halten:

C-/C++-Quelltext

1
F2C::AudioFile irgendeinname("lab.wav",true); 


Dann hast du auch Zugriff auf die öffentliche Funktionalität von F2C::AudioFile:

C-/C++-Quelltext

1
irgendeinname.play();


Edit: Mei... zu spät! ;)

18

12.07.2009, 11:04

boah danke danke danke danke danke XD
endlich^^^^

19

12.07.2009, 15:51

"primärkotiert", aber sicher :lol:

Lass die Fehlermeldung nächstes Mal vielleicht lieber in Englisch... ;)

Werbeanzeige