| Autor |
Beitrag |
svenson08
      
Beiträge: 87
|
Verfasst: Di 01.07.03 12:12
Hallo zusammen,
ich bin dabei mich etwas mit opengl zu befassen. Dabei versuche ich mich mit GLXTreem. Nun hab ich dazu eine frage, und zwar wie kann ich mit GLXTreem das "Object" unter der Maus markieren.
Wie es "von Hand" geht, also ohne GLXTreem hab ich mir mal angelesen, doch noch nicht so richtig hinbekommen. Ich würde aber gerne bei GLXTreem bleiben, schliesslich könnte man ja GLXTreem erweitern.
Hat jemand so etwas schonmal mit GLXtreem umgesetzt ?
Gruß Sascha
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 01.07.03 13:22
ja ich. kommt drauf an, wie du dein qullcode geschriebn hast. verwendes du ein raster ?
(ein 2D array für die map ?) oder wie machst du das ?
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
svenson08 
      
Beiträge: 87
|
Verfasst: Di 01.07.03 15:21
wirst lachen, aber so weit bin ich noch nicht. Da ich nur am testen bin erstelle ich halt nur ein Objekt. Wie ich das später mache weis ich noch nicht.
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 01.07.03 15:25
ok, haha...
Es gibt merher möglichkeiten dafür.
1. Du verwendes 4 ecke bzw. rechtecke
2. Du verwendes die Raster metode.....
das sind die 2 die ich eingeltich verwende.
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
svenson08 
      
Beiträge: 87
|
Verfasst: Di 01.07.03 15:32
Ok. Könntest du mir dann also helfen, da ich nicht so ganz weis wie ich das angehen kann. Aber erklär mir mal die Rastermethode, da ich noch nicht weis ob ich mit 4ecken hinkomme.
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 01.07.03 15:47
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Type TMap = record Visible, Enabled:Boolean; Tex,Typ:Integer; end; const MapX = 25; MapY = 25;
var map[0..mapX, 0..MapY] of TMap; |
so sieht das grundprinzip aus.
lis dir einfach mal: www.delphi-forum.de/viewtopic.php?t=10073
da habe ich ein snake tutor für delphiX geschrieben, im grunde musst du nicht viel ändern und es läuft prima auf glxTreem.
kann nicht besonders gut erklären. bei der Rastermethode müssen alle objekte die gleiche größe haben.
du hast jetzt z.b. ein Bildschrim größe von: 640 X 480 Pixeln und du hast eine grafik die 16 X 16 Pixel groß ist. nun musst du einfach die Bildschirm größe durch die grafik größe teilen und -1 nehmen. dann hast du die daten für den 2D array.
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
svenson08 
      
Beiträge: 87
|
Verfasst: Di 01.07.03 15:54
Ok ich schau mir deinen link noch genauer an. Das mit der map ist auch soweit klar. Aber wie markiere ich jetzt z.b. das rechteck unter der Maus, oder das dreieck ? Ich würde gerne die farbe/textur ändern wenn die maus darüber bewegt wird.
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 01.07.03 15:57
das kannst du leider nur bei geraden objekten machen.
so geht es:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TMyMenus.MouseMove(PosX,PosY:Integer); var i:Integer; is_Enabled:Boolean; begin
if is_MenuLoad = True then begin GLXDraw.Cursor:=crDefault; for i:=0 to High( Menus[MainMenuIndex].Items ) do begin with Menus[MainMenuIndex].Items[i] do begin if MenuEditor = False then is_Enabled:=Enabled else is_Enabled:=True; if ((PosX > x) and (PosX < X1) and (PosY > Y) and (PosY < Y1)) and (is_Enabled = True) then begin SelMenuIndex:=i; GLXDraw.Cursor:=crHandPoint; end; end; end; end; end; |
das habe ich bei einer menu unit gemacht, die ich geschrieben habe:)
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
svenson08 
      
Beiträge: 87
|
Verfasst: Mi 02.07.03 07:46
Hallo mimi,
erstmal danke für deine unterstützung. Ich hab mir das ganze mal angeschaut. Aber da ich noch nicht entschlossen bin wie ich es letztentlich angehe schau ich mir noch glscene an, da ist vielleicht eher das dabei was ich suche.
Trotzdem danke für die bemühung.
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Mi 02.07.03 09:40
glscene ist aber zimlich schwer aber auch sehr umfangreich:)
habe damit auch schon mehrer versuche gestartet damit umzugehen.. aber ich habe es immer wieder abbgebrochen 
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|