Type für 3D-Editor

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

TheMuffi

Betreff: Type für 3D-Editor

BeitragSa, Aug 28, 2010 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

ich habe das forum schon durchsucht, aber nichts entsprechendes gefunden
also fange ich hier an:

ich wollte mich mal an einem kleinen 3d-editor versuchen, bin aber eigentlich noch ein noob in sachen types. grundlegend kenn ich types ja und hab es daher erstmal so gemacht:
BlitzBasic: [AUSKLAPPEN]
Type baustein
Field x
Field y
Field z
Field obj
End Type

;//in der Schleife:
Function Editor()

Local Stein.baustein

While Not ende=1

bausteinx = EntityX(Stein)
bausteiny = EntityY(Stein)
bausteinz = EntityZ(Stein)
enter = KeyHit(57)

If enter Then ErstelleStein(bausteinx,bausteiny,bausteinz)

ZeichneSteine()


UpdateWorld
RenderWorld
Flip
Wend

End Function


praktisch noch wie in 2d....
sobald ich enter drücke baut er "im hintergrund" den stein da hin und mit ZeichneSteine() malt er alle Steine Idea
BlitzBasic: [AUSKLAPPEN]
Function ErstelleStein(x,y,z)
Local Stein.baustein = New baustein
Stein\x = x
Stein\y = y
Stein\z = z
;um den rest von Stein\... kümmere ich mich noch nicht
End Function

BlitzBasic: [AUSKLAPPEN]
Function ZeichneSteine()
Local Stein.baustein
For Stein = Each baustein

PositionEntity Stein, Stein\x, Stein\y, Stein\z ;<==

Next
End Function

nur wie mache ich das nun in ZeichneSteine()?
Bei PositionEntity hier kommt bei mir Illegal Type Conversion!

ich hoffe jemand hat mich verstanden und kann mir erklären, was ich machen muss

MfG TheMuffi

Tennisball

BeitragSa, Aug 28, 2010 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
For Stein = Each baustein

PositionEntity Stein, Stein\x, Stein\y, Stein\z


Jetzt solltest du deinen Fehler sehen.

Xeres

Moderator

BeitragSa, Aug 28, 2010 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
In 3D muss man überhaupt nichts ständig "zeichnen" - einmal Positionieren reicht, dass muss nicht in einer Schleife geschehen.
Und wie Tennisball markiert hat: Eine Type-Instanz ist kein Entity.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

TheMuffi

BeitragSa, Aug 28, 2010 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
also brauch in die funktion eigentlich einfach nur

local Stein.baustein
PositionEntity Stein, Stein\x, Stein\y, Stein\z

zu schreiben, wenn ich das richtig verstanden habe

Xeres

Moderator

BeitragSa, Aug 28, 2010 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, einmal Positionieren reicht, aber nein: Stein kann nicht gleichzeitig zum Type "baustein" gehören und ein Entity sein. Dazu solltest du ein zusätzliches Field verwenden.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

TheMuffi

BeitragSa, Aug 28, 2010 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry, aber da stell ich mich jetzt etwas doof an
durch ein weiteres field bleibt es doch trotzdem noch ein baustein

Tennisball

BeitragSa, Aug 28, 2010 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
local Stein.baustein
PositionEntity Stein\obj, Stein\x, Stein\y, Stein\z

Xeres

Moderator

BeitragSa, Aug 28, 2010 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein - x,y,z sind doch auch zahlen, nicht einfach "Stein".
Das Entity muss doch ein Objekt in der 3D Welt sein - und so ein Objekt musst du Laden und mit dem Type verarbeiten. Zum Testen z.B. Stein\Objekt = CreateCube in der ErstelleStein Funktion.
Das ist dann ein Entity, und das kannst du auch irgendwo platzieren.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

TheMuffi

BeitragSa, Aug 28, 2010 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
verstehe
eigentlich ja klar !?!!! Rolling Eyes

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group