Expecting EndIf
Übersicht

![]() |
BastianABetreff: Expecting EndIf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ahoi,
ich möchte mit folgendem Code ein 3D Objekt nach Tastendruck bewegen bis zu einer bestimmten Koordinate und einen Sound abspielen, und bei erneuten Tastendruck wieder zurück. Allerdings bekomme ich als Fehlermeldung "Expecting EndIF". Ich weiß nicht an was das liegt, was mache ich falsch? Code: [AUSKLAPPEN] ... door_1l_1 = LoadMesh("Typ-A\door.3DS", Metro) PositionEntity door_1l_1, -1.0825, 1.6348, 0 ... TAuf = LoadSound ("Sounds\TAuf.wav") TZu = LoadSound ("Sounds\TZu.wav") ... While Not Keyhit (1) If KeyHit(79) And EntityZ# (door_1l_1, 1) < 5 Then MoveEntity door_1l_1 0,0,0.05 channelID3 = PlaySound (TAuf) EndIf If KeyHit(79) And EntityZ# (door_1l_1, 1) > 0 Then MoveEntity door_1l_1 0,0,-0.05 channelID4 = PlaySound (TZu) EndIf ... |
||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schaue dir die Zeile genau an!
Was fällt dir auf? Ich sehe dort, dass du Kommas vergessen hast. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
BastianA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, es geht jetzt. Ich möchte allerdings 24 Türen öffnen, wie auf der Skizze. Je Wagen 6 Türen, mit je 2 Türflügeln. Heißt 48 Türflügel, wobei immer 12 Parent eines Wagens sind. Gibt es da eine einfachere Möglichkeit das zu bewerkstelligen, als so? Das Beispiel ist für einen Türflügel, geht auch, aber kann man das nicht irgendwie mit irgendwelchen Strukturen einfacher lösen?
Code: [AUSKLAPPEN] If doors# > 1 And doors# < 2 And EntityZ# (door_1l_1, 1) < 5 Then MoveEntity door_1l_1, 0,0,0.05 channelID3 = PlaySound (TAuf) EndIf If doors# < 1 And EntityZ# (door_1l_1, 1) > 0 Then MoveEntity door_1l_1, 0,0,-0.05 channelID4 = PlaySound (TZu) EndIf ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie kommst du auf 48...? Aber ja: Struktur ist, was du brauchst. Tausend einzelne Variablen a lá "door_1l_1" helfen dir nicht weiter.
Types - Jeder Waggon als ein Objekt mit fields für die Türen / (noch besser: Blitzarray) BlitzBasic: [AUSKLAPPEN] Type TWaggon Am besten schaust du dir ein paar Type-Tutorials an. |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
BastianA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe jetzt alle Türen in 2 Verschiedene .3ds gespeichert, aber erstmal gehts mir ums das Eine. Die Tür muss -0.04 m nach X und 1m nach +Z verschoben werden. Allerdings wenn ich die Taste drücke, bewegt sich meine Tür 90Grad entgegen die Metro, die Türen sind allle Childs von Metro.
Code: [AUSKLAPPEN] doors1 = LoadMesh("Typ-A\doors1.3DS", Metro) PositionEntity doors1, 0, 0, 0 TAuf = LoadSound ("Sounds\TAuf.wav") TZu = LoadSound ("Sounds\TZu.wav") While Not Kyyhit(1) If KeyHit(79) Then doors# = doors# + 1 EndIf If doors# = 1 Then If EntityX# (doors1, 1) < -0.4 Then MoveEntity doors1, -0.01,0,0 EndIf If EntityZ# (doors1, 1) < 1 Then MoveEntity doors1, 0,0,0.05 EndIf EndIf If doors# = 0 Then If EntityX# (doors1, 1) > 0 Then MoveEntity doors1, 0.01,0,0 EndIf If EntityZ# (doors1, 1) > 0 Then MoveEntity doors1, 0,0,-0.05 EndIf EndIF If doors# > 1 Then doors# = 0 EndIf Ich weiß nicht wo ein Fehler liegt?? Anfangs sind meine Türen an 0,0,0 beim Parent-Objekt, doch wenn ich dann die Taste drücke, bewegen sie sich 50m nach Hinten, auf die Absolute Koordinate 0,0,0 und wenn ich dann die Taste drücke, geht es so wie ich es will, nur an der Absoluten Koordinate, dabei ist mein Türobjekt Child von der Metro. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group