Type Probleme

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Black Spider

Betreff: Type Probleme

BeitragSo, Jan 01, 2006 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Leute,
hab n Problem mit Types, will eine Allgemeine Objktsetzfunktion machen,
doch da hakts:
BlitzBasic: [AUSKLAPPEN]
Type objekt

Field id
Field obj
Field textur
Field texgr
Field objgr
Field etype

Field masse
Field reibung

Field status
Field status2
Field attacke, angriff
Field wurf

Field ex, ey, ez
Field wi, b, g, bb
Field st, sx, sy
Field s, t, wd

End Type
;... inner Haupschleife ...

If KeyHit(48) Then TypeSetzen(1, nv, 1, \"Text/Rauh03.jpg\", 9, 9, type_objekte, 9, 2, EntityX(piv), EntityY(piv), EntityZ(piv))
;--- die Funktion ---
Function Typesetzen(id#, objekt$, mesh#, textur$, texgr#, objgr#, ent$, masse#, reibung#, ox, oy, oz)

o.objekt = New objekt

o\id = id#

Select mesh#

Case 1
o\obj = CreateSphere(9)
o\textur = LoadTexture(textur)
EntityTexture o\obj, o\textur
ScaleEntity o\obj,objgr,objgr,objgr
EntityType o\obj, ent$
EntityRadius o\obj, objgr

Case 2
o\obj = CopyEntity(objekt)

End Select

o\masse = masse#
o\reibung = reibung#

;--- benötige Variablen für den Wurf ---

o\b = 3*t
o\bb= 3
o\g = -9.81*t
o\wi= 45
o\wd = EntityY(o\obj)+100
te = 2 * (f\bb*(Sin(f\wi) / f\g))
o\eX = f\bb * t * Cos(f\wi)
o\eY = f\bb * t * Sin(f\wi) - (f\g / 2)
o\eZ = 0 / (f\b * (Sin(f\wi) / f\g))
o\st = f\bb * Sin(f\wi) - f\g

;---
PositionEntity o\obj, ox, oy, oz



End Function

ich check echt nicht warum...
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Mr.Keks

BeitragSo, Jan 01, 2006 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
es wäre unheimlich hilfreich, wenn der code eingerückt wäre und du zumindest ansatzweise nennen würdest, was passieren soll und was stattdessen passiert. genial wären auch kommentare, was ein codeabschnitt bewirken soll, zumal die nomenklatur nicht ganz klar is. ich könnte jetzt raten, was du machen willst, aber das wäre sinnlos ^^.

wenn ich das richtig sehe, dann hast du eine funktion, die ein objekt erstellen soll. ok, aber was geht schief? wird keins erstellt oder was?

was bestimmt nicht dein problem ist, aber mir auffällt: die variablentypen bei den funktionsparametern sind irgendwie sinnlos ^^


woher kommen eigentlich die ganzen "f"s?
Code: [AUSKLAPPEN]
te = 2 * (f\bb*(Sin(f\wi) / f\g))
o\eX = f\bb * t * Cos(f\wi)
o\eY = f\bb * t * Sin(f\wi) - (f\g / 2)
o\eZ = 0 / (f\b * (Sin(f\wi) / f\g))
o\st = f\bb * Sin(f\wi) - f\g
MrKeks.net

Black Spider

BeitragSo, Jan 01, 2006 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
oh... *butch*, sorry okay:
Ich hatte voher einen Objekttype der eine FeuerBombe komplett mit allem PiPaPo erstellt.
Ich wollte den Type jetzt verallgemeinern, sodass,
ich nur die Funktion aufrufen muss, und mein Objekt wird erstellt.
Dabei wird die Id gecheckt, und das Objekt ist dann entweder ein Gebäude, ein einfaches Objekt oder eine Waffe.
Dadurch brauch ich nicht so viele Types für jedes einzelne Objekt.

Da ich meine Objekte gerne mathematisch korrekt nach Wurfparabel fliegen lasse,
und ich keinen Bock hatte das alles nochmal auf mein Objekt zu übertragen,
hab ich das Codestück von der FeuerBombe, aus voherigen Codeansätzen, genommen.

hab´ dann nur vergessen n paar Variablennamen zu ännern.
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif
 

BIG BUG

BeitragSo, Jan 01, 2006 23:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit dem Wurf ist Schmarrn und lässt sich viel leichter lösen -> Suche.
Ansonsten scheinen die Variablentypen eher zufällig gewählt zu sein???
Sowohl id, objekt, mesh und ent sollten in der Funktion alles Integer(ohne #(Float) und $(String)) sein.

Achso: den Objekttyp solltest Du natürlich als Konstante machen, damit man auch später noch versteht was Sache ist und Verwechslungen vermieden werden:
z.B.
Code: [AUSKLAPPEN]

  Const OBJ_PLAYER       = 0
  Const OBJ_ROCK         = 1
  Const OBJ_FLINTSTONE   = 2
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group