Четверг, 12 Декабря 2024, 18:21

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Сундук
madsenДата: Пятница, 12 Июля 2013, 16:49 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Всем привет!

У меня в игре реализована возможность расставлять объекты на уровне, 1 из них - сундук.
Как его реализовать без drag & drop?
Пример - у меня есть 1 полоска нити, Я хочу положить ее в сундук , открываю его, ищу надпись "нить" и нажимаю на кнопку "+" которая расположена рядом с ней
появляется цифра 1 над нитью (В интерфейсе сундука). Если же я захочу ее забрать, то я нажму на "-"
И еще, как сделать так, что-бы сундук можно было-бы открыть если например у какого-нибудь текста надпись равна 123?
Жду ответа! Кто помог конечно же получит плюс!


ScirrA ConstrucT
-------------------------
Unity 3D
-------------------------
Crytek Engine 3
-------------------------
Unreal Development Kit


Сообщение отредактировал madsen - Пятница, 12 Июля 2013, 16:55
Nick_RimerДата: Вторник, 16 Июля 2013, 09:40 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Цитата
что-бы ... было-бы

пишется без дефиса. в первом случае слитно, во втором раздельно. но через дефис - никогда.

вообще из твоего текста я мало чего понял.. ща попробуем пройтись по полочкам..
Цитата
Как его реализовать без drag & drop

а как его реализовать с ним? не совсем понял, что ты хочешь. тебе надо, чтобы после открытия сундука появлялись кнопки плюс и минус? ну это уже вопрос к созданию интерфейса, можно сделать по аналогии с меню. нажатием на плюс/минус увеличивать/уменьшать приватную/глобальную переменную вроде несложно.. а потом считывать и писать туда, где
Цитата
появляется цифра 1 над нитью


Цитата
как сделать так, что-бы сундук можно было-бы открыть если например у какого-нибудь текста надпись равна 123

ты вроде не первый день занимаешься констрактом, а вопросы нубские.. событие нужно сделать, которое проверяло бы, какой там у нас текст там-то..
типа того: клац!


- Доброе утро, Агент Пи!
madsenДата: Вторник, 16 Июля 2013, 16:09 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
а вещи ложить как?

ScirrA ConstrucT
-------------------------
Unity 3D
-------------------------
Crytek Engine 3
-------------------------
Unreal Development Kit
Nick_RimerДата: Вторник, 16 Июля 2013, 16:36 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
madsen, скажу чуть-чуть теории.. надеюсь, что я не забыл ещё эту тему настолько, чтобы говорить фундаментально неверно, поэтому можешь мне верить smile

обычно в ЯП высокого уровня орудуют таким понятием, как класс.
классы призваны облегчить судьбу программиста тем, что близкие по функциям объекты не надо несколько раз описывать. один раз описал класс со всеми его свойствами, и пользуешься им дальше. при этом все наследники этого класса в свою очередь получают все свойства данного класса и могут обзаводиться новыми (но об этом не в этот раз).

приведу пример.
автомобиль. согласись, есть такие свойства, которыми можно описать все автомобили на свете: колёса, кузов, двигатель, скорость и т.п. это база. вот так и создаётся класс.
но при этом каждый объект в отдельности будет обладать своими параметрами в каждом частном случае. я могу создать порш 911, и его максимальная скорость будет выше запорожца, согласись smile однако они будут "родственниками" одного класса.

в СС несколько сложнее. трудно описать класс "сундук" и использовать его. но создать сундук, наполненный свойствами (просто переменными, каждая из которых что-то значит) можно. создаётся такой базовый сундук, а по миру ставятся его копии. и каждая копия будет обладать теми же свойствами, но со своими значениями. некий аналог классовости..

поэтому если в одном сундуке ты сделаешь Chest.Rope+1, это не должно отражаться на всех прочих сундуках. главное выбрать нужный сундук, тот, с которым ты в данный момент работаешь, а не все.

по крайней мере я пока не вижу себе, как это сделать по-другому.


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Вторник, 16 Июля 2013, 16:38
LasmelanДата: Вторник, 16 Июля 2013, 19:17 | Сообщение # 5
Construct 2 & Classic
Сейчас нет на сайте
Цитата (madsen)
а вещи ложить как?


Может, использовать переменные? Вот, например.



Мое портфолио:
Nick_RimerДата: Среда, 17 Июля 2013, 08:46 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
Lasmelan, будто бы я написал что-то другое smile только я расписал это пошире, чтобы человек понимал суть дела шире обычной постановки задачи

