Сайт посвящен игре Stranded
Среда, 18.10.2017
Меню сайта
Категории раздела
Stranded 3 [22]
Stranded 2 [7]
Stranded 2 S2Ext [10]
Stranded 2 Lost in Space [6]
Stranded 2 DevMod [8]
Stranded 2 Massive Mod [6]
Stranded 2 The Survivalist [8]
Stranded 2.5 Desert Island [8]
Скрипты [6]
FEOLPA [1]
Модинг [7]
Команды [1]
Архив [6]
Форма входа
Быстрая навигация
Мини-чат
Главная » Статьи » Stranded 3

1 февраля 2013 года. Наследование атрибутов.

  
Многопользовательская онлайн игра 'Герои битвы'


Наследование атрибутов


Stranded 3 имеет возможность наследовать атрибуты. Это полезно для ленивых людей, которые хотят определить одинаковые объекты с небольшими отличиями.

Например:


virtual=tree

category=Trees


define object=palmtree01

extends=tree

name=Palmtree

model=res:palmtree01


define object=bluetree

extends=palmtree01

name=Blue Palmtree

model_color=blue


"virtual" определяет виртуальный объект. Определяя виртуальный объект, мы его сможем использовать позже в определениях, указывая в атрибуте "extends", это позволяет расширить атрибуты описанные в виртуальном объекте на новый созданный объект. Это означает, что он будет наследовать все атрибуты от другого объекта , и вы тогда сможете добавить / изменить атрибуты у нового созданного объекта.

строка extends=tree тоже самое что category=Trees, потому что виртуальный объект "tree" содержит только одну строку.


extends=palmtree01 примет все строки из определения palmtree01 и внедрит их в объект "bluetree". Так BlueTree в основном тот же объект, "palmtree01" только с другим именем и другим атрибутом model_color (и другим идентификатором , конечно) .


Вы также можете наследовать атрибуты сразу от нескольких объектов. Stranded 3 предупредит вас в случае, если вы наследуете от того же объекта несколько раз ( это может произойти прямо и косвенно . Например, вы наследуете атрибуты дерева два раза , если вы добавите строку extends=tree в "BlueTree", потому что это уже расширяет palmtree01 которые сам уже содержит атрибут дерева! ) . Кроме того Stranded 3 определяет глубину иерархии наследований и отменяет бесконечные циклы наследования с подробными предупреждениями, чтобы избежать вылетает в случае неправильных определений ;)


Автоматическая генерация миникарты


Я просто взял цвета от генератора миникарты Stranded 3 и вот результат . Я также немного улучшил окно " Управление ландшафтом".




Перемещение и вращение объектов


Теперь в редакторе можно перемещать и вращать любой объект с помощью мыши. Там же есть кнопка для установки начального угла поворота для новых объектов и заполнения местности с кнопкой объектов. Также определены клавиши клавиатуры для перемещения и вращения и для открыть свойств / удаления объектов.


Оригинал: http://stranded3.com/?p=119


Комментарий Devi409:


Допилки и доработки и улучшение функционала разработки.

Система наследования очень практична и используется в объектно ориентированном программировании везде где только программист это может, если конечно он знает о ней :). Но по сути пример который показал Peter не очень наглядный. Попытаюсь более подробно пояснить:

Допустим у нас есть объект дерево, предмет палка и предмет - оружие лук.

Все три предмета имеют схожие атрибуты 

материал = дерево

плавает на воде = да

горит = да

вот теперь представьте что нам нужно описать один объект и два предмета в конфигурационном файле. пришлось бы делать как то так:


Пальма{

материал = дерево

плавает на воде = да

горит = да

}


Палка{

материал = дерево

плавает на воде = да

горит = да

}


Лук{

материал = дерево

плавает на воде = да

горит = да

}


Не правда ли достаточно объемный код? Ну а теперь попробуем тоже самое сделать с системой наследования.


Создадим виртуальный объект


виртуальный{

материал = дерево

плавает на воде = да

горит = да

}


а теперь опишем объект и два предмета


Пальма{

наследуем = виртуальный

}


Палка{

наследуем = виртуальный

}


Лук{

наследуем = виртуальный

}


намного проще и короче. Тем более что к строке "наследуем = виртуальный" вы можете добавлять еще новые атрибуты которые будут характеризовать уже каждый объект, предмет более детально.



Источник: http://stranded3.com/?p=119
Категория: Stranded 3 | Добавил: devi409 (06.02.2014)
Просмотров: 641 | Комментарии: 1 | Теги: Stranded 3, разработка stranded 3, Stranded III | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Наш опрос
Желаете ли вы участвовать в разработке нового мода?
Всего ответов: 1837
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2017