| Autor |
Beitrag |
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: So 27.07.03 11:32
Hallo,
habe folgenden code versucht:
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 TForm1.GLCadencer1Progress(Sender: TObject; const deltaTime, newTime: Double); var i:Integer; begin Collision:=False; MovePlayer(GLSphere1,deltaTime);
CollisionManager1.CheckCollisions; if Collision = False then GLSphere1.Position.Z:=GLSphere1.Position.z-0.1;
if Player_Richtung = 6 then begin Player_Richtung:=-1; GLSphere1.Position.Z:=GLSphere1.Position.z-0.1; GLCamera1.Position.Z:=GLSphere1.Position.z+1; end; end;
procedure TForm1.CollisionManager1Collision(Sender: TObject; object1, object2: TGLBaseSceneObject); begin if Object1 = GLSphere1 then Collision:=True; end; |
nun möchte ich gerne das wenn ein cubos unter dem player ist, das er nicht mehr flät anderm fallst soll er fallen aber wie geht das ?
ich will den collisionsManger schon nutzen, da ich nicht weiß wie man es ohne ihn machen könnte und ich würde es auch nicht hinbekommen....
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
svenson08
      
Beiträge: 87
|
Verfasst: Mo 28.07.03 08:06
Ist nicht vielleicht das was du suchst, aber du kannst die eine Liste aller Objekte füllen lassen die in einem Bereich zu finden sind.
Mittels GLSceneViewer.Buffer.PickObjects(Rect,List,0);
Rect gibt den Bereich an in dem gesucht werden soll, die List enthält alle Treffer. Damit suche ich z.b. benachbarte Objekte.
Aber wenn dein Objekt in richtung Z +1 fällt, warum fragst du nicht über die AbolutePosition des Objekts ab ob noch ein anderes Objetk in der selben Ebene sich befindet, bzw befinden wird ? Ist nur so ein gedanke.
Gruß Sascha
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Mo 28.07.03 18:09
| Zitat: |
Aber wenn dein Objekt in richtung Z +1 fällt, warum fragst du nicht über die AbolutePosition des Objekts ab ob noch ein anderes Objetk in der selben Ebene sich befindet, bzw befinden wird ? Ist nur so ein gedanke.
|
wie meinst du das ?
könntes du mir mal ein kleines beispiel coden wie genau das geht ?
danke....
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
svenson08
      
Beiträge: 87
|
Verfasst: Di 29.07.03 09:08
Um dir da vielleicht besser helfen zu können erklär mir mal wie die für die Figur begehbare Fläche aufgebaut ist, wie hast du die erstellt ?
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 29.07.03 18:09
| Zitat: |
erklär mir mal wie die für die Figur begehbare Fläche aufgebaut ist, wie hast du die erstellt ?
|
das sind einfache cuben mehr nicht:)
und jede cube soll ein festen boden haben.
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
svenson08
      
Beiträge: 87
|
Verfasst: Di 29.07.03 19:04
also willst du nur erreichen das sobald deine figur keinen boden mehr unter den füßen hat fällt, und sobald wieder ein untergrund da ist soll er nicht mehr fallen.
Hast du für die Cuben (sprich fürs Level) einen Array in denen du diverse Infos ablegst ?
Ich schau mal ob ich einen Codeschnippsel zusammen bekomme.
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Di 29.07.03 20:08
ja genau das will ich.
die cuben werden nur in der scene gespeichert und nicht in einem extra array.
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Do 31.07.03 18:01
| Zitat: |
Ich schau mal ob ich einen Codeschnippsel zusammen bekomme.
|
ja das wäre toll:)
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Johwood
      
Beiträge: 75
|
Verfasst: Fr 01.08.03 16:50
1. Auf www.glscene.com gibt's da ein gutes Collision-"Tutorial", mit den genannten Funktionen
2. Ich hab so ein ähnliches Problem. Ebenfalls mit GLScene... ich hab jetzt dieses Collision-Tutorial benutzt... nur funzt das nur mit vorgegebenen Files (z. B. .3ds), weshalb ich an diesem "Codeschnipsel" ebenfalls sehr interessiert wäre...
Schau dir den Code trotzdem mal an, der ist nämlich schön ordentlich.. und das ist deiner ... (so scheint es) nicht so wirklich... an einigen Stellen... 
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Fr 01.08.03 17:30
bitte gebe einen genaueren link an, weil ich finde mich auf dieser seite nicht zu recht.
Danke !
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Johwood
      
