Показать сообщение отдельно
Старый 16.01.2011, 03:37   #1297
cancel
Оператор ЭВМ
 
Аватар для cancel
 
Регистрация: 26.06.2009
Сообщений: 31
Написано 10 полезных сообщений
(для 29 пользователей)
Ответ: Вопрос-Ответ (для новичков)

Приветик.
У меня проблемы с entity.
Вот у меня тип в Delphi:

type
  TPed = record
  	xpos: Single;
    ypos: Single;
    zpos: Single;
    rot: Single;
    id: Integer;	// Internal ID
		Handle: Integer; // For CopyEntity etc...
    state: TPEDState;	// IDLE, WALKING, RUNNING, etc...
  end;
Сделал массив из типа
allpeds: array[0..4] of TPed;
Первый объект allpeds[0] контролирую с указательными клавишами а остальные должны сами двигаться (AI).
Первый объект нормально двигается.


Но остальные почему то набирают скорость как машины и улетают за пределы всего экрана. Ну этого мне не надо. Скорость дольжна быть тоже самой что у объекта 0.

Юзаю Blitz3DSDK.pas в Delphi. Тоже самое в Blitz3D было.

Вот куски кода без медиа.
kuup:=CreateCube;
for i:=0 to 4 do
  begin
    allpeds[i].id:=CopyEntity(Kuup);
    allpeds[i].xpos:=Random(20);
    allpeds[i].zpos:=Random(20);
    allpeds[i].ypos:=0;
    allpeds[i].rot:=Random(360);
    PositionEntity(allpeds[i].id, allpeds[i].xpos, allpeds[i].ypos, allpeds[i].zpos );
    RotateEntity(allpeds[i].id,0, allpeds[i].rot,0);
    EntityColor(allpeds[i].id, 161,195,81);
    ScaleEntity(allPeds[i].id, 1.2, 0.01, 1.2);
    EntityFX(allPeds[i].id,4+32);
    EntityTexture(allpeds[i].id, PedTex,8);
  end;

 while KeyHit(1)=0 do
  begin


 

// Вот тут я их двигаю... а они улетают.

    TmpX:=TmpX+0.001;

  for i:=1 to 4 do
  begin
    MoveEntity(allPeds[i].id, TmpX,0,0);
   
  end;
    
    RenderWorld;
    UpdateWorld;

...
Flip;
  end;

Если что-то еще надо пишите.

Что я не так делаю ?
(Offline)
 
Ответить с цитированием