Сайт посвящен игре Stranded
Суббота, 20.04.2024
Меню сайта
Категории раздела
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

12 марта 2014 г. Наследование в определении объектов.

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

Перевод:


Расширенние определений


Расширенные описания классов Unity3D позволяет создавать игровые объекты со свойствами (огонь или источник света и др.) а также позволяет создавать наследование (другие игровые объекты, на основе родителя). Я хотел, чтобы такая возможность была в Stranded 3. Чтобы сделать это возможным, я должен был расширить систему определения объектов, добавляя в нее инкапсуляцию.


я это не до конца доделал, но пока вот краткий простой пример, чтобы дать вам представление о том, как он выглядит:


КОД:

abstract object "tree" {

category=Trees

}


object "palmtree01" extends "tree" {

name=Palmtree

model=res:Palm_plant_01_01

model_size=2,2,2

collision {

type=capsule

radius=0.5

height=7

direction=1

offset=0.2,3,0

}

}

Вы можете видеть, что система наследования (обратите внимание на абстракцию и расширения ключевыми словами) по-прежнему присутствует. Для дерева указана обработка коллизии (столкновения). В данном случае режим столкновения "капсула".


Я планирую это расширить поэтому это вы сможете делать так:


КОД:

object "bla" {

...

child {

model=...

child {

...

}

}

}

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


Расширенныая отладка


Отладка в скриптах является важнейшей задачей для всех, кто изменяет их. По этой причине сейчас гораздо легче это сделать. Новая консоль не только дает просмотр файла и строку ошибки, но это также делает его активным. Так что вы можете просто нажать на ошибку и ваш текстовый редактор откроет файл и перейдет к строке, которая вызвала проблему. Это контролируется через файл конфигурации. Вы можете изменить этот файл и необходимые параметры командной строки, чтобы использовать эту функцию в любом текстовом редакторе по вашему усмотрению.


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


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


Долгожданная новость. Однако с переводом пришлось повозиться. Как то сложно Петер описал основы объектно ориентированного программирования :)

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

Наследование - заведомо определяет вас к созданию объектов иерархического вида. т.е.

создаем материл дерево - оно обладает свойствами плавать на воде и гореть

теперь создаем само дерево наприер березу. собственно она также имеет свои свойства.

а еще есть такой объект как стул из дерева.


по сути это три разных объекта в Stranded 2 но с использованием наседования можно построить иерархическую модель дерево как материа -> дерево как растительный объект -> стул как объект сделанный из дерева

и описав свойства гореть и плавать в материале и потом указав наследование то в объекте стул не надо писать эти ствойства, они там уже будут так как эти свойства унаследует данный объект от своих родителей.


С инкапсуляцией еще сложнее для простого понимания. об этом лучше почитайте соответствующие статьи например в википедии.


Как было сказано в одном из комментарии, что такими заумными методами легко общаться программистам, но не обычным людям которые хотели бы изменить чтото в игре. От части я с ним согласен, но только от части. Объектно ориентированное программирование это достаточно хорошая модель представления информации. Может быть это послужит хотябы не большому количеству людей заняться изучением основ программирования...




Источник: http://stranded3.com/?p=197
Категория: Stranded 3 | Добавил: devi409 (17.03.2014)
Просмотров: 1271 | Рейтинг: 3.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Наш опрос
При написании нового мода необходимо добавить:
Всего ответов: 2044
Статистика

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