Понедельник, 23 Декабря 2024, 18:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
координаты
zverДата: Суббота, 11 Декабря 2010, 18:57 | Сообщение # 1
частый гость
Сейчас нет на сайте
Подскажите как получить мировые координаты обьекта чтобы вдальнейшем изменять его позицию в пространстве ?
mitchДата: Суббота, 11 Декабря 2010, 19:00 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
zver, когда ты создавал объект(если ты его создавал), то указывал координаты в каком месте его рисовать, вот собственно отсюда их и бери
zverДата: Суббота, 11 Декабря 2010, 19:04 | Сообщение # 3
частый гость
Сейчас нет на сайте
Quote (mitch)
когда ты создавал объект(если ты его создавал), то указывал координаты в каком месте его рисовать, вот собственно отсюда их и бери

нет я указываю только динамическим.
mitchДата: Суббота, 11 Декабря 2010, 19:06 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
zver, всмысле? типа в процессе игры?
ты кстати ООП используешь?


Сообщение отредактировал mitch - Суббота, 11 Декабря 2010, 19:10
zverДата: Суббота, 11 Декабря 2010, 19:10 | Сообщение # 5
частый гость
Сейчас нет на сайте
При загрузки карты считываеться текстовый файл в котором уже указанны координаты днм обьектов. А в процессе игры они меняют свои координаты от приложенной к ним силы.
mitchДата: Суббота, 11 Декабря 2010, 19:13 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
zver, ну ты сначала координаты присваиваешь каким-то переменным и передаешь эти переменные в функцию, которую создает объект в заданных координатах, вот значение этих переменных и надо изменять
zverДата: Суббота, 11 Декабря 2010, 19:13 | Сообщение # 7
частый гость
Сейчас нет на сайте
Вот кусок кода

Code
     
// Создание днм примитивы
     Body[0] :=  dBodyCreate (World);
     dBodySetPosition        (Body[0], 0, cSTARTZ+cWHEEL_OFFSET, Index*4.5);
     dMassSetBox             (M, 1, cWIDTH, cHEIGHT, cLENGTH);
     dMassAdjust             (M, cCMASS);
     dBodySetMass            (Body[0], @M);
     Box[0] :=    dCreateBox (nil, cWIDTH, cHEIGHT, cLENGTH);
     dGeomSetBody            (Box[0], Body[0]);

Code

       begin
glPushMatrix();
          Pos := dBodyGetPosition(Body[0]);
          Rot := dBodyGetRotation(Body[0]);
          SetTransform(Pos, Rot);
Boxs.Draw; // Отрисовка модели
glPopMatrix();
mitchДата: Суббота, 11 Декабря 2010, 19:20 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
zver, хм, что-то я не могу разобраться в коде)
возможно в процедуре Boxs.Draw надо изменять координаты...
zverДата: Суббота, 11 Декабря 2010, 19:24 | Сообщение # 9
частый гость
Сейчас нет на сайте
дак вот я меняю спомошью функции
glTranslate();
За тем при сохранении надо получить мировые координаты чтобы в дальнейшем двиг знал где будет нажодиться обьект и меша коллайда)
mitchДата: Суббота, 11 Декабря 2010, 19:30 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
zver, в ОпенЖЛ я не силен)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг