框架概述: 做了那么久的业务开发,也做了一年多的核心战斗开发,最近想着自己倒腾一套游戏框架,当然暂不涉及核心玩法类型和战斗框架,核心战斗的设计要根据具体的游戏类型而定制,这里只是一些通用的基础系统的框架搭建,其中包括: UI框架(NGUI + MVC) 消息管理(Advanced CSharp Messenger) 网络层框架(Socket + Protobuf ) 表格数据(Protobuf) 资源管理(Unity 5.x 的 AssetBundle 方案) 热更框架(tolua) 这里使用的…
引言: 之前写过一个 demo 案例大致讲解了 Socket 通信的过程,并和自建的服务器完成连接和简单的数据通信,详细的内容可以查看 Unity3D -- Socket通信(C#).但是在实际项目应用的过程中,这个 demo 的实现方式显得异常简陋,而且对应多个业务同时发起 Socket 通信请求的处理能力也是有限,总不能每个请求都创建一个线程去监听返回结果,所以有必要进一步优化一番,例如加入线程池管理已经用一个队列来管理同时发起的请求,让 Socket 请求和接收异步执行,基本的思路就是引入…
引言 最近到看一个 <贪吃蛇大战开发实例>,其中 贪吃蛇大作战游戏开发实战(3):系统构架设计 提供的系统架构的设计思路我觉得还是值得学习一下的,接下来的内容是我看完视频后的一点笔记. 架构设计原则: 1.系统分层: 根据功能特性,可以大致将整个系统分为: 视图层(游戏输入.战斗 View.业务 UI):视图层也可以遵循 Mvc 的思路来做进一步分层: 业务层(核心玩法.业务模块): 服务层(模块管理.UI 管理.用户管理.资源管理.配置管理.网络管理.支付管理.分享管理): UI 控件: 基…
功能分析: 首先,我们必须先明确一个消息系统的核心功能: 一个通用的事件监听器 管理各个业务监听的事件类型(注册和解绑事件监听器) 全局广播事件 广播事件所传参数数量和数据类型都是可变的(数量可以是 0~3,数据类型是泛型) 设计思路: 清楚了上述的几个要求之后,我们不难自行定制一个业务层的消息系统,即在消息系统初始化时将每个模块绑定的消息列表,根据消息类型分类(用一个 string 类型的数据类标识),即建立一个字典 Dictionary<string,List<Model>>…
可扩展多线程异步Socket服务器框架EMTASS 2.0 (转自:http://blog.csdn.net/hulihui) 0 前言 >>[前言].[第1节].[第2节].[第3节].[第4节].[第5节].[第6节] 在程序设计与实际应用中,Socket数据包接收服务器够得上一个经典问题了:需要计算机与网络编程知识(主要是Socket),与业务处理逻辑密切(如:包组成规则),同时还要兼顾系统运行的稳定.效率.安全与管理等.具体应用时,在满足业务处理逻辑要求的基础上,存在侧重点:有些需要考…
转载自Csdn : http://blog.csdn.net/jubao_liang/article/details/4005438 几天前在博问中看到一个C# Socket问题,就想到笔者2004年做的一个省级交通流量接收服务器项目,当时的基本求如下: 接收自动观测设备通过无线网卡.Internet和Socket上报的交通量数据包 全年365*24运行的自动观测设备5分钟上报一次观测数据,每笔记录约2K大小 规划全省将有100个左右的自动观测设备(截止2008年10月还只有30个) 当时,VS…
Unity 3D本来是由德国的一些苹果粉丝开发的一款游戏引擎,一直只能用于Mac平台,所以一直不被业外人士所知晓.但是后来也推出了2.5版,同时发布了PC版本,并将其发布方向拓展到手持移动设备.Unity 3D游戏开发学习路线(方法篇)分享给大家.怎么学Unity 3D游戏开发?要了解U3D最重要的五大界面:第一:场景(Sence),构建游戏的地方:第二:层级(Hierarchy),场景中的游戏对象都列在这里.第三:检测面板(Inspector),当前选中的资源或对象的设置,是一些变量和组件的集…
转载自Csdn:http://blog.csdn.net/hulihui/article/details/3158613 (原创文章,转载请注明来源:http://blog.csdn.net/hulihui) 0 前言 >>[前言].[第1节].[第2节].[第3节].[第4节].[第5节].[第6节] 在程序设计与实际应用中,Socket数据包接收服务器够得上一个经典问题了:需要计算机与网络编程知识(主要是Socket),与业务处理逻辑密切(如:包组成规则),同时还要兼顾系统运行的稳定.效率…
0 前言 >>[前言].[第1节].[第2节].[第3节].[第4节].[第5节].[第6节] 在程序设计与实际应用中,Socket数据包接收服务器够得上一个经典问题了:需要计算机与网络编程知识(主要是Socket),与业务处理逻辑密切(如:包组成规则),同时还要兼顾系统运行的稳定.效率.安全与管理等.具体应用时,在满足业务处理逻辑要求的基础上,存在侧重点:有些需要考虑并发与效率,有些需要强调稳定与可靠等等.虽然.NET 2.0 Framework上的IOCP(I/O完成端口)异步技术可以有效…
摘要:为了帮助使用Unity引擎的开发人员制作更完美的游戏.我们精心挑选了十款相关开发插件和工具.它们是:2D Toolkit.NGUI.Playmaker.EasyTouch & EasyJoystick.UnIDE.Tile Based Map and Nav.FX Maker.Toon shader.Top-Down Assets Mobile和83 Explosion Sound Effects. 作为当前最主流的3D游戏引擎之中的一个,Unity拥有大量第三方插件和工具帮助开发人员提升…
移动平台游戏框架主要有unity 3d和cocos 2d.我们首先得识别游戏使用的框架.识别Unity游戏Android平台的apk包可以直接解压,看是否有./assets/bin/Data/Managed目录,也可以查看lib文件夹下面包含的一些so,如果有libmono,libunity等模块,基本可以确定是unity游戏了.Android平台中C#编写的主逻辑模块代码静态编辑之后存储于Assembly-CSharp.dll文件中.因为unity的跨平台,Android平台是unity编译的…
原地址:http://tieba.baidu.com/p/2817057297?pn=1 首先.unity 灯光烘焙 :Unity 3D FBX模型导入.选项Model 不导入资源球.Rig 不导入骨骼.Animations 不导入动画.在Model选项勾选 Generate Linghtmap UVs .否则.灯光烘焙.会出现阴影错乱.灯光烘焙时FBX Shader 选项 Mobile/Unlit(Supports Lightmap) .会出现阴影错乱.灯光烘焙时FBX Shader 选项 M…
分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity是跨平台2D.3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的一个让玩家轻松创建诸如虚拟现实场景再现.三维视频游戏.建筑设计可视化.实时三维动画展现等类型互动内容的多平台综合型开发工具,是一个全面整合的跨平台专业3D开发引擎. 全球超过70%的手机3D游戏都是用Unity来开发的. 1.能部署到20多个平台上 Unity类似于Director,Blender…
Unity 消消乐教程和源码 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Start Game -- 游戏逻辑稍复杂,先贴代码,抽空慢慢讲 2 GameManager -- 游戏总控类脚本 3 GameSweet -- 物品基础脚本 4 MovedSweet -- 控制物体的移动 5 ClearedSweet -- 清除管控类脚本 6 ClearColorSweet -- 清除颜色相同的物品 7…
一. 工作区域详解 1. Scence视图 (场景设计面板) scence视图简介 : 展示创建的游戏对象, 可以对所有的游戏对象进行 移动, 操作 和 放置; -- 示例 : 创建一个球体, 控制摄像机, 让球体在摄像机拍摄的视图中显示出来; (1) 摄像机导航 摄像机旋转(Tumble) : alt + 鼠标左键, 摄像机会按照鼠标滚动的垂直中线进行旋转, 可以查看摄像机当前的状态, 注意只是改变视图中的状态, 摄像机还是在视图正中央位置, 摄像机的位置属性是不变的; 摄像机移动(Track…
1.Label 控件 编写脚本文件,直接绑定在main camera上 public class labelScript : MonoBehaviour { //设定一个值来接收外部赋值的字符串 public string str; //接收外部赋值贴图 public Texture imageTexture; //设定私有变量,只可以在脚本内访问的 private int imageWidth; private int imageHeight; private int screenWidth;…
用XML做的Unity NPC对话系统 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Create XML Document 创建所需的XML文档 2 Audio Manager 音频管理器脚本 3 UI Manager 界面交互控制 4 Finish 测试运行 游戏效果: 1 Create XML Document -- 创建所需的XML文档 注意路径: 我的XML文档"Dialog.xml&qu…
Unity见缝插针功能实现 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Sphere Rotation --控制球体旋转 2 Shoot Pin --射出 针 3 Detection Of Failure --检测 游戏失败 4 GameManager --游戏控制脚本 支持 May Be -- 搞开发,总有一天要做的事! 游戏效果: 1 Sphere Rotation --控制球体旋转 了解更多…
//////////////////2015/07/07//////// /////////////////by xbw/////////////// ///////////////环境 unity 4.6.1// 当须要多个场景时,就用到了场景转换, 这里呢,我有两个场景.一个move(开场镜头),还有一个second(游戏场景): 要想执行完开长镜头后接着执行游戏场景,须要用到一个函数.:: Application.LoadLevel("second");引號里变是须要执行的场景.…
一. 工作区域具体解释 1. Scence视图 (场景设计面板) scence视图简单介绍 : 展示创建的游戏对象, 能够对全部的游戏对象进行 移动, 操作 和 放置; -- 演示样例 : 创建一个球体, 控制摄像机, 让球体在摄像机拍摄的视图中显示出来; (1) 摄像机导航 摄像机旋转(Tumble) : alt + 鼠标左键, 摄像机会依照鼠标滚动的垂直中线进行旋转, 能够查看摄像机当前的状态, 注意仅仅是改变视图中的状态, 摄像机还是在视图正中央位置, 摄像机的位置属性是不变的; 摄像机移…
由于最新版的unity已经不支持javascript语言啦,本人又是个C#小白,所以记录一下自己写的脚本. first 创建一个模型,放在平面上,调整下角度,就像这样: 然后写一个脚本来控制模型移动: public class NewBehaviourScript : MonoBehaviour { //首先定义两个变量,public是公有变量,在程序中可以直接访问,私有变量只能在脚本中访问 //此处定义模型移动速度以及模型旋转速度 ; ; //OnGUI方法绘制页面组件 void OnGUI(…
Unity-塔防游戏源码 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 2 3 4 5 6 7 8 9 10 1 有耐心的朋友可以跳转到SiKi学院,观看视频:SiKi学院 SiKi学院--是本人发现的网络教程做的很完善的网络课堂,推荐大家多学,多看 using UnityEngine; using System.Collections; using UnityEngine.EventSystems…
贪吃蛇类游戏源码 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 头部移动方式 2 生成 Shit 道具 3 吃到 Shit 增加身体长度 支持 May Be -- 搞开发,总有一天要做的事! 1 头部移动方式 了解更多,可以跳转到SiKi学院,观看视频:SiKi学院 SiKi学院--是本人发现的网络教程做的很完善的网络课堂,推荐大家多学,多看 using UnityEngine; using Sys…
自定义皮肤还是很受女孩子欢迎的吧,这样操作一下界面是不是就可以变得美美哒了~ 先pick一下测试代码: public class GUISkinScript : MonoBehaviour { //自定义皮肤 public GUISkin mySkin; //单选控件是否被选中 private bool choose = false; //拖动窗口的位置 , , , ); //输入框中默认显示的内容 public string edit = "请输入字符串"; void OnGUI (…
链接:https://pan.baidu.com/s/1LfRTGUmaE_lGdcmd6QiZkg 提取码:e2sn…
Server: using System; using System.Collections.Generic; using System.Diagnostics; using System.Text; using Spider.Network; namespace Spider.Server { class Program { static void Main(string[] args) { ServerConfig config=new ServerConfig() { BufferSize…
[Unity]13.3 Realtime GI示例 摘要: 分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图和光影效果相关的概念和基本设置办法,这样可避免实际复杂场景中其他因素的干扰.一旦你熟悉了这些基本用法,在实际场景中依然是这样用. 本例子最终实现的效果如下: 二阅读全文 posted @ 2016-05-19 06:21 rainmj 阅读(319) | 评论 (0) 编辑   [Unity]13.…
Unity 3D网络游戏实战(全) 目录: 掌握Unity3D基本元素 1.1 简单的游戏 1.1.1在场景中创建一个立方体 1.1.2编写可以使立方体运动的程序 1.1.3测试游戏1.1.4总结1.2 资源导入1.3 山体系统1.4 灯光1.5 材质1.6 预设1.6.1制作预设1.6.2例子1.7 声音1.7.1音源1.7.2接收器1.7.3简单播放器1.8 GUI1.8.1用Unity3D编写HelloWorld程序1.8.2用Unity3D编写登录框1.9导出游戏第 2 章 驾驶梦想中的…
之后的基本方向 ios游戏开发,基础教程http://www.devdiv.com/unity_d_-thread-128068-1-1.html,学习Unity 3D游戏开发. 应该昨天表示,读了一下午,没有复苏.今天,经过同学们的需求,执行出来了.以下是我对第一节的一些个补充. 首先说的是破解问题. 如图,安装完unity-4.3.2之后,将Unity_v4.x.ulf放入/Library/Application Support/Unity 再在应用程序中找到Unity 右键显示包内容->C…
众所周知,Unity3d是一款跨平台非常广的游戏引擎,上手容易,界面友好,集成功能众多,是目前开发手游的主流引擎.本人有幸使用Unity 3d进行开发已一年多时间,已领略了这歀引擎的强大之处. 编写shader也是我工作内容的一部分,先来说说shader是什么吧,我以自己的理解说明一下: 首先 shader是一种语言,一种在GPU,也就是显卡上执行的高级语言.shader的本意是着色器,可以自定义GPU的渲染管线中的两个环节(即顶点和片段).由此,我们可以控制对象在屏幕上的渲染效果,甚至实现一些…