Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andreynaydenov/2dnoname
Ez gamedev
https://github.com/andreynaydenov/2dnoname
Last synced: 7 days ago
JSON representation
Ez gamedev
- Host: GitHub
- URL: https://github.com/andreynaydenov/2dnoname
- Owner: AndreyNaydenov
- Created: 2018-10-09T05:58:32.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-11-02T12:04:44.000Z (about 6 years ago)
- Last Synced: 2024-12-07T09:27:17.450Z (about 1 month ago)
- Language: GDScript
- Size: 4.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 2DNoname
Ez gamedev____________________________________________
НАЧАЛОЧтобы открыть проект в редакторе GODOT, импортируйте файл project.godot
Что сделано:
1. Созданы сцены главного меню(title.tscn), основная сцена магазина(main_ingame_scene.tscn) и склада(stock.tscn),
а также много других доп. сцен.
2. Написаны скрипты для подгрузки текстур на узлы. Это сделано для удобства замены текстур, в случае их перерисовки.
(если в редакторе на некоторых узлах не отображаются текстурки, это значит, что они подгружаются из скрипта)
3. Некоторые кнопки уже работают, например NewGame, quit, а также кнопка меню в игре(ящик с инструментами под столом)
и кнопка склада.
4. Проект разделен на папки: сцены, текстуры, скрипты, и т.д. думаю разберетесь.
____________________________________________v 0.1
1. Изменил сцену магазина.
2. Раскидал текстурки по папкам.
3. Создал главную сцену main_scene.tscn. В ней есть узел GlobalScripts, на которм будут висеть все глобальные скрипты.
4. Создал 1 глобальный скрипт ScеneManager. В нем создал функцию смены сцены.
!!!Чтобы менять сцены пользуйтесь только ей!!!
____________________________________________v0.1.1.
1. Добавил автозагружающиеся, существующие на протяжении всей игры скрипты. [Подробнее] http://docs.godotengine.org/en/3.0/getting_started/step_by_step/singletons_autoload.html)
WindowsInfo, SceneManager, MainCharacter находяся в папке GlobalScripts.
- WindowsInfo - информация об окнах в игре (пока что только 1 окно - диалоговое).
- SceneManager - служит для переключения сцен в игре (метод ChangeScene()) и для выхода в гланое меню
(метод QuitToTitle())
- MainCharacter - вся инфа ГГ (пока только имя)
2. Написал класс Window, который должен наследоваться любым внутрииговым окном. Этот класс обрабатывает перемещение окна мышкой
и закрытие окна. (Любое окно, наследующее Window, должно иметь кнопку с именем "CloseButton")
3. Сделал диалоговое окно. (подробно его работу расписывать не буду)
Суть диалогового окна:
- Окно берет реплики и опции ответа из папки Dialogs.
- В ней 2 подпапки individual и class: indiviudal - диалоги отдельных персонажей. class - классовые диалоги.
- Окно вызывается кликом на НПС и, оновываясь на его имени, выбирает нужный диалог. Сначала ищет в папке
individual, затем в class.
- Окно всегда начинает диалог с диалогового файла greet, поэтому в папке диалога всегда должен быть этот файл.4. Диалоговые файлы.
Суть их такова: в них мы указывам реплики, которые будет отображаться в диалоге и названия диалоговых
файлов, в которых есть следующие реплики.
Подробнее про то, как жиалоговые файлы работают смотри в "Пример диалогового файла.txt"5. НПС можно вызвать в любой сцене, нажав на Z. (Временно.Для проверки диалогов)
____________________________________________v0.1.2
1. Написал класс и создал сцену Inventory. В классе есть метод SetInventory(strName, sizeVec2) - устанавливает имя инвентаря и его размер Vector2(кол-во столбцов, кол-во строк), он обязательно должен быть вызвана после вызова сцены.
Пример использования инвентарей в StockUI.gd и ShopButtons.gd.
2. Предметы добавляются в инвентарь с помощью методов AddItem(имя предмета, НомерЯчейки(с 0-ля)) - в определенную ячейку, и AddItemToFreeCell(имя предмета, НомерЯчейки) - в первую свободную ячейку, начиная с указанной.
3. Предметы в инвентаре перетаскиваются. Если перетащить предмет на другой, то они поменяются местами если оба предмета в одном инвентаре, иначе предмет добавится в 1-ю свободную ячейку.
4. Добавил кнопку вызова инвентаря ГГ - такая коричневая хрень внизу(в сценах магазина и склада).
5. Добавил вызов инвентаря полок на складе.
6. Ну и сделал еще 1 глобальный класс JsonManager - для обработки "баз данных" предметов Json. Одна из таких "баз" (Databases/ItemsDatabase) содержит 3 предмета - консервы, водка, пистолет =). Добавляйте новые!
- PS. НПС все еще можно вызвать на Z.