Gluon/uk: Difference between revisions

From KDE UserBase Wiki
(Created page with 'Ієрархія Об’єкта гри (GameObject) складається з екземплярів GluonEngine::GameObject, має деревоподібну структур...')
(Created page with 'З логічної точки зору таку систему було створено з метою уможливлення для програмістів примусов...')
Line 22: Line 22:
Ієрархія Об’єкта гри (GameObject) складається з екземплярів GluonEngine::GameObject, має деревоподібну структуру з системою підпорядкованості, кожен елемент структури може мати довільну кількість екземплярів GluonEngine::Component. Компоненти (Component) забезпечують роботи основної частини логіки гри. Саме з причини використання компонентів у багатьох частинах гри у пакунку Gluon передбачено декілька попередньо створених компонентів (зокрема компоненти камери (Camera), обробки вхідних даних (Input), обробки сітки (MeshRenderer), обробки текстур (TextureRenderer) тощо).  
Ієрархія Об’єкта гри (GameObject) складається з екземплярів GluonEngine::GameObject, має деревоподібну структуру з системою підпорядкованості, кожен елемент структури може мати довільну кількість екземплярів GluonEngine::Component. Компоненти (Component) забезпечують роботи основної частини логіки гри. Саме з причини використання компонентів у багатьох частинах гри у пакунку Gluon передбачено декілька попередньо створених компонентів (зокрема компоненти камери (Camera), обробки вхідних даних (Input), обробки сітки (MeshRenderer), обробки текстур (TextureRenderer) тощо).  


The logic behind creating this system is to enable the game programmer to enforce encapsulation and create reusable components, which can then be applied to numerous GameObjects. It also allows for sane separation of the different types of logic required for each part of a GameObject, thus potentially creating cleaner, more readable code. At the same time, the structure described here would allow for the creation of a graphical tool to manage all of the components' settings. Components are implemented as plugins, making the code even more flexible and separated.  
З логічної точки зору таку систему було створено з метою уможливлення для програмістів примусової інкапсуляції та створення придатних для повторного використання компонентів (компоненти можна буде використати для багатьох Об’єктів гри (GameObject)). Такий поділ також призначено для зваженого відокремлення різних типів логіки, призначеної для керування кожною з частин Об’єкта гри (GameObject), а отже потенційного створення зрозумілішого, простого у читанні коду. Крім того, описана структура надає змогу створити графічний інтерфейс для керування всіма параметрами компонентів. Компоненти реалізовано як додатки, що робить код ще гнучкішим та розподіленішим.  


===More on Components===
===More on Components===

Revision as of 05:41, 10 July 2010

Other languages:

Вступ

У цьому розділі наведено нотатки щодо різноманітних частин Gluon:

Основи Gluon

Всі ігри, засновані на GluonEngine, створюються однаково. У цьому розділі наведено короткі відомості щодо способів роботи. Якщо у вас ще немає розуміння щодо того, як працює парадигма GameObject/Component, вам варто розпочати з читання цього розділу.

Вступ до Creator

Після того, як ви зрозумієте базову схему побудови гри за допомогою GluonEngine, ви зможете користуватися Gluon Creator, інструментом, призначеним для побудови ігор. У цій главі описано інтерфейс користувача і прийоми роботи з цим інструментом.

Створення ігор

Після ознайомлення з двома першими главами ви зможете розпочати створення ігор за допомогою Gluon, отже ми перейдемо саме до цієї теми. Якщо у вас виникатимуть труднощі на певних кроках і буде потрібна довідка зі специфічних питань, ви можете скористатися матеріалами цієї глави.

Основи Gluon

Ігри, побудовані за допомогою ігрового рушія Gluon, GluonEngine, називаються Проектами ігор. Вони складаються з набору об’єктів різних типів, які працюють спільно для створення гри. Нижче наведено короткий вступ щодо структури Проекту гри. Звичайно ж, ви можете одразу почати працювати з Gluon Creator без знання структури, але ці знання значно спростять вам роботу: ви будете ознайомлені з основними термінами, ці терміни використовуються у всій документації.

Ієрархія Об’єкта гри (GameObject)

