AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Balanced das Spiel für Starke Nerven und Starke Graphikkarte
Thema durchsuchen
Ansicht
Themen-Optionen

Balanced das Spiel für Starke Nerven und Starke Graphikkarte

Ein Thema von Corpsman · begonnen am 13. Jul 2006 · letzter Beitrag vom 21. Sep 2008
 
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Balanced das Spiel für Starke Nerven und Starke Graphikk

  Alt 13. Jul 2006, 21:44
@luckie

Das ist merkwürdig.

Meine Hauptanwendung ist nonVCL Programmiert und nutzt ein Boolean Array zum merken ob die Tasten gedrückt sind oder nicht.

das geschieht folgendermasen:

Delphi-Quellcode:
Function WndProc(hWnd: HWND; // Handle okna
  message: UINT; // Zpráva pro okno
  wParam: WPARAM; // Doplòkové informace
  lParam: LPARAM): // Doplòkové informace
LRESULT; stdcall;

..

begin

..
Case message Of
    WM_KEYDOWN: Begin
        keys[wParam] := TRUE; // Oznámí to programu

        ..

    end;

    WM_KEYUP: Begin
        keys[wParam] := FALSE; // Oznámí to programu
     
        ..

    end;

..

end;
Die Routine die das dann auswertet:

Delphi-Quellcode:
        // SDLK_Left:
        If Keys[37] And Not Keys[16] Then Begin
          Case CameraRot Of
            0: playerdz := PlayerForce;
            1: playerdx := -PlayerForce;
            2: playerdz := -PlayerForce;
            3: playerdx := PlayerForce;
          End;
        End;
        If Keys[37] And Keys[16] Then Begin
          Keys[37] := false;
          If ReverseCamera Then
            CameraRot := (CameraRot + 3) Mod 4 // Zoom und CameraRot sind in BalacedObjects deklariert , da sont Tplayer nicht darauf zugreifen kann.
          Else
            CameraRot := (CameraRot + 1) Mod 4; // Zoom und CameraRot sind in BalacedObjects deklariert , da sont Tplayer nicht darauf zugreifen kann.
        End;
        // SDLK_Right:
        If Keys[39] And Not Keys[16] Then Begin
          Case CameraRot Of
            0: playerdz := -PlayerForce;
            1: playerdx := PlayerForce;
            2: playerdz := PlayerForce;
            3: playerdx := -PlayerForce;
          End;
        End;
        // 180° drehung
        If Keys[38] And Keys[16] Then Begin
          keys[38] := false;
          CameraRot := (CameraRot + 2) Mod 4;
        End;
        // 180° drehung
        If Keys[40] And Keys[16] Then Begin
          keys[40] := false;
          CameraRot := (CameraRot + 2) Mod 4;
        End;
        // Camera Drehen
        If Keys[39] And Keys[16] Then Begin
          Keys[39] := false;
          If ReverseCamera Then
            CameraRot := (CameraRot + 1) Mod 4 // Zoom und CameraRot sind in BalacedObjects deklariert , da sont Tplayer nicht darauf zugreifen kann.
          Else
            CameraRot := (CameraRot + 3) Mod 4; // Zoom und CameraRot sind in BalacedObjects deklariert , da sont Tplayer nicht darauf zugreifen kann.
        End;
Ich weis der Code sieht nicht besonders schön aus. Das liegt daran das ich keine Ahnung von NONVCL Programmierung habe.

Aber bei mir hat es immer wunderbar getan.

Vielleicht erkennst du warum es bei dir nicht geht.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz