Autor Beitrag
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: So 27.07.03 11:32 
Hallo,
habe folgenden code versucht:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 75



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 75



BeitragVerfasst: Fr 01.08.03 17:45 
Das kann ich nachvollziehen... ;)

www.caperaven.co.za/...weep/spheresweep.zip
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 75



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 75



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 75



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 75



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 75



BeitragVerfasst: Sa 02.08.03 12:27 
Die VectorLists.pas befindet sich im Verzeichnis \Source\base und ist sogar im Paket 09b drin...