Окна (инвентари)
|
|
Fireguy | Дата: Среда, 18 Апреля 2012, 22:00 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Доброго времени суток! У меня появился вопрос: Как реализовать окна? Имеется в виду окна инвентари как в РПГ. Отсюда выплывают пару вопросов:
1. Некая текстура фона окна которая изменяет размер в зависимости от ранее записанных перемменых (высоты и ширины) 2. Перетягивание окна 3. Мини инвентарь в каждом предмете на карте типа ящиков, сумок и т.д. 4. Возможность открыть два окна, например ящик- инвентарь и перетянуть предметы 5. Рандомный спаун предметов в объектах-инвентарях, хотя ограниченный определлеными видами и количеством 6. Возможность активировать или дезактивировать объекты (как в Проект Зомбоид печка) с помощью пришитой к окну кнопке
Coder is like a King in his own realm
|
|
| |
Andrey_M | Дата: Среда, 18 Апреля 2012, 22:02 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Сделай такЮ чтобы создавался объект, который бы двигался за игроком, и на нём уже крепи элементы (это простой вариант). А так - поищи уроки по этой теме, они есть.
ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
|
|
| |
Fireguy | Дата: Среда, 18 Апреля 2012, 22:05 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Andrey_M, Эт я знаю(все равно СПС), но я спрашиваю не про инвентарь игрока, а про другие инвентари
Coder is like a King in his own realm
|
|
| |
Andrey_M | Дата: Среда, 18 Апреля 2012, 22:06 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| А какие другие инвентари? Я в РПГ из принципа не играю, только если у друзей,б сори...
ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
|
|
| |
Fireguy | Дата: Среда, 18 Апреля 2012, 22:08 | Сообщение # 5 |
участник
Сейчас нет на сайте
| Например запасы еды в кухонной шухляде , тоесть инвентарь этой шухляды
Coder is like a King in his own realm
|
|
| |
Andrey_M | Дата: Среда, 18 Апреля 2012, 22:11 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Также сделай, только привяжи инвентарь не к игроку, а к кухонной шухляде.
ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
|
|
| |
Fireguy | Дата: Среда, 18 Апреля 2012, 22:13 | Сообщение # 7 |
участник
Сейчас нет на сайте
| Andrey_M, Можно все подробно описать и повопросно ?
Coder is like a King in his own realm
|
|
| |
Andrey_M | Дата: Среда, 18 Апреля 2012, 22:31 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| Ну хорошо... (сорри что на кнопках) Прописывешь у твоего предмета, к которому принадлежит инвентарь, в событиях столкновение с игроком. В действиях выбираешь "create instance" и выбираешь там объект инвентаря. Ставишь галочку в "relative". Затем на это же событие ставишь создание переменной (например, Х) Затем ставишь в степе, или просто в объекте игрока проверку переменной Х, и если она верна, то персонж должен заменяться (change instance) на объект с таким же спрайтом, как у игрока, но неподвтжный. На нажатие эскейп или ещё чего нибудь (в событиях кухни) поставь действия: задать Х ложной, и телепортировать (jump по моему) объект игрока на 10 единиц в сторону от кухни.
ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
|
|
| |
Fireguy | Дата: Среда, 18 Апреля 2012, 22:38 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Andrey_M, Конечно спасибо за информацию но я имел в виду что при нажатии на этот предмет (причем на определенном растоянии) откривался его инвентарь (независимое окно внутри игры) и при втором нажатии на предмет или нажатии на крестик на окне оно закрывалось.
Coder is like a King in his own realm
|
|
| |
Andrey_M | Дата: Среда, 18 Апреля 2012, 22:47 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| Вместо столкновения в окне предмета пропиши нажатие мыши, и в событии создания инвентаря припиши создание крестика, который понятно как будет закрывть себя.
ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
|
|
| |
LunarPixel | Дата: Среда, 18 Апреля 2012, 22:48 | Сообщение # 11 |
старожил
Сейчас нет на сайте
| Fireguy, событие нажатия клавиши мыши на предмет не знаешь как делать!? если нет, читай справку. Хотя и без справки догадаться можно. В это событии пишешь код создания объекта, в твоем случае окна инвентаря. То же событие используешь для закрытия, только вместо создания удаляешь объект инвентаря.
|
|
| |
Andrey_M | Дата: Среда, 18 Апреля 2012, 22:54 | Сообщение # 12 |
старожил
Сейчас нет на сайте
| Я предлагал как проще, без кода... На кнопках правда проще, просто кодить элитнее, и сразу повышает ЧСВ девелопера..
ЪЪЪЪ! Лучшая благодарность - плюс в репутацию :-)
|
|
| |
Fireguy | Дата: Среда, 18 Апреля 2012, 23:02 | Сообщение # 13 |
участник
Сейчас нет на сайте
| Люди мы немножко отошли от вопросов...... я знаю как объекты создавать (GML C#) чуть знаю Отвечайте плиз по-пунктно
1........ 2........ 3........ 4........ и т.д.
Coder is like a King in his own realm
|
|
| |
LunarPixel | Дата: Среда, 18 Апреля 2012, 23:17 | Сообщение # 14 |
старожил
Сейчас нет на сайте
| 1. растягивание картинки или создания множества маленьких склеенных картинок 2. событие нажатия мыши и слежка за курсором пока мышь не отпущена. 3. создание объекта инвентаря с настройками в зависимости от предмета на который нажали. Было описано выше. Настройки уж задавай сам какие хочешь. Грубо говоря, есть переменная INV, при нажатии на предмет она принимает разные значения, определяя тип инвентаря. 4. открываем два инвентаря по принципу 3-го пункта. Меняем глубину отображения объекта инвентаря, в зависимости от того, какой инвентарь на переднем плане. Создаем в инвентарях объекты которые там лежат, кликаем по объекту и перетаскиваем по принципу 2. Проверяем находится ли объект над другим инвентарем или в конкретных его координатах, и если да, то переносим объект в тот инвентарь (удаляем из одного массива и добавляем в другой). 5. создаем массив объектов, в этом массиве делим объекты на типы. Выбираем случайные значения из массива определенного типа. 6. в Проект Зомбоид не играл )
|
|
| |
Fireguy | Дата: Четверг, 19 Апреля 2012, 23:02 | Сообщение # 15 |
участник
Сейчас нет на сайте
| Бро, спс ставлю +, но некоторое я не понял:
1. Как реализовать растягивание текстуры (небольшой) окна при сохранении шырины рамочки текстуры а прочто изменение размеров (без увелечения масштаба тексты) 2. + 3. Все понятно, но я имел в виду не разные виды инвениарей, а инвентари с разным содержимым. Например два оденаковых ящика в которых находяться разные вещи. 4. По принцыпу.....? 2. Поможешь как это прописать (перемещение обьекта в другой массив с сохранением количества. 5. + 6. Поиграй понравиться) Ну типа на окне есть всегда крестик, ну на окнах печки например есть кнопка on/offДобавлено (19.04.2012, 23:02) --------------------------------------------- Ну люди але? Ктот поможет?
Coder is like a King in his own realm
|
|
| |
LunarPixel | Дата: Четверг, 19 Апреля 2012, 23:16 | Сообщение # 16 |
старожил
Сейчас нет на сайте
| 1. если у тебя какая-то готовая картинка, то растягивание будет проблематично. Как правило такие объекта фиксированного размера. Если же фон и рамка однородные, то фон растягиваешь по всем направлениям, а рамку собираешь из двух полосок (вертикальной и горизонтальной) и тянешь их соответственно в высоту и ширину.
3. в чем разница с этим Quote (LunarPixel) 5. создаем массив объектов, в этом массиве делим объекты на типы. Выбираем случайные значения из массива определенного типа.
4. как описано во втором пункте тянешь объект какой нибудь из инвентаря. При нажатии на объект, получаешь его количество и удаляешь из бывшего массива (количество хранится теперь только в самом объекте). При отпускании объекта над другим инвентарем прибавляешь к массиву второго инвентаря новый объект и вносишь в массив его количество. При отпускании над старым инвентарем, тоже самое происходит, только в старом массиве.
5. ну и в чем проблема?! ну создаешь этот самый крестик, делаешь событие нажатия на него и в этой событии пишешь что тебе нужно.
|
|
| |
Fireguy | Дата: Суббота, 21 Апреля 2012, 02:59 | Сообщение # 17 |
участник
Сейчас нет на сайте
| LunarPixel, Спасибо. Но очень сильно прошу зделать примерчик
Coder is like a King in his own realm
|
|
| |