Zylinder am Ende Positionieren
Übersicht

![]() |
MegamagBetreff: Zylinder am Ende Positionieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo.
Ich habe ein Raumschiff, welches sich um die eigene Achse dreht. An den Kanonen habe ich Pivots. Ich möchte einen Laserstrahl machen, und habe dafür einen seehr langen Zylinder genommen. Jenen will ich aber so positionieren, dass das eine Ende des Lasers am Pivot ist, also dass er aus der Kanone kommt und nicht mit seinem Mittelpunkt in der Kanone hängt. Dann will ich auch noch, dass der Laser sich um den "Kanonenpivot" dreht, wenn man ihn dreht. Das Problem ist nun, wie ich den Laser genau mit dem Ende an der Kanone platzieren kann. |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] PositionEntity EntityX(pivot),EntityY(pivot),EntityZ(pivot)+MeshDepth(laser_mesh)/2
So ungefähr? Ich hab ehrlich gesagt kA, ob es richtig ist, aber wär mal mein erster Gedanke dazu. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm, ja...
Ich habe unvollständig erklärt. Es ist so, der Shooter ist von der Seite, d.h. der Laser ist um -45° "gerollt" worden. Ich glaube, da geht dann der Code nicht, oder? Ich hab's gerade mal ausprobiert. Ja, es geht nicht... Hier nochmal der Code: Code: [AUSKLAPPEN] Piv1 = CreatePivot()
PositionEntity Piv1,15,0,20 Code: [AUSKLAPPEN] Canpiv7 = CreateSphere()
EntityColor Canpiv7,0,255,255 PositionEntity Canpiv7,21,-3.5,20 EntityParent Canpiv7,Piv1 Canpiv8 = CreateSphere() EntityColor Canpiv8,0,255,255 PositionEntity Canpiv8,20,7.5,20 EntityParent Canpiv8,Piv1 Laser1 = CreateCylinder(32) ScaleEntity Laser1,1,20,1 EntityColor Laser1,0,255,255 EntityAlpha Laser1,0.5 TurnEntity Laser1,0,0,-45 PositionEntity Laser1,EntityX(Canpiv7),EntityY(Canpiv7),EntityZ(Canpiv7)-MeshDepth(Laser1)/2 EntityParent Laser1,Canpiv7 |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch wenn ich jetzt ehrlich gesagt total aussteige was deinen Code angeht oder überhaupt das Problem (Is halt schon spät bzw. bin ich in 3D ned so der Ober-checker), sag ich dir noch was mir auffällt:
MeshDepth ![]() ![]() EDIT: Iwie is meine Formulierung Müll ![]() Die Mesh...-Befehle (MeshWidth, MeshHeight, MeshDepth) werden nicht durch ScaleEntity beeinflusst. In meinem Versuch bleiben Sie immer 2.0, egal wieviel man skaliert. Weil eben das Entity skaliert wird. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, aber das muss doch irgendwie auch mir einem
CreateCylinder-Zylinder gehen. Okay, ich hab's gelöst. Ich habe das einfach manuell gemacht. War zwar umständlich aber hat funktioniert. |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mom... das hab ich auch in meinem alten Onlinegame gemacht.
Wenn du einen Cylinder um 200 skalierst, musst du ihn auf der Achse um 100 mit MoveEntity verschieben. Dann ist das eine Ende des Zylinders immer genau auf der Stelle, wo du ihn haben willst ![]() Also: Weg, der verschoben werden muss=Scale/2 ^^ |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Genau das habe ich auch rausgefunden^^
Danke. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group