自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Circle

编程改变世界!

  • 博客(214)
  • 资源 (4)
  • 收藏
  • 关注

原创 17.Unity3D商业游戏源码研究-变身吧主公-战斗-StateBase,PlayerBase

using UnityEngine;using System.Collections;public abstract class StateBase : IState { protected PlayerBase mPlayer; public StateBase(PlayerBase player) { mPlayer = player; }

2017-04-21 11:43:07 1348

原创 16.Unity3D商业游戏源码研究-变身吧主公-战斗-IState,StateMachine

using UnityEngine;using System.Collections;public interface IState { /// <summary> /// 获取这个状态机的状态 /// </summary> /// <returns></returns> uint GetStateID(); /// <summary> /

2017-04-21 11:39:15 835

原创 15.Unity3D商业游戏源码研究-变身吧主公-PanelShop

点击购买后出来购买商品的面板。显示购买数量。using UnityEngine;using System.Collections;public class PanelShop : PanelBase { #region 初始化相关 protected override void OnInitSkin() { base.SetMainSkinPath("Ga

2017-04-20 10:01:16 2628

原创 14.Unity3D商业游戏源码研究-变身吧主公-SelfShopItem

using UnityEngine;using System.Collections;using System.Collections.Generic;public class SelfShopItem : MonoBehaviour { public List<GameObject> selfList = new List<GameObject>(); /// <summary

2017-04-19 20:19:21 2272

原创 13.Unity3D商业游戏源码研究-变身吧主公-SceneShop

using UnityEngine;using System.Collections;using System.Collections.Generic;public class SceneShop : SceneBase { #region 初始化相关 protected override void OnInitSkin() { base.SetMain

2017-04-19 19:39:59 2565

原创 12.Unity3D商业游戏源码研究-变身吧主公-层级管理-LayerMgr

using UnityEngine;using System.Collections;using System.Collections.Generic;using System;public class LayerMgr : MonoBehaviour{ #region 初始化 private static LayerMgr mInstance; public sta

2017-04-19 16:29:36 2445

原创 11.Unity3D商业游戏源码研究-变身吧主公-SceneChat

using UnityEngine;using System.Collections;public class SceneChat : SceneBase { #region 初始化相关 protected override void OnInitSkin() { base.SetMainSkinPath("Game/UI/Chat/SceneChat")

2017-04-19 14:42:19 2168

原创 10.Unity3D商业游戏源码研究-变身吧主公-PanelPlayInfo

using UnityEngine;using System.Collections;public class PanelPlayInfo : PanelBase { #region 初始化相关 protected override void OnInitSkin() { base.SetMainSkinPath("Game/UI/Home/PanelPl

2017-04-19 13:55:18 2693

原创 9.Unity3D商业游戏源码研究-变身吧主公-PanelBase

using UnityEngine;using System.Collections;using System.Collections.Generic;public class PanelBase : UIBase { protected PanelType _type; public PanelType type { get {

2017-04-19 13:53:54 2764

原创 8.Unity3D商业游戏源码研究-变身吧主公-PanelMgr

using UnityEngine;using System.Collections;using System.Collections.Generic;using System;public class PanelMgr { #region 初始化 protected static PanelMgr mInstance; public static PanelMgr Ins

2017-04-19 13:51:20 3587

原创 7.Unity3D商业游戏源码研究-变身吧主公-SceneLoding

using UnityEngine;using System.Collections;using System.Collections.Generic;public class SceneLoding : SceneBase, INotifier{ private UISlider mSlider; private UILabel mLabel; protected o

2017-04-18 20:57:41 1740

原创 6.Unity3D商业游戏源码研究-变身吧主公-SceneLogin

using System;using System.Collections.Generic;/// <summary>/// 收听器/// </summary>public interface INotifier{ void OnReceiveData(uint cmdId, object param1, object param2);}using UnityEngine;us

2017-04-18 20:39:08 1751

原创 5.Unity3D商业游戏源码研究-变身吧主公-TestSeneceMgr

using UnityEngine;using System.Collections;public class TestResMgr : MonoBehaviour { // Use this for initialization void Start() { //GameObject obj = ResourcesMgr.GetInstance().Cre

2017-04-18 20:37:27 1668

原创 4.Unity3D商业游戏源码研究-变身吧主公-UIBase

using UnityEngine;using System.Collections;using System.Collections.Generic;public class UIBase : MonoBehaviour { #region 数据定义 /// <summary> /// 所有的boxcollider /// </summary> pri

2017-04-18 20:07:33 1286

原创 3.Unity3D商业游戏源码研究-变身吧主公-SceneBase

using UnityEngine;using System.Collections;using System.Collections.Generic;public class SceneBase : UIBase{ //protected object[] _sceneArgs; ///// <summary> ///// 场景init参数 ///// </s

2017-04-18 20:06:35 868

原创 2.Unity3D商业游戏源码研究-变身吧主公-SceneMgr

using UnityEngine;using System.Collections;using System.Collections.Generic;using System;public class SceneMgr{ #region 初始化 protected static SceneMgr mInstance; public static SceneMgr Ins

2017-04-18 19:47:31 921

原创 1.Unity3D商业游戏源码研究-变身吧主公-ResourcesMgr

using UnityEngine;using System.Collections;public class ResourcesMgr : MonoBehaviour{ #region 初始化 private static ResourcesMgr mInstance; public static bool hasIntance { get

2017-04-18 18:39:53 3523

原创 Unity 连接 Mysql 对数据库的操作

在cmd命令行中start和stop 启动与关闭MySQL。 工程下载地址: 链接:http://pan.baidu.com/s/1skJ1ebF 密码:l0n7net start mysql net stop mysql方便数据库的创建、增加、删除、修改、查询using UnityEngine; using System; using System.Data; using Sys

2017-03-28 10:27:49 4495

原创 MySql 常用的命令

Rebuild.bat@echo off :begin@echo ----------1, create all game database------------ mysql -uroot -p199302<createdb.sqlmysql -uroot -p199302<grantuser.sql mysql -uroot -p199302<fball_accountdb.sqlm

2017-03-28 09:58:33 4489

原创 C# 连接 MySql 对数据库的增删改查

新建C#控制台应用程序,添加NHIbernate,NHibernate.Mapping.Attributes的引用。 创建Mysql数据,和表1.进入mysql数据库:mysql> use mysql; Database changed2.给root用户设置新密码: mysql> update user set password=password("新密码") where user="ro

2017-03-28 09:54:05 3573

原创 Unity3D 使用Protobuf ProtobufHelper

using System.Text;using System.IO;using ProtoBuf;namespace Protobuf{ class ProtobufHelper { /// <summary> /// 序列化成string /// </summary> /// <typeparam name="T

2017-03-16 14:18:56 1275

原创 Unity3D 数据保存

using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;public class SaveData : MonoBehaviour { // Use this for initialization void Start () { Save

2017-03-15 09:28:18 1673

原创 Unity3D 读取json

{ "height": 20, "sites": [ { "name": "testname", "age": 10, "data": [ 20, 12, 30, 55, 44 ] }, { "name": "google", "age": 18, "data": [ 20, 12, 30, 55

2017-03-14 17:47:52 691

原创 Unity3D 读取XML文件里面的属性

Unity3D 读取XML文件里面的属性using System.Collections;using System.Collections.Generic;using System.IO;using System.Xml;using UnityEngine;public class ReadXML : MonoBehaviour { // Use this for initializa

2017-03-14 16:34:46 7771

原创 Unity3D 高效率查找子物体(孩子比较多 需要查找的物体比较多的时候)

using System.Collections;using System.Collections.Generic;using UnityEditor;using UnityEngine;public class TestRes : MonoBehaviour { public GameObject go; // Use this for initialization vo

2017-03-14 15:53:32 6280

原创 Unity3D通过委托 一个类访问到另一个类中的方法

using System.Collections;using System.Collections.Generic;using UnityEngine;public class class1 : MonoBehaviour { public static class1 Instance { private set; get; } voi

2017-03-14 14:18:10 2488

原创 Unity3D 大型游戏 最后一站 源码 部分重点 显示FPS

Unity3D 显示FPS脚本。using UnityEngine;using System.Collections;public class ShowFPS : MonoBehaviour { public static ShowFPS Instance { private set; get; } void OnEnable()

2017-03-14 09:46:23 1479

原创 Unity3D 大型游戏 最后一站 源码 部分重点 英雄释放技能(15)

上几节课我们已经讲了英雄的状态机管理和同步移动相关的。 今天这节课我们来讲讲英雄是怎么释放技能(包括普通攻击)。 这里我先来讲下技能同步原理。 就拿LOL这个游戏来说,他客户端的技能是先表现出来,然后服务器进行验证,接着再发送验证结果给客户端,最后客户端再修正表现结果。什么意思? 比如,LOL中的瞎子(盲瞎),他的q技能释放出去,刚好能打中敌人。 但是网络延迟比较卡,那么服务器发送回的验证

2017-03-13 17:28:03 7063 2

原创 Unity3D 大型游戏 最后一站 源码 部分重点 英雄玩家同步移动(14)

上节课,我们讲到英雄实体的状态机,每个实体都有自己不同的状态。那么今天我们主要具体讲讲Run状态下的与服务器同步移动。 在实时战斗游戏中,同步一直是游戏客户端和服务器编程人员最头痛的,那么怎么样才能做到所有的玩家画面能够同步。 这里有好多种方法,大家可以好好看看这篇博客: http://dev.gameres.com/Program/Abstract/DeadReckoning.htm 这里

2017-03-13 17:09:49 5171

原创 Unity3D 大型游戏 最后一站 源码 部分重点匹配战斗(四)(13)

上节我们讲到服务器发送显示模型的消息: eMsgToGCFromGS_NotifyGameObjectAppear 然后,我们讲到了

2017-03-13 16:55:19 1339

原创 Unity3D 大型游戏 最后一站 源码 部分重点匹配战斗(三)(12)

上节课讲到加载游戏状态完成后就进入到PLayState游戏状态。 在讲这个之前,我们先来了解下,最后一站中有哪些实体。 1.Player玩家(自身玩家+其他玩家) 2.Builder建筑 3.Soldier士兵 4.Monster野怪 5.AltarSoldier超级士兵 这些实体类型都有共同的特点,所以最后一站中抽象出了实体基类–>Ientity类型。 我们再回来看PlayStat

2017-03-13 16:50:06 5411 1

原创 Unity3D 大型游戏 最后一站 源码 部分重点匹配战斗(二)(11)

前面一站我们已经客户端发送进入战斗的请求消息给服务器,这个消息包含 1.客户端的时间 2.战斗id 在服务器里面收到这个消息,就开始异步的SSBattle。 这时才是真正的进入战斗,注意了在最后一站中,进入选择英雄房间就已经算是在一个Battle里面了。 紧接着服务器就发送给客户端该玩家拥有的英雄列表消息。

2017-03-13 11:28:35 1850

原创 Unity3D 大型游戏 最后一站 源码 部分重点匹配战斗(一)(10)

最后一站中,前面几张基本上吧游戏整体的架构都讲了。我在第一期中也讲过,框架搭好之后,接下来无非就是收发消息,然后做收到消息的处理。今天我们讲的是比较核心的匹配战斗。所谓匹配就是类似LOL里面的匹配系统。首先贴一张匹配的UI:

2017-03-10 10:03:37 3021

原创 Unity3D 大型游戏 最后一站 源码 部分重点NetworkManager(三)(9)

接着上节我们讲了SendMsg()方法,接下来我们讲下NetworkManager里面的接收消息处理。因为接收消息需要不断接收消息,然后不断的进行处理。所以我们去看看NetworkManager里面的Update方法,因为它在JxBlGame的Update里面不断执行。在第一个if判断,因为我们连接上之后m_Client != null,所以执行,先执行DealWithMsg()

2017-03-09 17:40:12 1935

原创 Protobuf-net ProtoGen的使用

编辑脚本run.batprotogen.exe -i:protos\ReturnMessage.proto -o:cs\ReturnMessage.csprotogen.exe -i:protos\Login.proto -o:cs\Login.csprotogen.exe -i:protos\Test.proto -o:cs\Test.cs测试脚本protos:// 登陆请求message

2017-03-09 10:35:37 6881

原创 Unity3D 大型游戏 最后一站 源码 部分重点NetworkManager(二)(8)

上节我们讲到发送登陆消息给登陆服务器。

2017-03-09 09:46:51 1493

原创 Unity3D 大型游戏 最后一站 源码 部分重点NetworkManager(一)(7)

本文固定链接:http://blog.csdn.net/u013108312/article/details/60954670 网络通信在网络游戏中扮演者重要角色,所有交互几乎通过它来和服务器沟通并反馈。今天我们来讲讲最后一站中的Network部分。在讲这节之前,有些读者可能还不是很了解网络通信。这里我简单的讲解下,就拿最常见的LOL游戏吧,为什么我们在战斗中能够看见对方英雄移动等各种操作。就是对

2017-03-09 09:41:16 2222 1

原创 Unity3D 大型游戏 最后一站 源码 部分重点GameStateManager(6)

本文固定链接:http://blog.csdn.net/u013108312/article/details/60873965今天我们来看看最后一站中的游戏状态机。首先要明白一点,游戏状态机是干什么用的?为何要有游戏状态这一说?不知道你注意到了没有,每款游戏都有自己的生命周期。从点击桌面上的游戏快捷方式开始,就进入游戏的生命周期登陆->创建角色->进入主界面->开始游戏也正是这样的生命周期,所以我们

2017-03-08 15:52:09 2416

原创 Unity3D 大型游戏 最后一站 源码 部分重点ResourceManager2(5)

上节我们讲了Assetbundle打包顺序,接下来我们讲加载顺序。 上节,我们知道打包完成之后,我们生成一个xml文档,里面存储的是所有assetbundle资源的信息。大概有些人会问了,有什么要生成这个。我们可以想下,你加载Assetbundle是不是要知道他依赖哪些assetbundle,是不是要知道他的大小,不然你进度条怎么做。我们预先加载这些资源的信息,可以帮我们省了很多事情。比如文档xm

2017-03-06 17:33:11 1546

原创 Unity3D 大型游戏 最后一站 源码部分重点 对象池GameObejctPool(4)

本章我们来学习下最后一站中的对象池技术。 何为对象池,相信大部分的程序员都知道其概念和用法。说白了,就是为了提高性能而产生的这项技术。 那么,到底什么时候,什么地方用到对象池呢?

2017-03-06 17:27:45 1475

使用unity3d进行游戏开发_从入门到精通_01

使用unity3d进行游戏开发_从入门到精通_01

2014-10-20

SimpleJSON.cs

C#写的JSON解析,用于Unity之后能正常工作IOS、Android上。

2016-09-27

unity3d读取xml插件Mono.Xml

unity3d读取xml插件Mono.Xml

2017-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除