找回密码
 注册帐号

扫一扫,访问微社区

开果 一个简单 小型的C#Socket网络通信库 聊天室示例(五)

37
回复
3158
查看
[ 复制链接 ]

15

主题

25

帖子

220

积分

Rank: 9Rank: 9Rank: 9

UID
327626
好友
6
蛮牛币
87
威望
0
注册时间
2019-7-19
在线时间
164 小时
最后登录
2019-12-1
2019-8-26 12:02:10 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
讲完了 聊天消息了 下面说两个主界面 还有工具类


这里懒得再转Sprite直接用RawImage了 他可以放Texture2D
登录界面 LoginPanel

登录界面.png

应该没啥说的  就建这几个组件


代码:
[C#] 纯文本查看 复制代码
using UnityEngine;
using UnityEngine.UI;


public class LoginPanel : MonoBehaviour 
{

    public InputField NameInput;

    public RawImage PlayerHead;

    public Button LoginBtn;

    public Button SelectHeadBtn;

   
  



}



聊天界面ChatPanel
聊天界面.png


每个聊天消息框都是由SpawnDialogUI这个函数进行创建的  创建完要下拉最下面消息框嘛 所以要更改Content的位置进行下拉操作
代码:

[C#] 纯文本查看 复制代码
using UnityEngine;
using UnityEngine.UI;

public class ChatPanel : MonoBehaviour 
{
    public Button SendChatBtn;

    public RawImage HeadImg;

    public Text PlayerNameTxt;

    public RectTransform DialogParent;

    public DialogUI DialogUIPrefab;

    public InputField chatInput;


    /// <summary>
    /// 生成对话框  懒得写枚举了。用int吧  0我方 其他对方
    /// </summary>
    /// <param name="i"></param>
    /// <returns></returns>
    public DialogUI SpawnDialogUI(string playername, string info,Texture2D  head, int i=0)
    {

        DialogUI dialogUI;
        if (i==0)
        {
             dialogUI = Instantiate(DialogUIPrefab, DialogParent.transform).InitLocalDialog(playername, info, head);
        }
        else
        {
            dialogUI = Instantiate(DialogUIPrefab, DialogParent.transform).InitDialog(playername, info, head);
        }
        //下拉对话框 上面应该会延时 所以这里也需要延时
       Invoke("HaulDown",0.02f);
    
        return dialogUI;


    }

    public void HaulDown()
    {
        DialogParent.anchoredPosition = new Vector2(DialogParent.anchoredPosition.x, DialogParent.sizeDelta.y);
    }
}




工具拓展类 ImageExtension

ByteToTexture 就是Byte转成Texture2D图片
LoadImage 是RawImage 加载Byte[]数据的图片


代码:
[C#] 纯文本查看 复制代码
using System.IO;
using UnityEngine;
using UnityEngine.UI;

public static class ImageExtension  
{
    public static void LoadImage(this RawImage rawImage,byte[] data,int Width=200,int Height=200)
    {
        Texture2D texture2D = new Texture2D(Width, Height);
        texture2D.LoadImage(data);
        rawImage.texture = texture2D;

    }

    public static Texture2D ByteToTexture(this byte[] data, int Width = 200, int Height = 200)
    {
        Texture2D texture2D = new Texture2D(Width, Height);
        texture2D.LoadImage(data);
        return texture2D;

    }

    /// <summary>
    /// 路劲图片文件转byte[]
    /// </summary>
    /// <param name="filename填写图片路径"></param>
    /// <returns></returns>
    public static byte[] GetPictureBytes(this string filename)
    {
        FileInfo fileInfo = new FileInfo(filename);
        byte[] buffer = new byte[fileInfo.Length];
        using (FileStream stream = fileInfo.OpenRead())
        {
            stream.Read(buffer, 0, buffer.Length);
        }
        return buffer;
    }

}



好了我们下篇最后一篇继续  基本功能都写在了GameRoot那  =。=

工程地址
游客,如果您要查看本帖隐藏内容请回复




回复

使用道具 举报

4四处流浪
461/500
排名
9301
昨日变化

0

主题

50

帖子

461

积分

Rank: 4

UID
167763
好友
0
蛮牛币
82
威望
0
注册时间
2016-9-9
在线时间
287 小时
最后登录
2021-2-20
2019-8-26 13:21:27 显示全部楼层
6666666666666666666666666
回复 支持 反对

使用道具 举报

7日久生情
2729/5000
排名
1823
昨日变化

14

主题

396

帖子

2729

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
217870
好友
1
蛮牛币
1347
威望
0
注册时间
2017-4-15
在线时间
1589 小时
最后登录
2021-1-18
2019-8-26 15:15:43 显示全部楼层
RE: 一个简单 小型的C#Socket网络通信库 聊天室示例(五) [修改]
回复 支持 反对

使用道具 举报

3偶尔光临
188/300
排名
26989
昨日变化

0

主题

122

帖子

188

积分

Rank: 3Rank: 3Rank: 3

UID
39826
好友
0
蛮牛币
13
威望
0
注册时间
2014-8-14
在线时间
52 小时
最后登录
2020-10-20
2019-8-26 15:57:32 显示全部楼层
6666666666666/b]
回复 支持 反对

使用道具 举报

0

主题

36

帖子

61

积分

Rank: 2Rank: 2

UID
320705
好友
0
蛮牛币
17
威望
0
注册时间
2019-4-26
在线时间
25 小时
最后登录
2019-11-19
2019-8-26 17:57:00 显示全部楼层
挺不错的呀
回复

使用道具 举报

5熟悉之中
561/1000
排名
11084
昨日变化

1

主题

26

帖子

561

积分

Rank: 5Rank: 5

UID
258260
好友
0
蛮牛币
2043
威望
0
注册时间
2017-12-6
在线时间
442 小时
最后登录
2021-1-23
2019-8-26 18:34:18 显示全部楼层
6666666666666666666666666
回复 支持 反对

使用道具 举报

5熟悉之中
819/1000
排名
9486
昨日变化

0

主题

244

帖子

819

积分

Rank: 5Rank: 5

UID
292197
好友
0
蛮牛币
1852
威望
0
注册时间
2018-8-2
在线时间
455 小时
最后登录
2021-4-16
2019-8-27 08:43:26 显示全部楼层
thinks for share!
回复

使用道具 举报

5熟悉之中
669/1000
排名
11229
昨日变化

0

主题

81

帖子

669

积分

Rank: 5Rank: 5

UID
271126
好友
0
蛮牛币
4345
威望
0
注册时间
2018-3-7
在线时间
498 小时
最后登录
2021-4-16
2019-8-27 08:58:06 显示全部楼层

thinks for share!
回复

使用道具 举报

5熟悉之中
893/1000
排名
4107
昨日变化

1

主题

321

帖子

893

积分

Rank: 5Rank: 5

UID
245227
好友
0
蛮牛币
1054
威望
0
注册时间
2017-9-21
在线时间
211 小时
最后登录
2021-3-23
2019-8-27 09:29:20 显示全部楼层
6666666666666 网络通信的话没必要自己从Socket写, 用封装好的TCP/UDP Client就行了
回复 支持 反对

使用道具 举报

7日久生情
3849/5000
排名
10705
昨日变化

0

主题

1674

帖子

3849

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
301976
好友
1
蛮牛币
3692
威望
0
注册时间
2018-10-31
在线时间
2077 小时
最后登录
2021-4-18
2019-8-29 10:14:26 显示全部楼层
大佬果然优秀,感谢大佬分享...
回复 支持 反对

使用道具 举报

3偶尔光临
286/300
排名
28934
昨日变化

0

主题

27

帖子

286

积分

Rank: 3Rank: 3Rank: 3

UID
295090
好友
0
蛮牛币
531
威望
0
注册时间
2018-8-29
在线时间
249 小时
最后登录
2021-4-16
2019-8-29 15:35:07 显示全部楼层
6666666666
回复

使用道具 举报

2初来乍到
119/150
排名
24130
昨日变化

0

主题

59

帖子

119

积分

Rank: 2Rank: 2

UID
235432
好友
0
蛮牛币
74
威望
0
注册时间
2017-8-2
在线时间
45 小时
最后登录
2020-9-2
2019-8-29 17:39:50 显示全部楼层
thank you!!!
回复

使用道具 举报

6蛮牛粉丝
1062/1500
排名
10462
昨日变化

6

主题

257

帖子

1062

积分

Rank: 6Rank: 6Rank: 6

UID
256471
好友
1
蛮牛币
1896
威望
0
注册时间
2017-11-27
在线时间
707 小时
最后登录
2021-4-16
2019-8-30 09:04:04 显示全部楼层
6666666666666666666666666
回复 支持 反对

使用道具 举报

7日久生情
3849/5000
排名
10705
昨日变化

0

主题

1674

帖子

3849

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
301976
好友
1
蛮牛币
3692
威望
0
注册时间
2018-10-31
在线时间
2077 小时
最后登录
2021-4-18
2019-8-30 10:23:37 显示全部楼层
{:106:}
回复

使用道具 举报

5熟悉之中
785/1000
排名
5709
昨日变化

0

主题

109

帖子

785

积分

Rank: 5Rank: 5

UID
253699
好友
2
蛮牛币
2449
威望
0
注册时间
2017-11-10
在线时间
430 小时
最后登录
2021-4-16
2019-8-30 12:56:02 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关注游戏蛮牛公众号送vip