<<<Назад <<<

Как добавить анимерованые 3d обьекты часть II

Вы наверное видели всякие открывающиеся там блокноты и ноутбуки в игре так вот как их добывить и использовать.

Добавляем анимированый ноутбук.

Я не коментировал те строки которые уже описывались ранее

Создаём файл description.ext и внём пишем:

#define FontM "tahomaB36"
#define FontHTML "CourierNewB64"

#define ST_HPOS 0x0F
#define ST_LEFT 0
#define ST_RIGHT 1
#define ST_CENTER 2
#define ST_FRAME 64

#define CT_STATIC 0
#define CT_BUTTON 1
#define CT_EDIT 2
#define CT_SLIDER 3
#define CT_COMBO 4
#define CT_LISTBOX 5
#define CT_ACTIVETEXT 11
#define CT_3DSTATIC 20
#define CT_3DACTIVETEXT 21
#define CT_3DLISTBOX 22
#define CT_3DHTML 23
#define CT_3DSLIDER 24
#define CT_3DEDIT 25
#define CT_OBJECT 80
#define CT_OBJECT_ZOOM 81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83

class RscText
{
  type = CT_STATIC;
  idc = -1;
  style = ST_LEFT;
  colorBackground[] = {0, 0, 0, 0};
  colorText[] = {1, 1, 1, 1};
  font = FontM;
  sizeEx = 0.04;
};
class RscActiveText
{
  type = CT_ACTIVETEXT;
  idc = -1;
  style = ST_LEFT;
  color[] = {1, 1, 1, 1};
  colorActive[] = {1, 0, 0, 1};
  font = FontM;
  sizeEx = 0.04;
  soundEnter[] = {"ui\ui_over", 0.2, 1};
  soundPush[] = {, 0.2, 1};
  soundClick[] = {"ui\ui_ok", 0.2, 1};
  soundEscape[] = {"ui\ui_cc", 0.2, 1};
  default = false;
};
class RscButton
{
  type = CT_BUTTON;
  idc = -1;
  style = ST_CENTER;
  colorText[] = {0, 0, 0, 1};
  font = FontHTML;
  sizeEx = 0.025;
  soundPush[] = {, 0.2, 1};
  soundClick[] = {"ui\ui_ok", 0.2, 1};
  soundEscape[] = {"ui\ui_cc", 0.2, 1};
  default = false;
};
class RscEdit
{
  type = CT_EDIT;
  idc = -1;
  style = ST_LEFT;
  font = FontHTML;
  sizeEx = 0.02;
  colorText[] = {0, 0, 0, 1};
  colorSelection[] = {0.5, 0.5, 0.5, 1};
  autocomplete = false;
  text = ;
};
class RscLB_C
{
  style = ST_LEFT;
  idc = -1;
  colorSelect[] = {0.4, 0.4, 0.4, 1};
  colorSelectBackground[] = {0.2, 0.2, 0.2, 1};
  colorText[] = {0.2, 0.2, 0.2, 1};
  colorBackground[] = {0.4, 0.4, 0.4, 1};
  font = FontHTML;
  sizeEx = 0.025;
  rowHeight = 0.04;
};
class RscListBox : RscLB_C
{
  type = CT_LISTBOX;
};
class RscCombo : RscLB_C
{
  type = CT_COMBO;
  wholeHeight = 0.3;
};
class RscObject
{
  type = CT_OBJECT;
  scale = 1.0;
  direction[] = {0, 0, 1};
  up[] = {0, 1, 0};
};
class Rsc3DStatic
{
  type = CT_3DSTATIC;
  font = FontHTML;
  style = ST_LEFT;
  selection = "display";
  angle = 0;
  size = 0.04;
  color[] = {0,0,0,1};
};
// Имя нашего диалога
class DlgTutorial
{
  idd = -1;
  movingEnable = true;
  controlsBackground[] = { };
  controls[] = {};
  // Определяем классы обьектов, которые мы добавим
  objects[] = { Organizer };
  class Organizer : RscObject
  {
    //модель обьекта
    model = "notebook.p3d";
    idc = -1;
    type = CT_OBJECT_CONT_ANIM;
    autoOpen = true;
    autoZoom = true;
    animSpeed = 1;
    //фаил анимации
    animation = "notebook.rtm"
    position[] = {0.1, 0, 0.6};
    direction[] = {0, 0, 90};
    up[] = {0, cos 20, -sin 20};
    positionBack[] = {0.1, 0, 0.8};
    inBack = true;
    enableZoom = false;
    zoomDuration = 1;
    scale=1;
    controls[]={MY_TEXT1,MY_TEXT2}; // Перечисление классов с текстом которые используются ниже
    // Этот класс MY_TEXT1 наследует Rsc3DStatic, то есть ему автоматически все свойства класса Rsc3DStatic
    class MY_TEXT1 : Rsc3DStatic
    {
      idc = 100;
      selection = "display"; // Та часть (selection) модели на которой будем писать текст их задают в O2
      x = 0.025; y = 0.033; w = 0.9; h = 0.13; // Собсно расположение текста
      angle = 0; // Угол поворота текста
      size = 0.3; // Размер текста
      color[] = {1, 0, 0, 1};
      text = "Nero12 Приветствует вас!";
    };
    class MY_TEXT2 : Rsc3DStatic
    {
      idc = 100;
      selection = "display"; // Та часть (selection) модели на которой будем писать текст их задают в O2
      x = 0.025; y = 0.3; w = 0.9; h = 0.13; //Собсно расположение текста
      angle = 0; // Угол поворота текста
      size = 0.3; // Размер текста
      c olor[] = {0, 0.65, 1.0, 1};
      text = "nero12@mail.ru";
    };
  };
};


Вызываем обьект вот так: делаем фаил createDialog.sqs с содержанием:

_ok = createDialog "DlgTutorial"
?(!_ok): hint "Error!";
exit

Пример находится в папке "ПРИМЕРЫ" под названием - "Как добавить анимерованые 3d обьекты часть II"
<<<Назад <<<