[B3D] Kollision zu "stark"
Übersicht

![]() |
N0XBetreff: [B3D] Kollision zu "stark" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich programmiere ja gerade an einem Rollenspiel. Wenn Ich einen Hügel hochlaufe, braucht mein Spieler echt ewig, da ich TranslateEntity ![]() Was kann ich da machen? Er soll schnell hochkommen und auch schnell runter. ![]() Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn man Berührungslos in der Luft schwebt, beschleunigt einen üblicherweise die Gravitation nach unten. ![]() |
||
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) |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja!
Ich weiß, aber weil ich "TranslateEntity player,0,-0.1,0" geschrieben habe, ist die Beschleunigung nach unten ja so gering, das ich eine Zeit lang noch schwebe. |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast gar keine Beschleunigung. Der Spieler fällt ja immer gleich schnell.
Wendest du das immer an, oder nur, wenn der Spieler tatsächlich nicht den Boden berührt? |
||
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) |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie Xeres schon schrieb, die Gravitation beschleunigt einen.
Das heißt, dein TranslateEntity-Wert müsste immer größer werden, solange der Spieler nichts berührt. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso...
Ich hab da jetzt mal was vorbereitet.. ![]() Aber mein Spieler zittert jetzt minimal hin und her (auf der Y-Achse) Code-Ausschnitt: Code: [AUSKLAPPEN] TranslateEntity player,0,transY#,0 If Not EntityCollided(player,MAP) Then transY#=transY#-0.1 Else transY#=transY#=0.1 EndIf |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du bewegst denn Spieler ja immer noch in jedem Fall.
und: transY#=transY#=0.1 |
||
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) |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, das mit "transY#=transY#=0.1" sollte: "transY#=0.1" heißen. ![]() Aber wie ich das ruckeln wegbekomme habe ich noch nicht verstanden... ![]() Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du den Spieler in jedem Frame versetzt, wird er von der Kollision aufgehalten. Wenn er aber mit dem Boden kollidiert, ist es auch nicht nötig ihn nach unten zu ziehen, oder? | ||
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) |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
So?
Code: [AUSKLAPPEN] TranslateEntity(player,0,-0.1,0)
If Not EntityCollided(player,MAP) Then TranslateEntity(player,0,-1,0) EndIf Hab's glaub ich immer noch nicht verstanden, da der Player immer noch zuckt wenn ich z.B. einen Berg runterlauf. |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klar zuckt der Player noch, du verschiebst ihn ja auch immer nach unten...
Verschiebe den Player nur nach unten, wenn er nicht mit dem Boden kollidiert! Ansonsten gibt es keinen Grund das zu tun. |
||
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) |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also einfach nur so?
Code: [AUSKLAPPEN] If Not EntityCollided(player,MAP) Then
TranslateEntity(player,0,-1,0) EndIf Zuckt immernoch... ![]() |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jetzt würde ich noch beschleunigte Bewegung einbauen, also kleinere Geschwindigkeit bei kurzen Entfernungen - dann sollte es problemlos klappen. | ||
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) |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Etwa so..
Code: [AUSKLAPPEN] If Not EntityCollided(player,MAP) Then
fallspeed#=fallspeed#*1.1 TranslateEntity(player,0,fallspeed#,0) Else fallspeed#=0.1 endif |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Cool, danke!
Ist zwar immer noch ein klitzekleines "ruckeln" da, aber das ist fast nicht sichtbar, also für mich: Problem gelöst! Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group