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

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

31

25.06.2004, 16:34

Poste bitte nochmal den kompletten code der move und der extrarelease......

32

26.06.2004, 12:33

hab mein system jetzt geändert: anstatt der ExtraRelease werden die Extras einfach in der Game.cpp beim aufsammeln eines anderen gelöscht. allerdings stimmt immer noch was net aber ich muss erst rausfinden was :D

33

26.06.2004, 19:13

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if((m_aExtra[0].m_bActive == TRUE) && (m_fExtraTime >= 0.0f))
    {
        sprintf(m_cExtraText, "Speed Pad");
        m_vPaddleVel.x += g_pfButtons[TB_KEY_RIGHT] * 100.0f * fTime;
        m_vPaddleVel.x -= g_pfButtons[TB_KEY_LEFT] * 100.0f * fTime;
        m_vPaddlePos += m_vPaddleVel * fTime;
        m_fExtraTime -= fTime; //m_fExtraTime -= 0.0001
        
        for(int iExtra = 0; iExtra < 15; iExtra++)
        {
            if(iExtra != 0)
            {
                m_aExtra[iExtra].m_bActive = FALSE;
            }
        }
    }
    else if((m_aExtra[0].m_bActive == TRUE) && (m_fExtraTime < 0.0f))
    {
        sprintf(m_cExtraText, "");
        m_vPaddleVel.x += g_pfButtons[TB_KEY_RIGHT] * 50.0f * fTime;
        m_vPaddleVel.x -= g_pfButtons[TB_KEY_LEFT] * 50.0f * fTime;
        m_vPaddlePos += m_vPaddleVel * fTime;
        m_aExtra[0].m_bActive = FALSE;
    }


so,

m_fExtraTime wird beim erstellen auf 100.0f gesetzt. aber ich kanns auch auf 1000000000000.0f setzen trotzdem wird sofort der andere if-block aufgerufen und das extra damit deaktiviert. der fehler muss allerdings irgendwie in der bedingung liegen denn auch wenn ich den kommentar einfüge springt er sofort in den falschen block

34

27.06.2004, 19:34

ne mom...habs hinbekommen...im moment läuft alles so wie es sein soll und ich hab erst mal keine fragen

35

04.07.2004, 17:05

hab doch noch nen problem

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if(m_aExtra[8].m_bActive == TRUE)
    {
        m_iScore += 1000 * tbIntRandom(1, 10);
        sprintf(m_cExtraText, "Jackpot");
        m_fExtraTime -= fTime;
        bJackpot = TRUE;
        m_aExtra[8].m_bActive = FALSE;
    }
    
    if((bJackpot == TRUE) && (m_fExtraTime >= 7.0f))
    {
        sprintf(m_cExtraText, "Jackpot");
        m_fExtraTime -= fTime;
    }
    else if((bJackpot == TRUE) && (m_fExtraTime < 7.0f))
    {
        sprintf(m_cExtraText, "");
        bJackpot = FALSE;
    }


dieses extra erhöht einfach die score um nen wert zwischen 1000 und 10000...dazu soll für 3 sekunden 'jackpot' ausgeben werden...allerdings werden die zwei unteren if-blöcke nie betreten...f_ExtraTime wird bei der erstellung des extras auf 10.0f gesetzt...is bestimmt n saudämlicher fehler nur ich bin auch grad zu blöd um den zu finden

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

36

04.07.2004, 20:56

Hmmm beim aktivieren sagst du:
m_fExtraTime -= fTime;
Ist das korrekt?

37

05.07.2004, 16:36

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// __________________________________________________________________
// Erstellt ein Extra
int CGame::CreateExtra(tbVector3 vPosition,
                       tbVector3 vVelocity)
                      
{
    int iExtra = tbRandomInt(0, 15);
    

    m_aExtra[iExtra].m_bExists = TRUE;
    m_aExtra[iExtra].m_pGame = this;
    m_aExtra[iExtra].m_vPosition = vPosition;
    m_aExtra[iExtra].m_vVelocity = vVelocity;

    return iExtra;

}


und sobald der ball nen block trifft:

Quellcode

1
2
3
4
5
6
7
if(tbIntRandom(0, 7) != 0)
                        {
                            m_pGame->CreateExtra(m_vPosition,
                                                 tbVector3(0.0f, 0.0f, -9.0f));

                            m_pGame->m_fExtraTime = 10.0f;
                        }


sollte eigenlich funzen...irgendwie komisch

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

38

05.07.2004, 17:56

Also wenn der in den 1. block reingeht weiß ich es auch nicht......

39

05.07.2004, 19:03

geht nicht rein...hab debuggt und da ne haltemarke gesetzt aber ist halt nie erreicht worden...

aber ich glaube es gibt hier noch mehr leute die mir das prob sofort lösen können...also schreibt hier rein ihr säcke :D :huhu:

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

40

05.07.2004, 20:06

ALso liegt der fehler ja daran das nie m_aExtra[8].m_bActive == TRUE erfüllt wird. Also dazu mehr infos........

Werbeanzeige