Map Editor |
Здравейте ( Вход | Регистрация )
Map Editor |
21:32:51, 04-April-2011, Monday
Коментар
#1
|
|
Редовен потребител Група: Потребител Коментари: 102 Регистриран: 23.08.09 Град: Силистра. Потребител № 1490 |
Значи незнам дали тази тема е за тук, но колкото и да опитвам немога да си направя Map Editor.
Играта ми е RPG в Map Editora да мога да слагам герой, магазин, дървета, да правя room height i room weight, да сменям Backgrounda на rooma и т.н. Да бъде все едно като в Game Maker слагаш обект там обект там, самоче искам като игра. Файла да може да се сейфа като някакъв формат, който ще чете оригиналната игра и това е. Моля ако знаете как помогнете. -------------------- Влезте в новият ми сайт : http://term1nat0r.netne.net/ |
|
|
14:27:56, 05-April-2011, Tuesday
Коментар
#2
|
|
Потребител Група: Потребител Коментари: 88 Регистриран: 29.05.08 Град: Montana Потребител № 1014 |
Много добър въпрос! И на мене ми се въртеха такива въпроси през миналите месеци. За съжаление идеите в главата ми са само теории и не са изпробвани. Залавям се веднага да изпробвам, ако стане - качвам да го видиш.
-------------------- |
|
|
15:35:55, 05-April-2011, Tuesday
Коментар
#3
|
|
Редовен потребител Група: Потребител Коментари: 102 Регистриран: 23.08.09 Град: Силистра. Потребител № 1490 |
Аз имам идея как да стане, но нещо не ми се получава, но ще опитам пак да го направя. Ако стане ще кажа.
-------------------- Влезте в новият ми сайт : http://term1nat0r.netne.net/ |
|
|
16:53:31, 05-April-2011, Tuesday
Коментар
#4
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
За редактор в общи линии ти трябват бази от данни, в които да се съхранява информацията за поставените обекти.
Тези бази от дании могат да бъдат под различна форма, примерно като масиви или обекти(не го препоръчвам) или ds_* функции. Да кажем, че използваш ds_list_* функциите. За всеки обект ти трябва да знаеш къде се намира - неговите координати х и у. Следователно се нуждаеш от два листа obektx и obekty. Да кажем, че си ги създал и вече си поставил няколко обекта. Листовете биха могли да имат следния вид: Цитат obektx: 30 42 15 60 obekty: 13 22 40 60 Тука трябва да се има впредвид едно важно нещо - стойностите си отговарят по двойки - първите две стойности (30 и 13) са за един и същи обект, вторите също и така има четири обекта с координати 30;13 42;22 15;40 60;60 - това е един лесен начин за логическо свързване на стойностите от двата листа. Но тук идва един проблем: кой обект какъв е? Играчът, враг, стена? Позицията сама по себе си не е достатъчна за обозначаване на това. За това се налага трети лист(или масив), който да обозначава видът на обекта: Цитат obektx: 30 42 15 60 obekty: 13 22 40 60 obektvid: igra4 vrag stena stena Това вече е необходимият минимум. Обаче пак изниква проблем - видът на обекта ако се съхранява под формата на низ заема много повече място, отколкото ако е като число(това става по-осезаемо, когато се налага да се запази картата с по-малък размер) и може да се сбърка - дали беше igra4 или geroi, zombi или vrag. Как се решава този проблем? Сравнително просто - вместо имена на обекти се използват индекси на обекти. 0 във базата данни obektvid ще отговаря на играчът, 1 на врагът, 2 на стената и т.н. За да се укаже това се нуждаем от още една база данни: Цитат obektime: igra4 vrag stena orajie npc obektx: 30 42 15 60 obekty: 13 22 40 60 obektvid: 0 1 2 2 Оbektime не е свързан с останалите три листа - той указва името на даден обект. Понеже "постави 0" или "постави 2" не ни говорят много, се използва този лист obektime, за да се заменят индексите на обектите с имената им("постави играч", "постави стена") - това е изцяло за потребителския интерфейс и не се запазва в картите. Ако всеки обект има и някаква начална стойност, която трябва да бъде зададена в левъледитора, за това трябва поредният лист Цитат obektime: igra4 vrag stena orajie npc obektx: 30 42 15 60 obekty: 13 22 40 60 obektvid: 0 1 2 2 obektzdrave: 100 35 50 50 obektposoka: 0 45 90 90 Останалата работа е свързана с функционалност на едитора за създаване и унищожаване на обекти, преместването и редактирането им. Потребителският интерфейс също трябва да е добър, за да е удобен едиторът за използване. Записването и зареждането се свежда единствено до записване и четене на данните от файл. Не е задължително да е текстов, може да е с какво си искаш разширение. Първият ред може да обозначава първият лист, вторият ред - вторият и т.н. Код 30 42 15 60
13 22 40 60 0 1 2 2 100 35 50 50 0 45 90 90 -------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
17:01:27, 05-April-2011, Tuesday
Коментар
#5
|
|
Редовен потребител Група: Потребител Коментари: 102 Регистриран: 23.08.09 Град: Силистра. Потребител № 1490 |
Да много благодаря за този отговор ще се опитам да го направя и ако стане ще пиша .
-------------------- Влезте в новият ми сайт : http://term1nat0r.netne.net/ |
|
|
22:20:01, 05-April-2011, Tuesday
Коментар
#6
|
|
Потребител Група: Потребител Коментари: 88 Регистриран: 29.05.08 Град: Montana Потребител № 1014 |
Както винаги очакванията са 5 пъти по-прости. Все пак успех да го направа с неколко пъти преправяне и дано нема буби в едитора . Абе на ония фропесор горе му се чуда кви са тия неща и висши математики дека ми реди, ама ако му разбираш, тогава си ок с мене. Все пак хвърли окото си тука http://dox.bg/files/dw?a=56efb30b60 и да не си го забравиш!
-------------------- |
|
|
10:43:17, 06-April-2011, Wednesday
Коментар
#7
|
|
Засмян тъпоъгълник :D Група: Администратор Коментари: 1790 Регистриран: 21.07.08 Град: Това е място, населено с много хора. FPS: 60 Потребител № 1116 |
Чак пък висши математики не - това е един прост начин да си направиш левъл едитор. Даже и да не си го разбрал, съм 99% сигурен, че използваш начин, подобен на описания, защото това си е основата .
-------------------- Цитат Пешо: 4:53:46 Я недейти са карайти тука че да ни ва зашливйъ |
|
|
Олекотена версия | Час: 01:23:35, 19.05.24 |