• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua框架写登录注册与服务器实现交互+场景跳转+背景移动

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

C# 服务器

 

using SimpleFramework.Common;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using SimpleFramework.Utility;

 

namespace SimpleFramework.Message

{

   ///<summary>

   ///注册

   ///</summary>

   classRegisters : IMessage

   {

       //创建字典存数据

       publicstatic Dictionary<string, string> dic = new Dictionary<string, string>();

 

       publicvoid OnMessage(ClientSession session, ByteBuffer buffer)

       {

            byte b =buffer.ReadByte();

            ProtocalType type =(ProtocalType)b;

            switch (type)

            {

                caseProtocalType.BINARY:

                    //传入方法

                    OnBinaryMessage(session,buffer);

                    break;

            }

       }

 

       privatevoid OnBinaryMessage(ClientSession session, ByteBufferbuffer)

       {

            Console.WriteLine("注册请求123");

            string id =buffer.ReadString();

            string pwd = buffer.ReadString();

            //实例化ByteBuffer

            ByteBuffer bb = new ByteBuffer();

            bb.WriteByte((byte)ProtocalType.BINARY);

            Console.WriteLine("123456");

            //判断字典中没有键  就提示注册成功

            if (!dic.ContainsKey(id))

            {

                bb.WriteString("1");

                bb.WriteString("注册成功");

                //添加到字典中

                dic.Add(id,pwd);

            }

            //否则就提示注册失败

            else

            {

                bb.WriteString("0");

                bb.WriteString("注册失败");

            }

          

            //发送

            SocketUtil.SendMessage(session,Protocal.Registers, bb);

 

            Console.WriteLine("发送成功");

       }

   }

}

 

 

 

using SimpleFramework.Common;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using SimpleFramework.Utility;

 

namespace SimpleFramework.Message

{

   ///<summary>

   ///登录面板 继承IMessage

   ///</summary>

   classLogins : IMessage

   {

       publicvoid OnMessage(ClientSession session, ByteBuffer buffer)

       {

            byte b =buffer.ReadByte();

            ProtocalType type =(ProtocalType)b;//协议类型 枚举值

            switch (type)

            {

                //二进制

                caseProtocalType.BINARY:

                    //调用方法  传入客户端对象和二进制对象

                    OnBinaryMessage(session,buffer);

                    break;

            }

 

 

       }

 

       privatevoid OnBinaryMessage(ClientSession session, ByteBufferbuffer)

       {

            Console.WriteLine("收到客户端的请求");

            //读取设置用户名和密码

            string id =buffer.ReadString();

            string pwd =buffer.ReadString();

 

            Console.WriteLine(id+pwd);

 

            //实例化ByteBuffer

            ByteBuffer bb = new ByteBuffer();

            //协议类型是二进制

            bb.WriteByte((byte)ProtocalType.BINARY);

 

            //判断注册里面的字典 是否存在此键

            if(Registers.dic.ContainsKey(id))

            {

                string pass;

                //尝试获取注册类字典的值

                Registers.dic.TryGetValue(id,out pass);

 

                //判断密码和之前存的是否一致

                if (pass==pwd)

                {

                    bb.WriteString("1");

                    bb.WriteString("登录成功");

                }

 

                //否则提示登录失败

                else

                {

                    bb.WriteString("2");

                    bb.WriteString("登录失败");

                }

                           

            }

 

            else

            {

 

                bb.WriteString("0");

                bb.WriteString("用户名不存在");

 

            }

 

           SocketUtil.SendMessage(session,Protocal.Logins, bb);

       }

 

   }

}

 


Lua脚本

 















跳转场景



在unity建立脚本



using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.SceneManagement;

namespace LuaFramework

{

   publicclassSceneMgr : Manager

   {

       //静态加载方法   LoadScene方法名,在lua中会调用

       publicstaticvoid LoadScene(int index)

       {

           SceneManager.LoadScene(index);

       }

   }

}

 

  CustomSettings 脚本中添加

 _GT(typeof(SceneMgr)),  //切换场景 管理类

 

 在LuaHelper脚本中添加GetSceManager方法














主城

背景移动

设置图片背景


创建Material材质球

  将图片拖进      

 

创建panel 将Material  材质球拖进panel

添加脚本 BackMove 脚本



 

 

 

 

 

主城

背景移动

设置图片背景

 

创建Material材质球

  将图片拖进    

 

创建panel 将Material  材质球拖进panel

添加脚本 BackMove 脚本

 

 

 

 

 









鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua中的捕获(capture)发布时间:2022-07-22
下一篇:
ulua路径小记以及luarequire机制整理发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap