nachdem ich mehrere Tage jetzt schon wieder daran rumgemacht habe, hab ich herausgefunden, dass es an der Game Instanz nich liegt, und hab mal das problem beiseite gelegt....
nun hab ich wieder ein Problem und zwar prüfe ich mein Schuss und die asteroiden auf Kollision, aber wenn ich schieße kommt kein Schuss aus dem Raumschif raus und ein asteroid verschwindet in dem moment. Aber es verschwindet nich ein Asteroid in der Schussbahn sondern irgendwo...
hier mal 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
|
tbResult Projectile::MoveProjectile(float fTime)
{
Game* pGame = g_pClasteroid->m_pGame;
tbVector3 vOldPos;
tbVector3 vCollisionEnd;
tbVector3 vCollision;
CAsteroid* pAsteroid;
SAsteroidType* pAsteroidType;
vOldPos = m_vPosition;
Move(fTime);
m_fLifetime -= fTime;
for(int s = 0; s < 400; s++)
{
pAsteroid = &pGame->m_aAsteroid[s];
pAsteroidType = pAsteroid->m_pType;
if(!pAsteroid->m_bExists) continue;
vCollisionEnd = m_vPosition;
if(m_pType->bIsLaserWeapon) vCollisionEnd += m_vZAxis * m_pType->fLaserLength;
// Trifft die Linie das Schiff?
if(tbLineHitsModel(vOldPos, vCollisionEnd,
pAsteroid->m_pType->pModel[0],
pAsteroid->m_mMatrix,
pAsteroid->m_mInvMatrix,
0,
&vCollision))
{
m_fLifetime = 0.0f;
pAsteroid->m_bExists = false;
break;
}
}
return TB_OK;
}
tbResult Projectile::RenderProjectile(float fTime)
{
if(m_pType->bIsLaserWeapon)
{
if(m_pType->bRenderAsSprite)
{
g_pClasteroid->m_pGame->m_pSprites->AddSprite(m_pType->iLaserSprite,
m_vPosition,
m_pType->LaserStartColor,
tbVector2(m_pType->fLaserRadius),
m_fLifetime * -2.0f);
}
else
{
// Laser-Sprite
g_pClasteroid->m_pGame->m_pSprites->AddLaserSprite(m_pType->iLaserSprite,
m_vPosition,
m_vPosition + (m_vZAxis * m_pType->fLaserLength),
m_pType->fLaserRadius,
m_pType->LaserStartColor,
m_pType->LaserEndColor);
}
}
return TB_OK;
}
|
ich hab echt keine Ahnung an was es liegt und bin grad richitg am verzweifeln...
sagt wenn mehr code erwünscht is oder welchen...
Edit: achja, also ich hab auch noch verschiedene Modelle ausprobiert sogar die vom Galactica Spiel...und es kommt immer wenn er auf kollision prüft ein tbError : "FEHLER: Das Modell hat keine Extradaten!", aber die Modelle werden richtig angezeigt
Und es gibt dann eine Funktion namens "UpdateExtraData", die mir diese extra daten erstellt aber es funktioniert trotzdem nicht und der fehler kommt immer noch....