Panzer steuern
Übersicht

![]() |
peacemakerBetreff: Panzer steuern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich habe ein Sprite.
Öhm nein zuerst mal der Code: Code: [AUSKLAPPEN] Graphics3D 800,600 panzer = LoadSprite ("PANZER2.bmp",4) map1 = LoadSprite ("map1.PNG") SetBuffer BackBuffer() ScaleSprite panzer ,0.1,0.3 ScaleSprite map1 ,5,5 PositionEntity panzer ,0,0,2 PositionEntity map1,2,2,2.5 cam = CreateCamera() Repeat If KeyDown(205) Then RotateSprite panzer ,-MouseX() If KeyDown(203) Then RotateSprite panzer ,2 RotateSprite panzer ,MouseX()-200 If KeyDown(200) Then MoveEntity panzer ,0,EntityPitch(panzer),EntityPitch(panzer) ;MoveEntity cam ,0,0.01,0 EndIf If KeyDown(208) Then MoveEntity panzer ,0,-0.01,0 MoveEntity cam ,0,-0.01,0 EndIf RenderWorld Flip Until KeyHit(1) wie kann ich machen dass, wenn ich KeyDown(200) mache der Panzer in dies Richtung fährt wie er schaut? MfG |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry wegen des Doppeltem Post aber habe vergessen noch zu fragen wieso ich den Panzer nicht drehen kann?
also: Code: [AUSKLAPPEN] If KeyDown(205) then RotateSprite ,2 If KeyDown(203) then RotateSprite , -2 Wenn ich drücke dreht es sich einmal , dann ist fertig. Danke im Vorraus |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
rotate <> turn. rotate gibt den absoluten winkel an, während turn eine veränderung des winkels bedeutet. für sprites gibt es kein turn. der trick sieht also wie folgt aus:
Code: [AUSKLAPPEN] If KeyDown(205) then rotation = rotation + 2
If KeyDown(203) then rotation = rotation - 2 RotateSprite panzer, rotation |
||
MrKeks.net |
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok das geht , danke viel mals. Aber wie geht es das es in seine Blicklrichtung fährt?
MfG |
||
FBI-blitz |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja, ich denke dass du meinst dass die Camera dem Panzer praktisch "hinterher" fährt... gib einfach als Parent für die Camera den Panzer an
Dann musst du aber alles, woe die cam selbst gedreht/bewegt wird raus tun, sonst drehst/bewegst du sie ja doppelt ![]() |
||
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+ Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+ |
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
ganz einfach mit moveentity in die relative z-richtung bewegen. zb:
moveentity panzer,0,0,1 dann bewegt er sich eine längeneinheit nach vorne (z-richtung). |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab ich schon Probiert. Dann wir der Sprite immer kleiner.
MfG |
||
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
oh sorry, habs irgendwie falsch bedacht, du musst ihn natürlich in y-richtung bewegen, sonst bewegst du ihn von dir weg oder zu dir hin,
was dann die wirkung hätte, als würde er größer oder kleiner werden ![]() |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ne ich meine man kann ihn ja drehen (RotateSprite) Aber dann in die richtung fahren in die er schaut. So schaut er nach links fährt aber nach oben. MfG Peacemaker ~EDIT~ noch mehr sinnlose Schriftformatiereungen und ich werde sauer. Jan Kuhnert |
||
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
könnte es sein, dass das bild seitlich ist? also dass er in der bilddatei nach links oder rechts schaut und nicht nach oben?
dann musst du es nämlich in x-richtung bewegen ![]() kannst du sowas denn nicht selber ausprobieren?? ![]() |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
ein sprite, hat keine rotation, wenn mann sie Standart lässt --> selber mitrechnen und dann mit sin + cos die Bewegung ausrechnen | ||
between angels and insects |
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Öhm... wie würde das aussehen?
MfG |
||
Shark |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Falls es ein Spiel von der Vogelperspektive ist dann könntest du es so lösen.
Steuerung Code: [AUSKLAPPEN] If KeyDown(200) Then RotateSprite Tank,0 ElseIf KeyDown(203) Then RotateSprite Tank,90 ElseIf KeyDown(205) Then RotateSprite Tank,270 ElseIf KeyDown(208) Then RotateSprite Tank,180 EndIf mfg Shark |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jaja dass schon. Aber wie mache ich es dass er in die richtung fährt in die er schaut??
MfG |
||
Shark |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe in mein anderem Post schon ein Code dazu getan, der eigentlich
diese Frage schon beantwortet: Also falls dein Tank nach Rechts fährt machst du einfach RotateSprite Tank,270 Nach Links RotateSprite Tank,90 usw. Ich hoffe, dass es dir geholfen hat. mfg Shark |
||
Darren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jan_ hat Folgendes geschrieben: ein sprite, hat keine rotation, wenn mann sie Standart lässt --> selber mitrechnen und dann mit sin + cos die Bewegung ausrechnen
Da steht doch schon die richtige Antwort ![]() Für einen Programmierer sind die drei Winkel-Funktionen unerlässlich ![]() |
||
MFG Darren |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja, Tan kann mann durch sauberes Speichern in 05% der fälle umgehen. | ||
between angels and insects |
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Öhm ja das habe ich mir gedacht. Aber die Sin und Cos haben wir in der Schule nocht nicht durchgenommen.
MfG |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
die onlineHilfe hat Beispiele parat und das Internet quillt über mit Informationen dazu. Du musst ja nicht wissen wie man den Sinus beweist, es reicht wenn Du ihn anwenden lernst. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group