AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi GLScene: objekte zurlaufzeit + unterschiedlich groß
Thema durchsuchen
Ansicht
Themen-Optionen

GLScene: objekte zurlaufzeit + unterschiedlich groß

Ein Thema von mimi · begonnen am 1. Nov 2006 · letzter Beitrag vom 1. Nov 2006
Antwort Antwort
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

GLScene: objekte zurlaufzeit + unterschiedlich groß

  Alt 1. Nov 2006, 12:24
Hallo,
ich möchte mit zwei forschleifen unterschiedliche große objekte erzeugen hier ist mein code:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  cub:TGLCube;
  x,z,i:Integer;
begin
  for x:=0 to 50 do begin
    for z:=0 to 50 do begin
      cub:=TGLCube(GLScene1.objects.AddNewChild(TGLCube));
      cub.CubeDepth:=random(10)+2;
      cub.CubeWidth:=random(10)+2;
      cub.Position.X:=(x)*cub.CubeWidth;
      cub.Position.y:=4;
      cub.Position.z:=(z)*cub.CubeDepth;
      cub.Material.FrontProperties.Diffuse.Red:=random;
      cub.Material.FrontProperties.Diffuse.Green:=random;
      cub.Material.FrontProperties.Diffuse.Blue:=random;
    end;
  end;
  GLSphere1.position.y:=50;
  GLSphere1.Position.x:=60;
  GLSphere1.Position.z:=60;

end;
doch leider sind abstände zwischen den objekten und ich weiß nicht warum !
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: GLScene: objekte zurlaufzeit + unterschiedlich groß

  Alt 1. Nov 2006, 12:47
So kann das ja auch nicht funktionieren. Eher so:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  cub:TGLCube;
  x,z,i:Integer;
  lastX,lastZ:integer;
begin
  lastX := 0;
  lastZ := 0;
  for x:=0 to 50 do begin
    for z:=0 to 50 do begin
      cub:=TGLCube(GLScene1.objects.AddNewChild(TGLCube));
      cub.CubeDepth:=random(10)+2;
      cub.CubeWidth:=random(10)+2;
      cub.Position.X:=lastX;
      cub.Position.y:=4;
      cub.Position.z:=lastZ;
      cub.Material.FrontProperties.Diffuse.Red:=random;
      cub.Material.FrontProperties.Diffuse.Green:=random;
      cub.Material.FrontProperties.Diffuse.Blue:=random;
      lastX := cub.Position.X+cub.CubeWidth;
      lastZ := cub.Position.Z+cub.CubeDepth;
    end;
  end;
  GLSphere1.position.y:=50;
  GLSphere1.Position.x:=60;
  GLSphere1.Position.z:=60;

end;
[EDIT]Wobei mir gerade auffält das du ja zwei FOR Schleifen hast und mein Code so auch nicht richtig funktioniert er geht aber eher in die Richtung...[/EDIT]
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: GLScene: objekte zurlaufzeit + unterschiedlich groß

  Alt 1. Nov 2006, 13:57
lustig, jetzt werden alle elemente hintereinander gezeichnet.... soweit war ich auch schonmal..
aber danke für deine antwort !
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz