Panzer steuern

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

peacemaker

Betreff: Panzer steuern

BeitragSa, Nov 25, 2006 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Nov 25, 2006 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Nov 25, 2006 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Nov 25, 2006 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok das geht , danke viel mals. Aber wie geht es das es in seine Blicklrichtung fährt?



MfG
 

FBI-blitz

BeitragSa, Nov 25, 2006 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink
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

BeitragSa, Nov 25, 2006 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Nov 25, 2006 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich schon Probiert. Dann wir der Sprite immer kleiner.


MfG

sirokuhl

BeitragSa, Nov 25, 2006 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

peacemaker

BeitragSa, Nov 25, 2006 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen

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

BeitragSa, Nov 25, 2006 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Laughing
kannst du sowas denn nicht selber ausprobieren?? Confused

Jan_

Ehemaliger Admin

BeitragSa, Nov 25, 2006 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Nov 25, 2006 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Öhm... wie würde das aussehen?


MfG
 

Shark

BeitragSa, Nov 25, 2006 23:53
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Nov 25, 2006 23:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Jaja dass schon. Aber wie mache ich es dass er in die richtung fährt in die er schaut??




MfG
 

Shark

BeitragSo, Nov 26, 2006 0:02
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSo, Nov 26, 2006 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Rolling Eyes

Für einen Programmierer sind die drei Winkel-Funktionen unerlässlich Wink
MFG Darren

Jan_

Ehemaliger Admin

BeitragSo, Nov 26, 2006 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, Tan kann mann durch sauberes Speichern in 05% der fälle umgehen.
between angels and insects

peacemaker

BeitragSo, Nov 26, 2006 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Öhm ja das habe ich mir gedacht. Aber die Sin und Cos haben wir in der Schule nocht nicht durchgenommen.



MfG

BladeRunner

Moderator

BeitragSo, Nov 26, 2006 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group