简单的Unity聊天功能的UI制作

效果:

输入文字,回车即可输入输入聊天内容。

代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ControlChatRoom : MonoBehaviour
{

    public InputField chatInput;
    public Text chatText;
    public ScrollRect scrollRect;
    string username = "DHX";
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

        if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter))
        {
            if (chatInput.text != "")
            {
                string addText = "\n  " + "<color=red>" + username + "</color>:\u00A0" + chatInput.text;
                chatText.text += addText;
                chatInput.text = "";
                chatInput.ActivateInputField();
                Canvas.ForceUpdateCanvases();       
                scrollRect.verticalNormalizedPosition = 0f;  
                Canvas.ForceUpdateCanvases();   
            }
        }

    }
}

用到组件:

Content Size Fitter 组件:自适应

mask:遮罩

scrollRect:动态滑动+scrollbar 动态滑块

InputField:输入组件

如果出了空格换行的问题可以用:Unicode编码为/u00A0。

 

源码下载:

链接:https://pan.baidu.com/s/12A-57rNIXKLK6I4ToZ_MuA 
提取码:xy69

参考:

Text组件自动换行: https://www.jianshu.com/p/2960f30b3bca?from=singlemessage  

制作聊天室界面:https://blog.csdn.net/sajiazaici/article/details/78312887

 

 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值