Steuerung im Weltall
Übersicht

gigiBetreff: Steuerung im Weltall |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie ist sowas halbwegs Realistisch umzusetzen?
Meine jetzige Steuerung ist für den *****. Code:Code: [AUSKLAPPEN] If EntityDistance(cam,r1)<10 And KeyDown(28) Then
PositionEntity cam,EntityX(r1),EntityY(r1)+20,EntityZ(r1) PositionEntity r1,15,0,-130 EntityParent(cam,r1) player=r1 EndIf If player=r1 Then PositionEntity cam,EntityX(r1),EntityY(r1)+20,EntityZ(r1) EndIf If KeyDown(30) And player=r1 Then TurnEntity player,0,1,1 EndIf If KeyDown(32) And player=r1 Then TurnEntity player,0,-1,1 EndIf If KeyDown(31) And player=r1 Then MoveEntity player,0,0,3 EndIf If KeyDown(17) And player=r1 Then MoveEntity player,0,0,3 EndIf Die Kamera macht was sie will und das Raumschiff sowieso...Aber warum? (r1 ist das Raumschiff) mal ist die Kamera neben dem Raumschiff, mal darin u.s.w... Danke im vorraus!!! |
||
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185 |
codie |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mx#=0
my#=0 ;---------------------- While Not KeyHit(1) mx=mx-MouseXSpeed()/200.0 my=my+MouseYSpeed()/200.0 MoveMouse 1024/2,768/2 mx=mx*.99 my=my*.99 TurnEntity raumschiff,my,mx,0 so würds ichs machen dann noch parent und ne kleine drehung für das raumschiff wenn man nach oben unten rechts und links fliegt hoffe ich konnte helfen mfg |
||
Wer bist zum Hals in der Scheiße steckt sollte den Kopf nicht hängen lassen. |
![]() |
biggicekeyBetreff: Re: Steuerung im Weltall |
![]() Antworten mit Zitat ![]() |
---|---|---|
gigi hat Folgendes geschrieben: Die Kamera macht was sie will und das Raumschiff sowieso...Aber warum? weil du erstmal programmieren lernen solltest. das kann doch nicht dein ernst sein ich versteh garnicht was du dir dabei denkst. ein ansatz für eine raumschiffsteuerung ist jawohl nicht die welt: edit: oh hab gerade gesehen es war jemand schneller. dabei wäre noch zu das ich eine variable für den schub nach vorn machen würde. diese lässt sich dann per tastendruck erhöhen/senken. und entsprechend der variable wird das schiff nach vorne bewegt. und die kamera reicht wenn du sie beim erstellen an das raumschiff heftest per parent und dann etwas nach hinten verschiebst. |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
gigiBetreff: das is besser |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das is besser, aber die Kamera tut weiterhin was sie will... | ||
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185 |
Beatenvoy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aber bestimmt erst ab einen bestimmten Winkel!
soll das eine Bewegung im Freien Raum werden? Wenn ja, dann musst du mit Sin und Cos arbeiten, aber keine ahnung ob Blitz3D einen eigenen Befehl hat, der das möglich macht. Ich als GLBasic geschädigter muss immer SIN und COS dafür anwenden. |
||
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
camera=createcamera(raumschiff)
moveentity camera,0,5,-15 fertig. schon hängt die kamera hinter deinen raumschiff und macht nicht was sie will. die werte musst du natürlich anpassen. ist natürlich auch keine camera die smooth auf das raumschiff pointet aber für deine ansprüche und das was du so zeigst ist es mehr als genug. |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
gigiBetreff: Halt ma die Klappe du biggic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@biggicekey: Halt doch mal deine Klappe anstatt mich hier so zu beleidigen.
Der Lösungsvorschlag kam ja extrem spät, nach den ganzen Beleidigungen. ![]() irgendwohin.Und ja, ich habe schonma eine(schlechte) Autophysik mit schnellerwerden und ausrollen gemacht. @Beatenvoy and all others:Ja, im freien Raum wobei ich dennoch überlege die Kamera auf einer Ebene zu lassen. Das einzige Problem jetzt ist das mit der Kamera die macht was sie will...Geschwindigkeit steigt und sinkt jetzt übrigens. ![]() Edit: BeiCode: [AUSKLAPPEN] EntityParent(r1,cam) kam "Entity cannot be parented by itsself"
soll das heißen r1(Raumschiff1) und die cam werden als dasselbe Entity angesehen? |
||
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185 |
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
du versuchst das raumschiff an die camera zu hängen.
scheinbar hägt die kamera aber bereits am raumschiff. deshalb wäre es dann "parented by itself". wie gesagt einmal die kamera an das raumschiff hängen und ausrichten reicht. danach einfach nichtmehr die kamera extra bewegen. das die kamera sich dann noch verschiebt ist nicht möglich. ich frage mich wie du die kamera bei deiner autophysik positioniert hast. |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
gigiBetreff: da klappts |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da klappts, kannst es ja ausprobieren.
Der gesamte(noch winzige)Code:Code: [AUSKLAPPEN] Graphics3D 800,600,32,1
SetBuffer BackBuffer() AppTitle ("Handel des Imperiums") AmbientLight 155,155,165 hangar=LoadMesh("Haupthangar.3ds") automat=LoadMesh("automat1.3ds") s1=LoadMesh("S1.3ds") r1=LoadMesh("R1.3ds") s2=LoadMesh("S2.3ds") s3=LoadMesh("S3.3ds") p1=CreateSphere(15) MoveEntity p1,0,0,-1500 ScaleEntity p1,100,100,100 EntityType p1,2 EntityAlpha s3,0.5 MoveEntity s3,-45,0,50 MoveEntity s2,30,-3,-150 RotateEntity s2,0,45,0 EntityType s2,2 MoveEntity r1,15,0,-75 ScaleEntity r1,3.5,3.5,3.5 RotateEntity r1,0,180,0 EntityType r1,1 MoveEntity s1,-30,-3,-150 RotateEntity s1,0,-45,0 EntityType s1,1 mx#=0 my#=0 MoveEntity automat,-13.5,-10,10 ScaleEntity automat,3,4,3 EntityType automat,2 MoveEntity hangar,0,-10,0 cam=CreateCamera() EntityType hangar,2 EntityType cam,1 player=cam licht=CreateLight(1) MoveEntity licht,0,0,0 EntityRadius cam,3 LightRange licht,50 HideEntity r1 ;--------------Hauptschleife-------------------------------------------------------------------------------------------- While Not KeyHit(1) If EntityDistance(cam,r1)<10 And KeyDown(28) Then Delay 500 EntityParent(cam,r1) PositionEntity cam,EntityX(r1),EntityY(r1)+30,EntityZ(r1) player=r1 EndIf If player=r1 Then EntityParent(cam,r1) mx=mx-MouseXSpeed()/200.0 my=my+MouseYSpeed()/200.0 MoveMouse 1024/2,768/2 mx=mx*.99 my=my*.99 TurnEntity r1,my,mx,0 EndIf If player=r1 Then PositionEntity cam,EntityX(r1),EntityY(r1)+20,EntityZ(r1) EndIf If KeyDown(30) And player=r1 Then TurnEntity player,0,1,0 EndIf If KeyDown(32) And player=r1 Then TurnEntity player,0,-1,0 EndIf If KeyDown(31) And player=r1 Then MoveEntity player,0,0,3 EndIf If KeyDown(17) And player=r1 Then MoveEntity player,0,0,3 EndIf If EntityDistance(cam,hangar)<35 And player=cam Then MoveEntity cam,0,-0.4,0 EndIf If EntityDistance(cam,hangar)>100 Then PositionEntity cam,0,0,0 EndIf If KeyDown(30) And player=cam Then TurnEntity player,0,1,0 EndIf If KeyDown(32) And player=cam Then TurnEntity player,0,-1,0 EndIf If KeyDown(31) And player=cam Then MoveEntity player,0,0,-0.4 EndIf If KeyDown(17) And player=cam Then MoveEntity player,0,0,0.4 EndIf Collisions 1,2,2,2 UpdateWorld RenderWorld If EntityDistance(cam,automat)<10 Then Text 100,100,"Kaufen?" EndIf If EntityDistance(cam,automat)<10 And KeyDown(28) Then ShowEntity r1 Delay 200 EndIf If EntityDistance(cam,hangar)>80 And player=cam Then Text 100,100,"Sofort umkehren!Gefahr!!!" EndIf Flip Wend End Ich finde das Problem nicht... |
||
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185 |
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
zunächst mal lässt sich dein code ohne die modelle schlecht testen. habe mal spheres erstellt als ersatz aber ich denke mal man soll im haupthanger drinn sein.
der code lässt sich ausführen und man kann sich bewegen. ist dein problem nur das man das raumschiff nicht vor der kamera sieht bzw sich das nicht korrekt mitbewegt? ist man mit dem raumschiff im hanger drinn? |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
gigiBetreff: Der Hangar hat 3 Räume |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Hangar hat 5 Räume(eigentlich 6), einmal das Treppenhaus das man auch auf dem Screen sieht, dann die vier Landeplätze und die große Verkaufs-Halle.
Man selbst befindet sich auf dem Gang vom Treppehaus zum Hauptraum,Blickrichtung Hauptraum. Das Raumschiff muss man kaufen, dann wird es sichtbar und kollidiert auch. Das Problem hast du sehr treffend beschieben, bloß das sich die Kamera direkt in das Ding verpflanzt...und dann rechts,und links,und oben,und unten,und hier,und da... |
||
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185 |
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
zufälligerweise habe ich vor 2 wochen schon jemandem gezeigt wie man eine simple raumschiffsteuerung umsetzen könnte.
hier die abgespeckte version. da siehst du auf jedenfall wie einfach das mit der kamera funktioniert steuerung: pfeiltasten+a+y Code: [AUSKLAPPEN] Graphics3D 800,600,32,2 SetBuffer BackBuffer() player=CreateCube();;;;;;;;;;;;;spieler/raumschiff erstellen camera=CreateCamera(player);;;;;;;;camera erstellen und an spieler hängen MoveEntity camera,0,3,-10;;;;;;;;;;;camera hinter den spieler positionieren planet=CreateSphere() ;;;;;standartplaneten erstellen HideEntity planet;;;;;;;;;;standartplaneten verstecken For x=0 To 100 ;;;;;;;;;;;;;;in einer schleife von 0 bis 100 p=CopyEntity(planet) ;;;;;;;;;;;;;; jeden schleifendurchgang den standartplaneten kopieren (damit man sieht das man sich bewegt) PositionEntity p,Rnd(-500,500),Rnd(-500,500),Rnd(-500,500);;;;;;;;;;;; und zufällig positionieren Next;;;;;;;;;;;;danach While Not KeyHit(1);;;;;;;;; HAUPTSCHLEIFE ;solange nicht escape gedrückt wird If KeyDown(30) And zspeed#<1 zspeed#=zspeed#+.01 EndIf If KeyDown(44) And zspeed#>0 zspeed#=zspeed#-.01 EndIf If KeyDown(203) TurnEntity player,0,1*zspeed#,0 EndIf If KeyDown(205) TurnEntity player,0,-1*zspeed#,0 EndIf If KeyDown(200) TurnEntity player,1*zspeed#,0,0 EndIf If KeyDown(208) TurnEntity player,-1*zspeed#,0,0 EndIf MoveEntity player,0,0,zspeed# ;;; spieler entsprechend der zgeschwindigkeit bewegen UpdateWorld RenderWorld Text 10,10,"Geschwindigkeit: "+zspeed#*100 Flip Wend End |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group