Я работаю над проектом unity3D. Он содержит часть чата. В этом чате пользователи могут и, вероятно, будут использовать смайлики в чате. Моя первая проблема заключается в том, что смайлики не отображаются в текстовом поле, которое после поиска в течение одного дня и более не нашло правильного решения. Вторая проблема: давайте предположим, что эти смайлики теперь отображаются. Я не могу сохранить их в базе данных mysql, зная, что я использовал utf8-mb4 для базы данных, таблицы и столбца, в котором сохраняется сообщение. Кто-нибудь нашел решение для отображения и сохранить эмодзи в Unity3D?
Как отображать и сохранять смайлики в unity3d?
Ответы (1)
Вам нужно написать функцию для преобразования текста сообщения в GameObject, который состоит из подтекстов и эмодзи-изображений.
public GameObject convertStringToGameObject(String a_Text);
например, если ваш текст: "Hello :) World :P"
, вы можете создать 2 текстовых написания "Hello"
и "World"
, после чего вы можете определить типы смайликов и выбрать соответствующую текстуру для своего прямоугольника.
Там будет корневой GameObject, который содержит ваши вложенные GameObjects, которые могут быть либо текстом, либо изображением, которые упорядочены в соответствии с вашим исходным текстом.
Для хранения эмодзи я могу предложить использовать атлас текстур, чтобы вы может просто хранить координаты текстуры для ваших смайликов внутри вашей БД.
Чтобы хранить сообщения пользователей (сообщения с эмодзи), просто сохраняйте текстовые представления эмодзи вместо того, чтобы каждый раз сохранять изображение.