raumschiff verfolgung problem
Übersicht

sen-meBetreff: raumschiff verfolgung problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo
ich wollte mal die 3d testen, und hab mir maln raumschiff gesicht (ausm example) und nun will ich es bewegen lassen, aber automatisch (naja man erhöht/vermindert den speed schon!) aba wie soll das gehn? mein code hier: BlitzBasic: [AUSKLAPPEN] Global width=640,height=480,depth=16,mode=1 allerdings rast das zu schnell wenn ich das so mache gibts da ne andre lösung? (die camera bewegt sich nicht, aber nur wegen testen der geschwindichkeit und so, sonst könnte man das nicht einschätzen) |
||
- Zuletzt bearbeitet von sen-me am Mi, Aug 03, 2005 10:23, insgesamt einmal bearbeitet
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
mach aus der integer Variablen speed eine Floatvariable also Speed#. Und dann erhöst du diese nicht um 1 sondern 0.05 oder so. Musst du ausprobieren. Mfg Ebola |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
cooool thx
(hatte ich schon auzsprobirt blos mein verdummtes gehirn hatte vergessen nen float zu amchen, und so rürte sich das raumschiff gar nicht ^^) |
||
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sry für doppelpost aba wenn ich auf edit gehe, wird die seite nicht geladen ![]() naja ich hab jetzt bei der verfolgung des raumschiffs ein problem BlitzBasic: [AUSKLAPPEN] Function Game() aber die camera soll etwas höher sein, und diese höhe nicht verändern (ich weis warum, point setzt ja auf das raumschiff, und somit bewegt es sich vorwärts auf das raumschiff zu, da sie aber nicht schneller als das schiff ist, wird sie genau hinter ihm sitzen) wie ihr seht ist die das raumschiff(-10) auf der Y-Achse 10 nidriger als die camera(0) und dan sollte wens gehen würde so bleiben noch dazu würde ich mal fragen, wie ich das machen könnte wenn ich das raumschiff nach rechts z.b. drehe, das die camera noch etwas von der seite sieht (und nicht wie verbunden hinter ihm sitzt) |
||
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau mal in der Onlinehilfe unter Entityparent, dann kannst du dir diese ganze pointentity Aktion sparen. Wenn dein Raumschiff das Parentobjekt ist und du die Cam als Child dran klatscht dann bewegt sich die Cam schonmal immer automatisch mit dem Raumschiff. Aber du kannst die Cam auch unabhängig vom Raumschiff steuern (das Schiff wird also nicht mit bewegt). Und so gibst du der Cam je nach Drehwinkel oder Richtung einfach ein paar Bewegungen mit . ![]() Mfg Ebola |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und wie mach ich ein fadenkreutz?
(wo es hinschießt) ich hatte das so vor maus steuert das schiff und gleichzeitig ist die maus das fandenkreutz (wie freelancer) 1. wie bewege ich das schiff ich die mausrichtung? (mit begrenzter rotation des schiffes) 2. wie schießt das schiff genau dahin wo das fadenkreutz ist? 3. kann man die geschosse irgendwie begrenzen? (wie weit sie fliegen) wenn ja wie |
||
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1. Du schaust, wie weit die Maus seit dem letzten Schleifendurchlauf in welche Richtung bewegt wurde und drehst das Schiff in diese Richtung.
2. Wenn du das Schiff genau in Richtung Maus ausrichtest und die Schüsse gerade vom Schiff abschießt, sollten sie dahin fliegen, wo du auch hinzielst. 3. Also wirklich... Du speicherst, wo ein Schuss abgeflogen ist, guckst in jeder Runde wie weit entfernt er von dem Punkt ist und wenn er mehr als xx Einheiten weit weg ist, verschwindet er. mfg Dödel |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dödel hat Folgendes geschrieben: 3. Also wirklich... Du speicherst, wo ein Schuss abgeflogen ist, guckst in jeder Runde wie weit entfernt er von dem Punkt ist und wenn er mehr als xx Einheiten weit weg ist, verschwindet er.
Das würde aber bedeuten, daß für jeden aktiven Schuss, zusätzlich zur aktuellen Position auch die Ursprungsposition gespeichert werden muß, und diese dann bei jedem Schleifendurchlauf per Pythagoras (wegen 3D als Qubikwurzel ???) berechnet werden muß. Oder man kann auch einfach die Flugdauer festlegen, und fertig ist. Währe mein Vorschlag... |
||
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wie soll man die berechnen O.o
und wie check ich wie weit seit dem letzten durchgang? MouseXSpeed() ? (oda wars SpeedX?) und wegen dem schießen: wie gesagt, die rotation ist auf -+35(links rechts) bis -+15(oben unten) begrentzt und wenn die maus ganz rechts am bildschirmrand ist = fadenkreutz, dann schießt das schiff aber nicht dorthin, sondern immer grade aus (fakt, waffen müssen sich auch rotieren) aber wie man die waffen auf ein schiff machen will, die sich dazu auch noch nach mausrichtung rotieren, ist mirn rätzel.. (oda muss ich für jede waffe aufm schiff auch noch moveentity machen O.o da müsste ich beim schiffrotation aber auch noch die waffen auf dem schiff berechnen.. was dan eigentlich ziemlich umständlich ist, oda gibts ne bessere lösung? |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
sen-me hat Folgendes geschrieben: wie soll man die berechnen O.o
Indem Du Dir einfach die Anfangszeit merkst: Startzeit = MilliSecs() Und in jedem Schleifendurchlauf: Flugzeit = MilliSecs() - StartZeit If Flugzeit > xyz ... ;Schuss aus der Liste entfernen Zitat: und wie check ich wie weit seit dem letzten durchgang?
MouseXSpeed() ? (oda wars SpeedX?) ??? Zitat: und wegen dem schießen:
...aber wie man die waffen auf ein schiff machen will, die sich dazu auch noch nach mausrichtung rotieren, ist mirn rätzel.. (oda muss ich für jede waffe aufm schiff auch noch moveentity machen O.o da müsste ich beim schiffrotation aber auch noch die waffen auf dem schiff berechnen.. was dan eigentlich ziemlich umständlich ist, oda gibts ne bessere lösung? Also: Dein Fadenkreuz zeigt quasi immer nach vorn in Flugrichtung, oder? Wenn ja, dann machst Du einfach ein: TFormVector 0, 0, 1, schiff, 0 Damit hast Du die Anfangsrichtung (TFormedX...) Ich hab das ganze etwas komplexer gemacht, bei sind die 2 Waffen links und rechts am Schiff als eigene Objekte befestigt und haben als Parent das Schiff. Damit drehen sie sich automatisch mit. Dadurch ballern die Schüsse aber auch etwas links und rechts versetzt vom Schiff raus, weshalb ich auch die Startposition entsprechend transformieren muss. Bei Interesse kann ich ja mal das Codestück posten... Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das problem ist, man muss nicht umbedingt 2 waffen aufm schiff haben, mann kann sein schiff ausrüsten...
und wie bewege ich das fadenkreutz (mit der maus) kapir ich nicht o.O |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
sen-me hat Folgendes geschrieben: das problem ist, man muss nicht umbedingt 2 waffen aufm schiff haben, mann kann sein schiff ausrüsten...
Das ist kein Problem, das ist bei mir auch so. Waffen sind bei mir genauso Objekte (Types) wie das Schiff selbst. Ich habe dann eine Update-Funktion, die durch alle Waffenobjekte des Schiffes durchläuft und prüft, welche Aktion ausgeführt werden soll (je nach Typ der Waffe) Zitat: und wie bewege ich das fadenkreutz (mit der maus)
kapir ich nicht o.O Gut, das Fadenkreutz soll also nicht star nach vorn gerichtet sein? Aber es soll doch sicher immer auf der Z-Achse (also in Flugrichtung) des Schiffes liegen, oder? Was Du möchtest, ist so eine Art "träge" Kamera, die quasi immer der aktuellen Richtung "hinterherzieht"? Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich wollte so ne steuerung wie Freelancer, die gefällt mir recht gut
das schiff fliegt immer der mausrichtung nach (auser wenn man es fixiert) und schießen tuts auch immer (egal ob es nun gradeaus vom schiff ist oda rechts vom schiff) zur maus position (allerdings müssen dan halt die schüsse nicht vom schiff selbst, sondern von den waffen kommen) |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gut, ich kenne jetzt die Freelancer-Steuerung nicht.
Deine Waffen feuern immer geradeaus in Flugrichtung des Schiffes? Wenn ja, dann musst Du zunächst die Lage Deines Schiffes im Raum bestimmen und Dir diese Anfangsrichtung für Deine Waffen merken. Am besten machst Du einen Schritt nach dem anderen, dann können wir Dir auch leichter helfen, als wenn Du gleich die komplette (wahrscheinlich recht komplexe) Steuerung programmierst. Also: 1. Schritt: Dreh das Schiff mit der Maus im Raum. 2. Schritt: Feuere einen Schuß ab, und zwar von der Position des Schiffes aus. 3. Schritt: Merk Dir die Rotation Deines Schiffes und beziehe diesen Anfangswert in die Flugbahn Deines Geschosses ein. 4. Schritt: Verschiebe die Anfangsposition des Geschosses dorthin, wo Deine Waffenmündung ist. Bis zu welchem Schritt kommst Du ohne Probleme? Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ka, aber ich weis jetzt schon wos hängen wird, spätestens punkt 4
weil die schüsse nicht gradeaus in flugrichtung gehen sondern immer zum mauszeiger (und demnach rotieren die waffen sich auch zu dem, d.h. die waffen haben die mündung immer zum mauszeiger hin, aber das schiff ist nur begrentzt rotierbar (die waffen nicht) |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gut, dann arbeite Dich erstmal bis Punkt 3 vor, der Rest ist dann auch nicht mehr schwer. Immer einen Schritt nach dem anderen machen, dann ist es einfacher.
Du kannst nicht gleich mit Schritt 4 beginnen, das wird nichts. ![]() Also, bau Schüsse erstmal so ein, dass sie ungesteuert geradeaus fliegen. Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schritt 1:
wie drehe ich das schiff den? ich hab ja schon probleme mit dem fadenkreuz. also wie drehe ich es zum mauszeiger |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde es zunächst mal so machen, dass sich das Schiff mit der Maus synchron dreht. Das Fadenkreuz ist dabei immer in der Mitte des Bildschirms.
Danach machen wir weiter. ![]() Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja nichtmal das geht ![]() |
||
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du willst mir erzählen, Du möchtest einen Shooter wie Freelancer programmieren, kannst aber nichtmal die Kamera (=das Schiff) mit der Maus drehen und ein Fadenkreuz in die Mitte malen, was ja nun in wirklich jedem Beispielprogramm drin ist?
Tut mir leid, wenn ich da etwas hart bin, aber irgendwie scheint mir das darauf hinauszulaufen, dass Du den kompletten Sourcecode für Dein Spiel brauchst... Ich muss mal einen Beispielcode rauskramen, dauert ein Weilchen... Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group