Найти в Дзене

Создания собственного TextBox в Construct 2

Всем привет ! Как и в первом уроке у меня возникла проблема с созданием кастомного TextBox . Я так же не мог найти что-нибудь полезного на эту тему , поэтому пришлось разбираться самому . И что-бы вам было легче , я и решил сделать этот урок .
Шаг 1 :
Добавим все необходимые плагины , а именно :
Плагин TextBox , обычный текст , плагин Mouse и еще один обычный спрайт .

Всем привет ! Как и в первом уроке у меня возникла проблема с созданием кастомного TextBox . Я так же не мог найти что-нибудь полезного на эту тему , поэтому пришлось разбираться самому . И что-бы вам было легче , я и решил сделать этот урок .

Шаг 1 :

Добавим все необходимые плагины , а именно :

Плагин TextBox , обычный текст , плагин Mouse и еще один обычный спрайт .

Шаг 2 :

Теперь переходим в Event sheet . Для начала сделаем привязку текста к TextBox .

Добавляем действие Everytick , text ,set text и пишем

textbox.text

-2
-3
-4
-5
-6
-7
-8

Сейчас сделаем так , что-бы при нажатии на текст активировался TextBox .

-9
-10
-11
-12

Теперь необходимо добавить событие Wait

-13
-14
-15

И ставим минимальную задержку

-16

И последнее

-17
-18
-19

Посмотрим что вышло

-20
-21
-22

Все получилось , но теперь имеется проблема . Если напечатанный текст больше своих рамок , но текст просто пропадает . Исправим это .

К everytick добавим событие

-23
-24
-25

В первой строчке пишем Self.textwidth+10 , а во второй Self.text.height+10 .

-26

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

-27
-28
-29

Вписываем в первое поле Text.width , во второе Text.Height

-30

Вот что вышло :

-31
-32
-33

Почти готово ! Осталось только избавиться от TextBox . Если мы просто уберем его за границу слоя или изменим размер на 0 , то у нас просто ничего не будет работать . Поэтому добавим событие

-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47

В первое поле пишем opacity , во второе 0

-48

Результат

-49
-50
-51

Плюсы :

  • 1 Быстрота создания
  • 2 Просто использовать

Минусы :

  • 1 Неудоство редактирования текста

Итог

Данный способ довольно легко реализовать и вставить в игру . Но так же есть проблема в редактировании текста .

Исходник прилагается , буду рад ответить на ваши вопросы

https://yadi.sk/d/fIFtyUtGmQibKw