Schuss *noch nicht erledigt*

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Mez_K

Betreff: Schuss *noch nicht erledigt*

BeitragDi, Mai 31, 2005 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
So schuat's aus:

ich hab 'ne kugel <-- das ist der player
einen mauszeiger <--- das ist das fadenkreutz
das level <--- wird "gepitcht"
eine box die als provisorischer schuss dienen soll

jetzt möchte ich das so machen das einschuss an den playercoordinaten erstellt wird und dann dahin fliegt wo der mauszeiger druf zeigt.

nur das funst nicht so ganz, (bei veränderung des yaw's -->) manchmal funst es manchmal nicht...

hier mein code (nicht der ganze, nur die schussberechnung:)

BlitzBasic: [AUSKLAPPEN]
CameraPick (cam,320,240) ; punkt auf dem die Maus zeigt ausfindig machen und...

py# = PickedY ()
pz# = PickedZ ()

ey# = EntityY (kugel)
ez# = EntityZ (kugel)

tan1# = py# - ey#
tan2# = pz# - ez#

winkel# = ATan#(tan1#/tan2#) ; ...winkel berechnen

If MouseDown(1) Then ; Bei betätigung der Maustaste1 Box ausrichten und auf der Z-Achse immer +1 bewegen
RotateEntity box,winkel#,EntityYaw(kugel),0,1
MoveEntity box,0,0,1
Else
PositionEntity box,EntityX (kugel),EntityY (kugel),EntityZ (kugel) ; Wenn die Taste nicht gedrückt wird Box zur Kugel zurückgebeamt
EndIf
  • Zuletzt bearbeitet von Mez_K am Di, Mai 31, 2005 17:15, insgesamt 2-mal bearbeitet
 

E. Urbach

ehemals "Basicprogger"

BeitragDi, Mai 31, 2005 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Was funktioniert denn nicht?
Also ich würd gern den ganzen Code sehen.

EDIT: Hast du das absichtlich gemacht, dass wenn man die Maus loslässt, dass dann der Schuss automatisch wieder bei der Kugel ist? So, wie bei Rayman mit dem Ball? Ich denke mal du hattest vor, dass wenn man die Maus 1 drückt, dass ein Schuss fliegt, oder (mit Munition und so.)? Sonst würde ich das Drücken der Maus in einer Variable speichern, weil MouseDown(1) wird ja wieder auf 0 gesetzt, wenn man die Maus loslässt. Sag mir bescheid, wenn ich irgendwas falsch verstanden hab!
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

Ornos

BeitragDi, Mai 31, 2005 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
für mich siehts auch so aus, als wenn das ein enterhacken oder sowas werden soll, wenn nicht must du das moveentity aus der if schleife nehmen
Projekt: Dash Off & DO - Times
Status: a0.6 & b0.7
http://www.dashoff.de.vu

Mez_K

BeitragDi, Mai 31, 2005 14:24
Antworten mit Zitat
Benutzer-Profile anzeigen
... was denkt ihr von mir... 8)
das hab ich ja nur so zum testen gemacht... <---!
...sonst hätt ich erst ma types machen müssen usw.
...wollt erst mal das das so klappt



bitteschon der herr:

(hab aba den Sprung rausgenommen ---> kein open source Very Happy )
BlitzBasic: [AUSKLAPPEN]

Graphics3D 640,480,0,1

Global sprung,grav#

kugel = CreateSphere (32)
MoveEntity kugel,5,8,-5
EntityType kugel,1

cam = CreateCamera (kugel)
MoveEntity cam,0,8,-3
RotateEntity cam,40,0,0
TurnEntity kugel,0,180,0

level = LoadMesh (\"map1.x\")
ScaleEntity level,0.05,0.05,0.05
EntityType level,2
EntityPickMode level,2

box = CreateCube ()
EntityColor box,255,0,0

Repeat

CameraPick (cam,320,240) ; punkt auf dem die Maus zeigt ausfindig machen und...

py# = PickedY ()
pz# = PickedZ ()

ey# = EntityY (kugel)
ez# = EntityZ (kugel)

tan1# = py# - ey#
tan2# = pz# - ez#

winkel# = ATan#(tan1#/tan2#) ; ...winkel berechnen

If MouseDown(1) Then ; Bei betätigung der Maustaste1 Box ausrichten und auf der Z-Achse immer +1 bewegen
RotateEntity box,winkel#,EntityYaw(kugel),0,1
MoveEntity box,0,0,1
Else
PositionEntity box,EntityX (kugel),EntityY (kugel),EntityZ (kugel) ; Wenn die Taste nicht gedrückt wird Box zur Kugel zurück
EndIf


If KeyDown(17) Then ;nach vorn
winkelentity = EntityPitch (kugel)
RotateEntity kugel,0,EntityYaw (kugel),0
MoveEntity kugel,0,0,1
RotateEntity kugel,winkelentity,EntityYaw (kugel),0
EndIf
If KeyDown(31) Then ;nach hinten
winkelentity = EntityPitch (kugel)
RotateEntity kugel,0,EntityYaw (kugel),0
MoveEntity kugel,0,0,-1
RotateEntity kugel,winkelentity,EntityYaw (kugel),0
EndIf
If KeyDown(32) Then MoveEntity kugel,1,0,0 ;nach rechts
If KeyDown(30) Then MoveEntity kugel,-1,0,0 ;nach links

TurnEntity kugel,MouseYSpeed(),-1*MouseXSpeed(),0 ; Je nach Mausveränderung kugel ausrichetn
RotateEntity kugel,EntityPitch (kugel),EntityYaw (kugel),0 ; Z - Rotation verhindern, auf 0 stellen

MoveMouse 320,240

Collisions 1,2,2,2

UpdateWorld
RenderWorld

Plot 320,240

Flip

If KeyDown(1) Then End

Forever


und nicht vergessen zu "Yawen" (= in der yaw achse drehen)!
und das level is klar---> www.loxe.de/map1.rar

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group