Войти
ПрограммированиеФорум2D графика и изометрия

Создание объектов во время работы программы в GlScene (4 стр)

Страницы: 1 2 3 4
#45
23:04, 29 янв. 2011
procedure Bott.Create(Team1:ShortInt;Wayy:ShortInt);
var
   i : Integer;
   s : TVector;
   f : Single;
begin
  proxy:=TGLProxyObject(form1.gldmycb1.AddNewChild(TGLProxyObject));
  with proxy do
      begin
         MasterObject:=form1.FreeForm1;
         ProxyOptions:=[pooObjects];
         Direction.SetVector(0,-1,0);
         Up:=Form1.FreeForm1.Up;
         Scale.X:=0.01;
         Scale.Y:=0.01;
         Scale.Z:=0.01;
         case team1 of
           0:Position.SetPoint(-93,-93,4);
           1:Position.SetPoint(93,93,4);
         end;
         SetLength(Main,Kol+1);
         Main[kol].Team:=Team1;
         Main[Kol].Way:=Wayy;
      end;
  Inc(Kol);
end;
  procedure Bott.Move;
  begin
    for i:= 0 to kol-1 do
    with form1.gldmycb1.Children[i] do
      begin
        case Main[i].Team of
          0:begin
              case Main[i].Way of
                1:begin
                    if Position.X<93 then
                      Position.X:=Position.X+0.1
                    else
                    if Position.Y<93 then
                      Position.Y:=Position.Y+0.1;
                  end;
                2:begin
                    if Position.X<93 then
                      Position.X:=Position.X+0.01;
                    if Position.Y<93 then
                      Position.Y:=Position.Y+0.01;
                  end;
                3:begin
                    if Position.Y<93 then
                      Position.Y:=Position.Y+0.1
                    else
                    if Position.X<93 then
                      Position.X:=Position.X+0.1;
                  end;
            end;

          end;

          1:case Main[i].Way of
                1:begin
                    if Position.X>-93 then
                      Position.X:=Position.X-0.1
                    else
                    if Position.Y>-93 then
                      Position.Y:=Position.Y-0.1;
                  end;
                2:begin
                    if Position.X>-93 then
                      Position.X:=Position.X-0.01;
                    if Position.Y>-93 then
                      Position.Y:=Position.Y-0.01;
                  end;
                3:begin
                    if Position.Y>-93 then
                      Position.Y:=Position.Y-0.1
                    else
                    if Position.X>-93 then
                      Position.X:=Position.X-0.1;
                  end;
          end;
end;
end;
end;
почему модели не отображаются, а в дебаг-моде не показыватеся значение переменных, отвечающих за координаты модели. вроде же все верно делаю...

#46
4:52, 30 янв. 2011
proxy:=TGLProxyObject(form1.gldmycb1.Objects.AddNewChild(TGLProxyObject));

и

with form1.gldmycb1.Objects.Children[i] do
#47
8:33, 30 янв. 2011

нет там раздела objects после dummy куба(

#48
13:15, 30 янв. 2011

А ну да. Я думал ты в сцену создаешь. Посмотри файл GLProxyObjects.pas тебе вроде нужен TGLActorProxy.

#49
15:23, 30 янв. 2011

сделал ребенком сцены и эта с*ка заработала!!!

#50
16:11, 30 янв. 2011

как разрешить SmoothInterface движение вверх\вниз, а то это не помогает:

    Navigator.MoveForward( isKeyDown( 'ö' ) or isKeyDown( 'w' ), isKeyDown( 's' ) or isKeyDown( 'û' ), DeltaTime );
    Navigator.StrafeHorizontal( isKeyDown( 'd' ) or isKeyDown( 'â' ), isKeyDown( 'a' ) or isKeyDown( 'ô' ), DeltaTime );
    Navigator.StrafeVertical( isKeyDown( 'r' ) or isKeyDown( 'ê' ), isKeyDown( 'à' ) or isKeyDown( 'f' ), DeltaTime );


VirtualUp(0,0,1)

Страницы: 1 2 3 4
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.