NGUI----简单聊天系统一

1:聊天背景的创建

新建一个场景-----保存场景

NGUI----》Create-----Panel

选中UIRoot,然后新建一个sprite

选择图集

效果如下图

添加一个可拖拽的功能

选中sprite(这里我重命名为chatwindow)  Attach--》BoxCollider  然后添加组件  drag object  并且把当前的目标chatwindow拖到target。

         

这个时候运行的时候这张图片就可以随意拖拽。

2:接下来我们让这个聊天框可以调节大小

选中chatwindow------create---sprite---child   并且给这个子sprite命名为resizesprite

给这个子sprite选择Resize Icon图片

效果如下图所示

选中resizesprite--attach---box collider

然后在选中resizesprite----attach---drag resize scrite

    

设置完以后运行程序就可以随意调节聊天框的大小了。

3:我们给聊天框加一个背景图片

创建chatwindow的子sprite 命名给BgSprite

    选择图集  

效果图如下

  此时我们缩放图片的时候里面的背景图并不能自适应大小,我们此时需要设置anchors

 背景图就会随我们外面的图片的缩放而变化

4:给聊天框添加滚动条

这里我就不再插入图片了,步骤跟上面一样,选中chatwindow---create--sprite--child 命名给ScorllSpriteBar

添加图集

然后在选中ScorllSpriteBar---create---sprite--child 命名为ScorllBarChild 集选择相同的

设置anchors

修改一下color tint

效果如下如图

现在需要添加滚动条的功能

选中ScorllSpriteBar---attach----Box collider

然后在选中ScorllSpriteBar--attach——Scroll Bar Script

这个时候我们需要设置一些信息,使这个滚动条看起来是从下往上拖动

direction 方向  从下忘上

foreground:前景色

background:背景色

效果图

5:设置聊天系统的输入框

选中BgSprite-- create---Label--child  命名为chatlabel  调节大小给聊天背景差不多大小,可以通过设置anchors来调节

我们可以输入一些文字看一下效果

此时我们需要设置一些label的anchors,chatlabel设置anchors

这个时候我们需要给我们的chatlabel添加textlist脚本

选中chatlabel--attach--Box collider

添加组件如图

设置textlist的相关信息

Textlabel就是当前的chatlabel  滚动条使我们创建的ScorllSpriteBar.

接下来我们需要添加输入框了,就是用户的输入文字框

prefab Toobar有一个现成的输入框,我们可以直接拖过来使用。

        

时间: 2024-11-04 11:20:59

NGUI----简单聊天系统一的相关文章

Python Socket 简单聊天室2

上篇文章写了一个简单的单线程的一问一答的简单聊天室.这次我们使用SocketServer模块搭建一个多线程异步的聊天室. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # -*- coding:utf-8 -*- import SocketServer class  mysocketclass(SocketServer.BaseRequestHandler):     def handle(self):         client_inform

ASP.NET 使用application和session对象写的简单聊天室程序

ASP.Net中有两个重要的对象,一个是application对象,一个是session对象. Application:记录应用程序参数的对象,该对象用于共享应用程序级信息. Session:记录浏览器端的变量对象,用来存储跨网页程序程序的变量或者对象. 说实话,写了快一年的asp.net,application对象还真没怎么用过.看了看书,根据这两个对象的特性写了一个简单的聊天室程序.真的是非常的简陋. 我的思路是,有两个页面Default页和ChatRoom页,页面布局如图: Default

关于Socket编写简单聊天工具的总结(原创)

这段时间再看socket编程,虽然现在是刚刚接触,但是还是忍不住想写一篇总结,来激励自己努力学习,写的不好的地方,还请大家指教啊! 下面针对一个简单的发送消息和文件的程序说说吧.   首先是服务器需要准备二个Socket和二个Thread如下: //和客户机进行通信 private Socket sckCommit; //监听客户机 private Socket sckListen; private Thread thdListen; private Thread thdCommit; 对客户机

C#实例之简单聊天室(状态管理)

前言        状态管理是在同一页或不同页的多个请求发生时,维护状态和页信息的过程.因为Web应用程序的通信协议使用了无状态的HTTP协议,所以当客户端请求页面时,ASP.NET服务器端都会重新生成一个网页实例.此时,旧网页的任务完成,旧网页的实例也随之消失.这种无状态,意味着客户端用户在浏览器中的一些状态或是对数据的一些修改都将丢失. 为了弥补这种基于web应用程序的固有限制,ASP.NET提供了多种用于管理状态的功能. 简单聊天室 这里运用System.Web命名空间的那些管理状态的类,

利用命名管道实现进程间的通信(简单聊天程序的实现)

管道的本质是一种文件,通常是指把一个进程的输出直接传递给另一个进程的输入. 命名管道(named pipe)是一种特殊的文件类型(FIFO文件),它在文件系统中以文件名的形式存在. 下面是Linux中命名管道的文件格式: 通过命令行创建命名管道可以通过mkfifo命令,函数调用如下所示: 1 #include <sys/types.h> 2 #include <sys/stat.h> 3 4 int mkfifo(const char *filename,mode_t mode);

基于html5 localStorage , web SQL, websocket的简单聊天程序

new function() { var ws = null; var connected = false; var serverUrl; var connectionStatus; var sendMessage; var connectButton; var disconnectButton; var sendButton; var open = function() { var url = serverUrl.val(); ws = new WebSocket(url); ws.onope

Linux下C语言多线程,网络通信简单聊天程序

原文:Linux下C语言多线程,网络通信简单聊天程序 功能描述:程序应用多线程技术,可是实现1对N进行网络通信聊天.但至今没想出合适的退出机制,除了用Ctr+C.出于演示目的,这里采用UNIX域协议(文件系统套接字),程序分为客户端和服务端.应用select函数来实现异步的读写操作. 先说一下服务端:首先先创建套接字,然后绑定,接下进入一个无限循环,用accept函数,接受“连接”请求,然后调用创建线程函数,创造新的线程,进入下一个循环.这样每当有一个新的“连接”被接受都会创建一个新的线程,实现

《Java项目实践》:简单聊天程序

<Java项目实践>:简单聊天程序 由于这个简单程序,还是涉及到很多的知识点,下面我们就一点一点的来完成. 我们熟悉的QQ聊天,就有一个界面,是吧,我们自己做一个简单的聊天程序,因此我们也就需要为Client写一个界面.因此,这就是我们第一步需要完成的任务. 第一步:为Client端写一个界面 完成一个界面有两种方法,一种是使用Frame对象来完成,另外一种是继承JFrame类来完成.本项目使用第二种. 第二种继承JFrame类完成的界面的程序如下: public class ChatClie

基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍。最后我们将会实现一个基于Server-Sent Event和Flask简单的在线聊天室。

基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍.最后我们将会实现一个基于Server-Sent Event和Flask简单的在线聊天室.