Beiträge: 75
|
Verfasst: Fr 01.08.03 17:45
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Fr 01.08.03 19:08
es gibt leider complier fehler:
| Zitat: |
[Fehler] Octree.pas(1372): Undefinierter Bezeichner: 'TriangleIntersectAABB'
[Fehler] Octree.pas(1399): Undefinierter Bezeichner: 'IntersectAABBsAbsolute'
[Fehler] Octree.pas(1429): Undefinierter Bezeichner: 'AddIntegers'
[Fehler] Octree.pas(1431): Undefinierter Bezeichner: 'SortAndRemoveDuplicates'
[Fehler] Octree.pas(1459): Undefinierter Bezeichner: 'IntersectAABBs'
[Fehler] Octree.pas(1491): Undefinierter Bezeichner: 'AddIntegers'
[Fehler] Octree.pas(1493): Undefinierter Bezeichner: 'SortAndRemoveDuplicates'
[Fataler Fehler] Unit1.pas(26): Verwendete Unit 'Octree.pas' kann nicht compiliert werden
|
beim tutor...... ich habe einfach die *.dpr complieren wollen und dabei kamen diese fehler...
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Johwood
      
Beiträge: 75
|
Verfasst: Fr 01.08.03 19:13
Hast du auch die neuste GLScene-Version von der CVS?
Die von der Website ist um ein halbes Jahr veraltet und auf der CVS gibt's fast jeden Tag ne neue Datei.. (manchmal ^^)
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Fr 01.08.03 19:16
keine anaung, kannst du mal schauen wo du diese funktion drinen stehtn hast in welche unit und die mir dann senden ?
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Johwood
      
Beiträge: 75
|
Verfasst: Fr 01.08.03 20:10
uses Classes, Geometry, VectorLists, GeometryBB;
So sollte die Uses-Reihe der octree.pas aussehen... die VectorLists z. B. brauchst du auf jeden Fall...
die andere Datei sollte halt:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, GLVectorFileObjects, GLScene, GLTexture, ExtCtrls, GLCadencer,
GLWin32Viewer, GLMisc, StdCtrls, GLObjects, jpeg, GLCollision,
GLNavigator, VectorLists, Octree, GLFile3DS, Geometry, OpenGL1X,
GLGeomObjects
haben...
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Fr 01.08.03 20:25
naja egal, die habe ich schonmal nicht
lassen wir das, bin mal gespannt wie man mein problem lösen könnte:)
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Johwood
      
Beiträge: 75
|
Verfasst: Fr 01.08.03 21:37
| mimi hat folgendes geschrieben: | naja egal, die habe ich schonmal nicht  |
Um mit GLScene zu programmieren brauchst du aber GLScene... ;D
|
|
Johwood
      
Beiträge: 75
|
Verfasst: Sa 02.08.03 10:37
Kuck mal unter Delphi 6, ob du unter "Tools --> Environment Options --> Library --> Library Path" auch wirklich das gesamte \Source-Verzeichnis von GLScene sowie ALLE (!) UNTERverzeichnisse desselben stehen hast...
Bei mir sieht das so aus:
| Zitat: | C:\GLScene\delphi6;
C:\GLScene\source;
C:\GLScene\source\Base;
C:\GLScene\source\Platform;
C:\GLScene\Source\CgShaders;
C:\GLScene\Source\DesignTime;
C:\GLScene\Source\FileFormats;
C:\GLScene\Source\GameAPIs;
C:\GLScene\Source\PhysicsAPIs;
C:\GLScene\Source\PlugIn;
C:\GLScene\Source\Shaders;
C:\GLScene\Source\SoundAPIs;
C:\GLScene\Source\VideoAPIs |
|
|
mimi 
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Sa 02.08.03 12:17
ich finde erst garnicht die datei die du mir oben genant hast, habe sie per F3 gesucht, aber nichts wurde gefunden
die verzeichnis habe ich oben alle eingetragen....
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
Johwood
      
Beiträge: 75
|
Verfasst: Sa 02.08.03 12:27
Die VectorLists.pas befindet sich im Verzeichnis \Source\base und ist sogar im Paket 09b drin...
|
|