На верхівці ієрархії об’єкта гри (GameObject) Gluon розташовано Проект гри (GameProject), на базовому рівні, вся ваша гра. У GameProject міститься одна або декілька сцен (Scenes), якими можуть бути будь-які об’єкти, від карти рівня до вікна з меню. Сцена складається з одного або декількох Об’єктів гри (GameObject). Об’єкт гри (GameObject) — ієрархічний об’єкт з інших об’єктів гри або довільної кількості компонентів. Об’єкт гри відповідає функціональному модулю сцени, наприклад, об’єкт автомобіль (Car), який може складатися з інших частин, які є самі Об’єктами гри (реактивний прискорювач або зброя). у Компонентах передбачено логічну схему, яка керує пов’язаними з ними Об’єктами гри. Компоненти може бути пов’язано з довільною кількістю Елементів (Asset). Елемент — частина даних, що зберігається на диску, наприклад, файл звукових даних або файл зображення.

Ієрархія Об’єкта гри (GameObject) складається з екземплярів GluonEngine::GameObject, має деревоподібну структуру з системою підпорядкованості, кожен елемент структури може мати довільну кількість екземплярів GluonEngine::Component. Компоненти (Component) забезпечують роботи основної частини логіки гри. Саме з причини використання компонентів у багатьох частинах гри у пакунку Gluon передбачено декілька попередньо створених компонентів (зокрема компоненти камери (Camera), обробки вхідних даних (Input), обробки сітки (MeshRenderer), обробки текстур (TextureRenderer) тощо).

З логічної точки зору таку систему було створено з метою уможливлення для програмістів примусової інкапсуляції та створення придатних для повторного використання компонентів (компоненти можна буде використати для багатьох Об’єктів гри (GameObject)). Такий поділ також призначено для зваженого відокремлення різних типів логіки, призначеної для керування кожною з частин Об’єкта гри (GameObject), а отже потенційного створення зрозумілішого, простого у читанні коду. Крім того, описана структура надає змогу створити графічний інтерфейс для керування всіма параметрами компонентів. Компоненти реалізовано як додатки, що робить код ще гнучкішим та розподіленішим.

More on Components

Components are like properties that you can attach to GameObjects, such as a "render" Component that actually makes the GameObject visible, or a "SoundListener" Component that gives the object the ability to listen to sounds. Components can also be scripts that controls the behaviour of the GameObjects attached to them. All GameObjects in Gluon have their Transform properties built-in, giving the object its position, rotation, and scale (it doesn't make much sense to have an object that doesn't have at least a position). Components do not have Transform properties, but the GameObject to which a Component is attached to does.

Вступ до Creator


In the image to the right you can see Gluon Creator in its default layout, with the Invaders sample loaded. In a rough clock-wise order, the elements of the window are:

Проект

У цій частині вікна буде показано всі елементи вашого проекту: звукові дані, дані тексту, скрипти та сцени.

Компоненти

This is a list of the pre-defined functionality available to you in Gluon Creator. The Components are things like sound emitters and listeners, camera controllers, input handlers and the like.

Перегляд

Тут буде показано поточну сцену з точки зону спостерігача (відеокамери).

Сцена

Вміст поточної сцени, точніше граф вашої сцени.

Властивості

Місце, за допомогою якого ви можете переглядати і змінювати всі параметри різноманітних компонентів, які пов’язано з об’єктами гри (GameObject) у вашій грі.

Повідомлення

Тут буде показано діагностичні повідомлення, повідомлення про помилки скриптів та інші відомості від різноманітних компонентів.

Робота з Gluon Creator

The work flow of using Gluon Creator to create games is based around the idea that you should be able to use your mouse for as much of the work as possible. As such, adding an Asset to your project is a task done by dragging a file into the Project pane from your file browser (or alternatively by clicking the "Add Asset..." button in the toolbar). It will then be copied to the project folder, and be made available for use in your game.

To describe a scene in a game, you select the appropriate Scene in the Project view, which causes it to be loaded and shown in the Scene pane, and in the View the camera view will show what the camera sees in the newly loaded scene. You can now edit this scene, by adding and removing GameObject to the Scene, and by adding Components to those GameObjects.

To add a GameObject to the scene, click on the "Add GameObject" button on the toolbar. This will add a new, empty GameObject to the Scene, and if you have an existing GameObject selected, the new one will be added as a child to the selected one. This allows you, as described in Gluon Basics, to build items for the game based on multiple GameObjects in a hierarchy, which all move along with each other.

So that you can change the values for the various Components, selecting a GameObject in the Scene view will make the properties for that object and all the Components on it show up in the Properties view, which is a scrollable, categorized list of all the various properties.

One of the functions which will be performed with some regularity from the Properties view is that of setting references to various Assets, for example setting the texture of a SpriteRenderer, or the sound of a SoundEmitter. This is done by clicking on the "..." button in the Properties view and selecting the appropriate item from the list.