Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 11:49

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Nov 23, 2005 18:03 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 23, 2004 20:22
Beiträge: 26
Hallo !

Ich hab mir mal das selection tutorial von DCW_Mr_T angeschaut, wollte es mal ausprobieren und stieß sofort
auf folgende probleme :

1. die funktion selection (tutorial ) sieht so aus :

Code:
  1. function Selection : integer;
  2. var
  3. [...]
  4. Viewport     : array[0..3] of Integer;                        <------ hier ist das problem !
  5. [...]
  6. begin
  7. [...]
  8. gluPickMatrix(xs, viewport[3]-ys, 1.0, 1.0, @viewport);


beim compilieren kommt jetzt sowas wie Array nicht mit TGLUint vereinbar ...
also hab ich das so umgeschrieben :


Code:
  1. function Selection : integer;
  2. var
  3. [...]
  4. Viewport     : TGLUint;
  5. [...]
  6. begin
  7. [...]
  8. gluPickMatrix(xs, viewport[3]-ys, 1.0, 1.0, viewport);


ist das so richtig ?

und 2. hab ich das problem mit der Maus :
(ich hab alles abgegrasst von hier über jedi bis google und was weiß ich nicht alles ! )
(hab aber nur c++ code gefunden ! )

ich brauche also zu folgendem code etwas hilfe :

Code:
  1. procedure glHandleEvents;
  2. var event       : TSDL_Event;
  3. begin;
  4.     // Verarbeiten der Events
  5.     while ( SDL_PollEvent( @event ) = 1 ) do
  6.     begin
  7.       case event.type_ of
  8. [...]
  9.         SDL_KEYDOWN :
  10.         begin
  11.           glHandleKeyPress( @event.key.keysym );
  12.         end;
  13. [Hier bräuchte ich sowas wie SDL_MOUSECLICK ]
  14.  
  15.  


3. wenn ich denn den eventhandler zur Maus wüsste,
würde ich damit die x,y werte kriegen ? :

Code:
  1. [...]
  2. var
  3. mouseState,mouseX,mouseY :    Integer;
  4. [...]
  5. mouseState:= SDL_GetMouseState(mouseX,mouseY);
  6. [...]



So please help !
Und schon mal im voraus danke und
mfg

Mischa


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Nov 23, 2005 18:19 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Mischa hat geschrieben:
1. die funktion selection (tutorial ) sieht so aus :
...
ist das so richtig ?

Bitte das Tutorial in Wiki anschauen. Dort ist es richtig.
Und in Zukunft erst schauen ob das Tutorial schon im Wiki existiert.

Mischa hat geschrieben:
Code:
  1. procedure glHandleEvents;
  2. var event       : TSDL_Event;
  3. begin;
  4.     // Verarbeiten der Events
  5.     while ( SDL_PollEvent( @event ) = 1 ) do
  6.     begin
  7.       case event.type_ of
  8. [...]
  9.         SDL_KEYDOWN :
  10.         begin
  11.           glHandleKeyPress( @event.key.keysym );
  12.         end;
  13. [Hier bräuchte ich sowas wie SDL_MOUSECLICK ]
  14.  
  15.  

Code:
  1. procedure glHandleEvents;
  2. var event       : TSDL_Event;
  3. begin;
  4.     // Verarbeiten der Events
  5.     while ( SDL_PollEvent( @event ) = 1 ) do
  6.     begin
  7.       case event.type_ of
  8. [...]
  9.         SDL_MouseButtonEvent:
  10.         begin
  11.           event.button.x;
  12.           event.button.y;
  13.         end;
  14.  

Dazu:
http://wiki.delphigl.com/index.php/SDL_MouseButtonEvent
http://wiki.delphigl.com/index.php/SDL_Event


Mischa hat geschrieben:
3. wenn ich denn den eventhandler zur Maus wüsste,
würde ich damit die x,y werte kriegen ? :
SDL_GetMouseState(mouseX,mouseY);

Ja. Dazu:
http://www.libsdl.org/cgi/docwiki.cgi/SDL_5fGetMouseState
http://wiki.delphigl.com/index.php?title=SDL_GetMouseState


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 18:42 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 23, 2004 20:22
Beiträge: 26
hilft leider nichts !
Code:
  1.  
  2. SDL_MouseButtonEvent:
  3.         begin
  4.           xs:=event.button.x;
  5.           ýs:=event.button.y;
  6.         end;

[Fehler] GL_TEMP_Project.dpr(172): E2003 Undefinierter Bezeichner: 'SDL_MouseButtonEvent' ;

Code:
  1. gluPickMatrix(xs, viewport[3]-ys, 1.0, 1.0, @viewport);

[Fehler] u_Selection.pas(73): E2010 Inkompatible Typen: 'TGLVectori4' und 'Pointer'


???


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 18:59 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 23, 2004 20:22
Beiträge: 26
naja, jetzt gehts :

Code:
  1. SDL_MouseButtonDown:
  2.         begin
  3.           xs:=event.button.x;
  4.           ys:=event.button.y;
  5.         end;


und


Code:
  1. gluPickMatrix(xs, viewport[3]-ys, 1.0, 1.0, viewport);


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Nov 23, 2005 23:06 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@Lars: Ist das wieder so ein Pointerproblem wie bei gluProject? Wann darf man denn da mit ner neuen Headerversion rechnen?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Nov 24, 2005 23:50 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 23, 2004 20:22
Beiträge: 26
ok, ich hab das ganze jetzt zum laufen gebracht !

trotzdem ist da was nicht ganz normal !

die 'felder' (bereiche ), welche erkennen sollen, ob man da drauf geklickt hat oder nicht, scheinen irgendwie zum ursprung hin verschoben zu sein !

könnt ihr euch vorstellen, wieso das so ist ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 25, 2005 00:09 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Code:
  1.   gluPerspective(60.0, Viewport[2]/Viewport[3], 1, 256);

Du hast einen anderen Winkel in der normalen Render.
Dadurch entsteht es. Ist mir am Anfang aber auch passiertt :(


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 25, 2005 08:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Flash hat geschrieben:
@Lars: Ist das wieder so ein Pointerproblem wie bei gluProject? Wann darf man denn da mit ner neuen Headerversion rechnen?

Bin zwar nicht Lars. Aber laut Wiki + Internetreferenz gehört dort kein Pointer hin. Es wird lediglich ein normales Array übergeben. Ist also normal so. Auch wenn ich jetzt im nachinein überlegt schon sagen muss, dass es ungewöhnlich ist, da sonst ein Vector eigentlich immer als Pointer übergeben werden muss. Aber dort ist es so richtig wie es ist.

Funktionen sind bereits geändert. Core 2.0 in Schweiß treibender Arbeit implementiert. Muss aber noch getestet werden und evtl für .NET einige Anpassungen vorgenommen werden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 28, 2005 00:27 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 23, 2004 20:22
Beiträge: 26
hey, jetzt klappts !

Danke !


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]