Springen auf Terrain
Übersicht

Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So jetzt bin ich gerade an dem Schuss dran.Dazu hab ich mir ein Type erstellt mit x,y,z,speed
Aber irgendwie weiß ich nicht ,wie ich das machen soll.Im Forum gibts auch viele Threads aber irgendwie versteh ich das nicht so. Kann mir das einer erklären?? Danke |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ein Schuss gliedert sich in 3 Phasen.
In deiner Steuerung() kannst du ihn nur lostreten. Meist ist der Schuss ein Sprite oder ein eigenes 3D-Objekt. Er wird als Child der Waffe geboren und fliegt dann einen ersten Schritt in genau in die z-Richtung der Waffe. Dann löst du die Parent-Child Beziehung. Dann schaltst du die Waffe für einige msec tot, sonst kommen gleich zu viele Schüsse raus. In der zweiten Phase fliegt er alleine in seine z-Richtung. Damit fliegt er genau dahin, wohin die Waffe beim Abschuss gezeigt hat. Dieser Code wird nicht mehr als Teil der Steuerung() geschrieben. Mach eine eigene Funktion. Spätestens jetzt sollte er auch einen EntityType bekommen und die Collisions() werden abgecheckt. In der dritten Phase trifft er auf was. Das wird aber meist in einer Kollisions()-Funktion entdeckt und da wird reagiert: Gegner stirbt, Schuss auch. Wenn er nix trifft wird er nach x msec automatisch deleted. |
||
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok ich hab bei meiner Minugun einen timer gemacht.Die soll sich drehen und ich glaub jede 60 millisecs(oder sowas) geht der Ton an vom Schuss.
Aber wie soll ich die den kopieren oder so wenn ich in der secunde mehrfach schieße.dan muss ich ja die ganze Zeit Kugel2=copyentity....kugel3=copyentity....... Beispiel code währe hilfreich:D |
||
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok ich hab jetzt mal sowas gemacht und es fuzt auch.Da hab ich x,y,z und die muss ich irgendwie zur Waffe hinzufügen(parent).Mit entityx,y,z geht das nicht,weil der ja nur den Anfagswert anzeigt.Und mit createcylinder hab ich das Geschoss gemacht und in die Klammern kann man nicht Waffe reintun ,da da steht illegal segment oder sowas(nicht memory).
Wie kann man das noch machen?? |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, wenn nur ein Schuss zu einer Zeit losfliegen soll ist es leichter:
BlitzBasic: [AUSKLAPPEN] Global Schuss wenn gleichzeitig mehrere Schüsse fliegen können sollen, must du schon mit Typen arbeiten: BlitzBasic: [AUSKLAPPEN] Global SchussVorlage=CreateCylinder(8,1) |
||
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Cool danke klappt super.Hab jetzt ein Mesh als Geschoss geladen.Komisch ist,das wenn ich die eigendliche Z-Richtung als Schussrichtung angeben,fliegen die nach oben und bei Y gerade aus. | ||
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann mir bitte einer sagen wie ich das mit dem springen hinbekomme.Denn wenn ich auf eine Kiste springe dan kann ich nicht mehr höher,da er ja erst bei Y=2 erst resetet.Wie soll ich das sonst machen?? | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Springen kannst du so machen:
Im Moment des Sprungstarts wird die aktuelle y-Pos abgefragt und daraus der "Wendepunkt", z.b. BlitzBasic: [AUSKLAPPEN] y= EntityY(Player)+2 ...errechnet. Dadurch kommst du von dem festen Wert 2 weg. |
||
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wie kann ich denn ein mesh einem anderen mesh zuordnen also z.b.: ein rad an einem auto?
gibt es da einen befehl? (sryy passt jtz ned zum thema ![]() |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Forensuche sollte dir dazu EntityParent![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hier wurde doch sowieso schon im grobe über das problem was ich auch habe gesprochen, wieso also das forum zumüllen? | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ne das Problemm ist ja,dass ich wenn ich z.b auf ein cube springe und dan weiter(höher) springen will,das das nicht geht.
Der hat ja immer ein festen Wert.d.h wenn ich bei jeden 20 msecs höher gehe und bei 200 wieder runter hab ich 10 mal "Y höher" Ich weiß auch nicht wieso,da da ja steht Y=Y +.5 und das ist egal ob ich bei Y = 100 bin oder bei 20000000. |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie sieht denn derzeit der code aus?
also, wenn ich dich richtig verstehe, willst du erst mal auf den cube und dann von dieser neuen höhe noch weiter hoch springen können. 1. soll das neue Springen erst erlaubt sein, wenn das alte beendet wurde? 2. normalerweise springt man ja von da wo man steht einen gewissen betrag hoch. das landen geschiht dann bis runter auf ein level, wo man wieder einen boden trifft. Erst dort kann man erneut springen. willst du das auch so? dann wird im moment des absprungs die aktuelle y-koordinate als 0 punkt genommen und dann kann man von da aus eben 2 höher springen. danach erfolgt das landen entweder auf eine höhere eben oder zurück zur alten ebene oder man fällt sogar tiefer. Oder? das lässt sich doch alles machen... |
||
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja genau so.Es soll ja die aktuelle Y Pos angegeben werden um dan von der weiter zugehen.
Der Code ist im Moment nicht verändert,d.h den einen den du mir geschickt hast(mit ST und so) der ist gerade drin.Beim runtergehen hab ich aber 0.01 gemacht ,weil ich eine Function mit Gravitation hab,also das er immer 0.5 runtergeht und deshalb brauch ich das nicht,da er sonst viel zu schnell runtergehen würde. Ich weiß halt nicht wie man die aktuelle Entity vom player berechnet. Da man das ja oben bei den ganzen Globalen eingibt. Danke Voraus |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
die steht dir unter EntityY(Player) jederzeit zur Verfügung | ||
- Zuletzt bearbeitet von Midimaster am Mo, Mai 03, 2010 18:04, insgesamt einmal bearbeitet
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Noch ne Frage:
Ich hab mal ein Paar Waffen dazugetan,nur das dumme ist,dass ich in die Waffe reinsehen kann.Kann man das irgendwie verhindern?? |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst mit CameraRange![]() Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke endlich siehts mal geil aus .......... | ||
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab irgendwie schon die ganze Zeit so ne ******* ,dass bei mir die etwas größeren Meshs nicht ganz geladen werden.Ein Teil der Wand fehlt oder an einer 'Seite der Box ist garkeine Wand,erst wenn ich in sie sprinte komm ich von drine nicht mehr raus,weil sie dan da ist.
Warum ist das so?? |
||
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ales gelöst hab alles Problemme beseitigt.Das Spiel kann sich sehen lassen nur muss noch irgendwie BSP Maps machen.Das dumme ist eigendlich,dass Google sketchup keine Texturen mit exportiert,dan hätte ich das genommen.
Nur das dumme ist,da ich Grav habe,das ich keine Treppen hoch kann.d.h ich hab immer Y=Y-.1 ,aber nicht bei springen.Ich hab z.b G,das die Gravitation anmacht.Bei springen mach ich die einfach aus. Wenn ich keine Gravitation hab kann ich auch prima Treppen hoch aber mit muss ich die immer hochspringen. Kann man das iwie anders machen?? |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group