Добавлено (17.07.2013, 08:46)
---------------------------------------------
Короче говоря.. дело обстоит примерно так: раз-два-три! (пример для СС r2)
управление:
стрелками влево и вправо - меняем список инвентаря, что именно хотим положить/забрать
стрелками вниз и вверх соответственно кладём в сундук и забираем из сундука выбранный предмет
пробелом открываем или закрываем сундук. с закрытым сундуком работать нельзя.

картинки взял из инета, "левые", какие под руку попались, так что..


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Среда, 17 Июля 2013, 09:07
madsenДата: Среда, 17 Июля 2013, 11:21 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Nick_Rimer, , нравится твой пример, только, можно ли сделать 2 сундука? но что-бы их еще можно было разместить на уровне?

ScirrA ConstrucT
-------------------------
Unity 3D
-------------------------
Crytek Engine 3
-------------------------
Unreal Development Kit
Nick_RimerДата: Четверг, 18 Июля 2013, 13:58 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
madsen, попробуй поставить два сундука. а работать с тем, который, например, перекрывает гг (или стоит рядом).. тут уже надо придумать.

Добавлено (18.07.2013, 13:58)
---------------------------------------------
я прокачал тот исходник. теперь сундуков два, можно в каждый отдельно положить шмотку, из каждого отдельно забрать (вроде всё проверил, не глючит). появилось много вложенных добавочных событий (непросто как-то в СС с выбором нужного объекта). работать можно с тем сундуком, который помечен красным квадратом (аналог гг, который стоит рядом с сундуком). цифрами 1 и 2 на клавиатуре выбираешь сундук.
кое-где может показаться, что события повторяются и какие-то лишние, но опытным путём выходит, что нет.. так работает. посмотри, думаю, тебе подойдёт.

пропатченный исходник


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Четверг, 18 Июля 2013, 13:58
madsenДата: Четверг, 18 Июля 2013, 14:43 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Nick_Rimer, Огромное спасибо! Вот только, много прошу но :
Может вы еще раз модифицируете исходник и добавите возможность "расставлять" сундуки бесконечно по уровню?


ScirrA ConstrucT
-------------------------
Unity 3D
-------------------------
Crytek Engine 3
-------------------------
Unreal Development Kit
Nick_RimerДата: Четверг, 18 Июля 2013, 15:13 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
madsen, в общем-то ко мне можно на ты.. тем более на форуме.. да и вроде не такой я старый smile
хорошо, я попробую модифицировать его. если это не сильно горит, то я хотел бы начать этим заниматься не раньше вечера пятницы.
если побыстрее, то могу и сегодня вечером сделать, просто хотелось бы сегодня вечером отдохнуть, за последние два дня я крайне мало спал.


- Доброе утро, Агент Пи!
madsenДата: Четверг, 18 Июля 2013, 22:06 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Nick_Rimer, Не горит, но желательно до конца недели smile
PS дал +


ScirrA ConstrucT
-------------------------
Unity 3D
-------------------------
Crytek Engine 3
-------------------------
Unreal Development Kit
Nick_RimerДата: Суббота, 20 Июля 2013, 18:27 | Сообщение # 12
заслуженный участник
Сейчас нет на сайте
madsen, как я и обещал, я модифицировал исходник с сундуками, хотя в нём не так сильно всё изменилось..

красный квадратик - типа гг. управление 8Direction Behavior (только управление не стрелочками, а WSAD)
подошли к сундуку, перекрыв его, появляется в левом верхнем углу надпись, сколько там шмоток
как и раньше открываем сундук пробелом, стрелка вниз - положить вещь, стрелка вверх - взять вещь. стрелками влево и вправо выбираешь вещь, с которой хочешь "поработать".

как ты увидишь, у меня в исходнике уже расставлено 6 сундуков, каждый из которых уже заполнен своими вещами.
чтобы добавить свои сундуки, просто перетягивай их мышкой с панели Objects в рабочую область Layout Editor и назначай переменным, которые отвечают за шмот внутри, свои значения.
короче, всё просто. из событий прибавилось лишь скрытие и появление надписи в левом верхнем углу.

дерзай! модифицированный исходник (осторожно! ГМО)


- Доброе утро, Агент Пи!

Сообщение отредактировал Nick_Rimer - Суббота, 20 Июля 2013, 18:28
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг