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

1

17.02.2007, 15:28

Video abspielen

Hi

also ich hab jetzt mal versucht in mein spiel als intro ein film einzubauen. d.h. wenn man des spiel startet läuft erst ein film ab. so des mit dem film abspielen funktioniert also ich hab des wie im 9. kapitel im buch gemacht jetzt hab ich des problem, dass ich immer wenn ich des intro abbrech d.h. wenn ich die anwendung während des intros schließ eine fehler meldung bekomm : unbehandelte ausnahme ... deswegen kann ich auch keinen übergang vom intro zum menu machen, da des spiel jedes mal abstürtzt ich hab auch bemerkt dass der selbe fehler auftritt wenn ich des bespielprogramm aus kapitel 9 abspiel .... plz help

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

2

17.02.2007, 16:16

Fang die Ausnahme doch erstmal ab um zu sehen was schiefläuft ;) Wenn dir das Stichwort "Ausnahme" nix sagt dann google doch mal nach "Exception Handling".

3

18.02.2007, 12:36

ich hab keine ahnung an was des liegt :( des hat glaub ich irgendwas damit zu tun, dass ich da speicher reserviert hab oder so aber des müsste daran liegen dass ich des ganze am ende nicht mehr richtig frei geb weil des video ja einwandfrei abläuft bis ich des ganze halt schließ außerdem isses irgendwie komisch, dass sogar bei davids beispiel in kapitel 9 des selbe problem auftritt ....

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

4

18.02.2007, 12:49

Ja was sagt denn nu die Exception? Fang mal ab und poste sie zur Not hier rein wenn du nicht weiterkommst. Oder poste wenigstens mal Quellcode, will jetzt nicht gerade das Buch herauskramen ...

5

18.02.2007, 12:54

also erst heißts:

Unbehandelte Ausnahme bei 0x7c911230 in Hotel.exe: Benutzerhaltepunkt.

dann wenn ich auf weiter klick:

Debug Assertion Failed
File dbgheap.c
Line 1132

Expression: _CrtIsValidHeapPointer(puserDate)

ich hoff des meintest du grad ...

7

18.02.2007, 13:24

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
#include "Hotelmain.h"


//---------------------------------------------------

struct SVertex
{
    tbVector3           vPosition;
    float               fRHW;
    tbVector2           vTexture;
    static const DWORD  dwFVF;
};

const DWORD SVertex::dwFVF = D3DFVF_XYZRHW | D3DFVF_TEX1;

//----------------------------------------------------

// Initialisiert den Spielzustand

tbResult CIntro::Init()
{
    // Laden...

    if(Load()) TB_ERROR("Fehler beim Laden des Spielzustands!", TB_ERROR);

    m_pVideo->Play(FALSE);
    
    
    return TB_OK;
}
//--------------------------------------------------

// Fährt den Spielzustand herunter

tbResult CIntro::Exit()
{
    // Entladen...

    Unload();

    return TB_OK;
}


    
//---------------------------------------------------------------

// Lädt den Spielzustand

tbResult CIntro::Load()
{
    m_pVideo = new tbVideo;
    if(m_pVideo->Init("Intro.avi", TRUE))
    {
        TB_ERROR("Fehler beim Laden vom Intro!", TB_ERROR);
    
    }
    
    return TB_OK;
}
//-------------------------------------------------

// Entlädt den Spielzustand

tbResult CIntro::Unload()
{

TB_SAFE_DELETE(m_pVideo);

    return TB_OK;
}



//--------------------------------------------------

tbResult CIntro::Move(float fTime)
{

m_pVideo->Process();


if(!m_pVideo->IsPlaying())
{
    g_pHotel->SetGameState(GS_MENU);

}


    return TB_OK;
}
//-------------------------------------------------

tbResult CIntro::Render(float fTime)
{
    
SVertex aVertex[4];

// Die Szene beginnen

    tbDirect3D& D3D = tbDirect3D::Instance();
    D3D->BeginScene();

    // ------------------------------------------------------------------


    // Vertexformat und Videotextur setzen, Z-Buffer aus

    D3D.SetFVF(SVertex::dwFVF);
    D3D.SetTexture(0, m_pVideo->GetRenderer()->GetTexture());
    D3D.SetRS(D3DRS_ZENABLE, D3DZB_FALSE);

    // Die vier Vertizes erstellen (Rechteck)

    // Links unten

    aVertex[0].vPosition = tbVector3(0.0f, D3D.GetScreenSize().y, 0.5f);
    aVertex[0].fRHW = 1.0f;
    aVertex[0].vTexture = tbVector2(0.0f, m_pVideo->GetRenderer()->GetBottomRightTex().y);

    // Links oben

    aVertex[1].vPosition = tbVector3(0.0f, 0.0f, 0.0f);
    aVertex[1].fRHW = 1.0f;
    aVertex[1].vTexture = tbVector2(0.0f, 0.0f);

    // Rechts unten

    aVertex[2].vPosition = tbVector3(D3D.GetScreenSize().x, D3D.GetScreenSize().y, 0.5f);
    aVertex[2].fRHW = 1.0f;
    aVertex[2].vTexture = m_pVideo->GetRenderer()->GetBottomRightTex();

    // Rechts oben

    aVertex[3].vPosition = tbVector3(D3D.GetScreenSize().x, 0.0f, 0.5f);
    aVertex[3].fRHW = 1.0f;
    aVertex[3].vTexture = tbVector2(m_pVideo->GetRenderer()->GetBottomRightTex().x, 0.0f);

    // Als Dreiecksfolge zeichnen

    D3D->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, aVertex, sizeof(SVertex));

    // ------------------------------------------------------------------


    // Szene beenden

    D3D->EndScene();

    m_pVideo->NextFrame();

    return TB_OK;
}

Firefly

Alter Hase

Beiträge: 484

Wohnort: Irgendwoundnirgendwo

  • Private Nachricht senden

8

19.02.2007, 11:31

Zitat

m_pVideo->NextFrame();


übergibst du eigentlich am anfang schon ein frame?

9

19.02.2007, 13:51

da das der gesamte quelltext zu dem problem is anscheinend nicht :)

ich habs halt nur wie gesagt von dem beispiel in kapitel 9 übernommen

muss ma auch am anfang ein frame übergeben ?!

Firefly

Alter Hase

Beiträge: 484

Wohnort: Irgendwoundnirgendwo

  • Private Nachricht senden

10

19.02.2007, 16:15

Zitat

muss ma auch am anfang ein frame übergeben ?!


was soll denn wenn nichts übergeben wurde gerendert werden?

Werbeanzeige