Aktuelle Zeit: 13.05.2025, 18:07

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Jump
BeitragVerfasst: 02.12.2008, 13:33 
hallo,
ich versuche zurzeit, einen Ego Shooter zu programmieren.
Ich habe folgendermaßen versucht, Hüpfen ins Spiel einzubauen:
Code:
class MyEventReceiver : public IEventReceiver
{
public:
   bool OnEvent(const SEvent& event)
    {
      if (event.EventType == EET_KEY_INPUT_EVENT && !event.KeyInput.PressedDown)
        {
         switch (event.KeyInput.Key)
            {
            // Jump
            case KEY_SPACE:
                camera->setPosition(camera->getPosition() + vector3df(0, 400, 0));
                return true;
            }
      }
                return false;
   }
};

Es funktioniert zwar, aber die Kamera wird ja sofort auf + 400 gestellt, und nicht wie beim normalen Jumpen erst langsam hoch und dann wieder runter, und nicht sofort auf 400. Wie kann ich das Realisieren?
Ich habe eine FPS Kamera.


Nach oben
  
 
 Betreff des Beitrags: Re: Jump
BeitragVerfasst: 02.12.2008, 16:13 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Selber machen ist seeeehr aufwändig.
Entweder eine Physik Engine benutzen, die das für dich macht, oder die FPS Kamera von Irrlicht benutzen. Der kansnt du nämlich in der KeyMap zuweisen, welche Taste fürs Springen benutzt werden soll.

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Jump
BeitragVerfasst: 02.12.2008, 16:47 
cool danke ich wusste noch gar nicht, dass es das gibt.
Und noch ne andere Frage:
Ich habe eine Editbox. ist es irgendwie möglich diese den Focus zu geben bzw. den Carret reinsetzten damit man schreiben kann? Wenn Enter gedrückt wird, soll der Focus zur Edit box gehen, denn mit der maus geht es ja nicht(FPS camera)


Nach oben
  
 
 Betreff des Beitrags: Re: Jump
BeitragVerfasst: 02.12.2008, 18:36 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Hört sich nach nem ingame chat an...

Dafür solltest du dann erstmal den InputReceiver der Kamera deaktivieren (setInputReceiverEnabled()), dann kommen auch wieder alle Events beim GUI an.
Dann setzt du den Focus auf deine EditBox (IGUIEnvironment::setFocus()).

Wenn die Eingabe dann beendet ist der EditBox wieder den Focus wegnehmen (removeFocus()), und den InputReceiver wieder aktivieren

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Jump
BeitragVerfasst: 02.12.2008, 20:08 
vielen Dank, so funktioniert es :D


Nach oben
  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de