自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天生爱赞美的博客

我们只用技术说话,眼界决定境界,定位决定地位。。。

  • 博客(89)
  • 收藏
  • 关注

翻译 快速开发各种Android 库列表(开发者)资源福利

软件库的存在使得Android编码更方便快捷。在如此多 Android库中,我们该如何寻找最合适的一款呢?下面我们做了一个列表供你参考。

2016-12-08 16:07:48 1212

原创 正则表达式的概念用法和工具下载

引言    正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。    正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址

2016-12-07 17:47:39 647

原创 C#反射(Reflection)的概念和用法详解

C#反射(Reflection)的概念和用法详解1、 什么是反射2、 命名空间与装配件的关系3、 运行期得到类型信息有什么用4、 如何使用反射获取类型5、 如何根据类型来动态创建对象6、 如何获取方法以及动态调用方法7、 动态创建委托1、什么是反射        Reflection,中文翻译为反射。        这是.Net中

2016-12-07 14:52:08 4391

原创 【Unity】优化UGUI 滚动条ScrollRect(高效复用)

最近忙于性能优化,深切体会到二八法则真是指导高(tou)效(lan)工作的有力武器。这个礼拜花了几天解决了一个实际问题:UGUI的ScrollRect加载太多物体的时候,第一次弹出界面会非常卡顿,而且不在界面里的内容依然会参与绘制(毫无意义的浪费…)。ChangeLogv1.03 终于支持了ScrollBar,支持直接创建v1.02 Bug Fixes,无尽模式v1.01

2016-12-06 10:28:44 33657 22

原创 [Unity3D]UGUI分辨率自适应的组件和方法

UGUI分辨率自适应随着游戏设备越来越多,屏幕的分辨率也越来越多。而针对不同的屏幕分辨率,制作不同的素材是不现实的,所以就需要我们提供一套分辨率自适应的机制,来适配不同屏幕分辨率的设备。这篇博客就来介绍一下UGUI提供的分辨率自适应的机制。游戏中的分辨率自适应主要包括两部分:一是在不同尺寸的屏幕下,整体缩放比例的计算方式;二是在不同比例(宽高比)的屏幕下,UI控件所处的位置关系

2016-12-05 17:39:41 18350

原创 [TCP]/[IP]/[Http]的概念和区别

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己

2016-12-05 17:28:17 1669

原创 【Unity3D】Android和ios真机调试测Profiler

U3D中的Profile也是可以直接在链接安卓设备运行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的测试具体原因。大概看了下官方的做法,看了几张帖子顺带把做法记录下来。参考:http://docs.unity3d.com/Documentation/Manual/Profiler.html用安卓真机调测Profile的数据,其实就两种方法,WIFI和ADB的方式。

2016-12-05 16:17:04 14968

原创 【unity】开发android游戏android SDK和Java JDK

1,下载安装Java的JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html (JDK中,包含JRE)如果是64位的系统,推荐安装64位的java。2,下载Android的SDK:注意,Android 有两种方式:一种是Android stu

2016-11-30 14:57:40 10458

转载 如何给Apk中注入代码【开发一款自动注入代码工具icodetools(开凿篇)】

一、前言从这篇开始咋们开始一个全新的静态方式逆向工具icodetools的实现过程,这个也是我自己第一次写的个人觉得比较有用的小工具,特别是在静态方式逆向apk找关键点的时候,后续会分为三篇来详细介绍这个工具实现:第一篇:开凿篇,简单介绍实现原理以及简单的初次方案实现简单的apk注入代码功能第二篇:填坑篇,这一篇是在前一篇的基础上对工具的优化,可以应对市面上大部分的apk代

2016-11-30 14:39:31 3526 2

原创 【Unity】Unity资源池的动态加载释放和内存优化处理

需求环境        在上一级的【解决方案】文章中,我们设计出了动态加载资源的业务流程,而这一节,我们就通过一些简单的代码,来实现出业务流程中的效果。       吸取之前文章的经验,如果按照正式项目的规格开发,本篇文章就会非常冗余,所以我们优化一下,仅仅针对技术点进行讲解与释放,具体与工程相关的,我们就不再文章中讲解,但你可以在Github的工程中找到它们。、     

2016-11-29 14:05:16 6244 1

原创 (2016)最新最好的Unity3D Github项目收集

重磅推荐:Github 热门 Unity Assets 查询:http://unitylist.com/browseList of best publicGitHub repositories:·         Image effects collection – https://github.com/makoto-unity/OneStepEffects·

2016-11-29 13:55:01 5171 4

原创 Unity3d中对象池(ObjectPool)的概念和用法

概述什么是对象池?  池(Pool),与集合在某种意义上有些相似。 水池,是一定数量的水的集合;内存池,是一定数量的已经分配好的内存的集合;线程池,是一定数量的已经创建好的线程的集合。那么,对象池,顾名思义就是一定数量的已经创建好的对象(Object)的集合[1]。  在C/C++的程序中,如果一种对象,你要经常用malloc/free(或new/delete)来创建、销毁

2016-11-29 13:38:25 3184

转载 Unity编辑器扩展工具Shader Forge和Behavior Designer(行为树)和 Cinema Director

Shader Forge相信Shader Forge大家都有耳闻,它的厉害之处在于将着色器的编写过程可视化。Shader Forge是一款基于节点的着色器编辑器,开发者只需在编辑器中拖拽自己需要的效果进行组合,无需编写代码即可实现炫酷的着色器特效,并且支持实时预览着色器效果。Shader Forge使用起来也很方便,首先依次点击Windows > Shader Fo

2016-11-29 13:35:17 2461

转载 手机客户端弱网络下的断线重连处理

1、弱网络下的断线重连  玩家在游戏过程中,所处的网络环境是复杂多变的,可能是wifi的网络不稳定,或处在3G甚至2G的环境下等。在这些情况下,网络游戏会由于网络或包量等原因而出现延迟,拉拽,甚至掉线等问题。对于这些问题,一方面要对程序的包量和通信进行优化,从根本上减缓网络压力。另一方面,在出现网络异常的时候,保证玩家能重新连接到服务器并继续游戏,并且体验良好。  网络的“弱”主要体现在延

2016-11-29 13:30:28 4093

原创 Unity3D代码混淆

Unity代码混淆方案内容提要:Unity引擎下的代码保护,由于Unity引擎的一些特殊性,实行起来较为复杂,在国内外业界并没有现成的方案。笔者通过在《QQ乐团》项目上的实际尝试,得出了一种具体可行,能够有效保护代码逻辑的方案。特此分享给关注Unity引擎的项目,希望能提供一些的参考。背景Unity引擎上的程序执行在Mono运行时上,使用Mono编译出的程序集格式与.NET标准一致。C

2016-11-28 16:01:11 3261 1

原创 C#事件委托和回调的用法区别

事件包括:事件发送者、事件接收者和事件处理程序。关于事件,我们首要知道的是事件的发送者必须知道发送什么类型的事件,以及相关的事件参数。而事件的接收者必须了解其事件的处理方法必须使用的返回类型和参数事件的发送者和事件的接收者都只关注事件而不是对方,这样对象就只需考虑自己,而不用考虑其他对象。例如:足球运动员踢球射门时,产生一个击球事件,但他并不用关心守门员是谁,他只要

2016-11-28 15:56:53 1626

原创 【Unity】热更新插件【ULua】学习教程整理

前言IOS不能热更新,不是因为不能用反射,是因为System.Reflection.Assembly.Load 无法使用System.Reflection.Emit 无法使用System.CodeDom.Compiler 无法使用这三个不能用,就把传统dotnet动态路径坑死了为啥“这三个不能用,就把传统dotnet动态路径坑死了”呢动态载入dll或者cs的

2016-11-07 11:42:52 3777

转载 Shell的解释和一些用法

软件的发展速度,超过了任何一个行业。软件的从业人员节节攀升;软件的使用人员,也深入到了乡村(都使用了智能手机来看节目,聊视频)。1 Linux与Shell    作为软件产品的使用人员,我们逃不开Windows;作为软件产品的工作人员,也躲不过Linux(类Unix系统,Unix、Linux,简称Linux)。    成万上亿的各种Linux系统,及系统的贡献者,隐藏在信息时代

2016-11-03 16:47:10 619

原创 NGUI中Scrollview和UIGrid的ResetPosition和RePosition方法总结

NGUI的Scrollview当要重置的时候那几个reposition阿,ResetPosition,repositionNow什么的非常烦。现在稍稍总结一下首先。分清两个概念。一个是UIScrollview,一个是UIGrid。UIScrollview是负责显示用的,UIGrid会在UIScrollview下。移动啊,置顶啊,其实都是UIScrollview控制的。Scr

2016-11-02 10:47:02 8233

原创 网络游戏服务器之 日志系统

一、For Beginner日志系统主要是一组记录引擎底层及应用逻辑层系统状态变化过程的接口。几乎所有的游戏服务器框架都会有一组操作日志的接口,当然最简单的就是大家所熟悉的printf格式化到标准输出,日志系统的复杂度有高有低,具体目的主要是为调试及运营数据查询需要。可以说日志系统实现是否易用、简洁,将直接影响到开发及运营效率。二、文件VS数据库是写文件还是写数据库,这是一

2016-11-01 16:04:10 4429

原创 unity socket编程过程

一、第一步开始连接1、创建socketprivate Socket socket;socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);2、创建ip和端口号IPAddress address = IPAddress.Parse (“192.168.1.1”); 

2016-11-01 16:02:38 3621 3

转载 如何打造一款直播App(方法流程)

概要分享内容:互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——…….。从直播1.0秀场时代(YY),2.0游戏直播(斗鱼、虎牙、熊猫)到如今全民直播3.0泛生活娱乐时代(映客、花椒),国外直播app(Meerkat 、Periscope),随着VA/AR/MR提出的沉浸式视听体验,直播4.0时代很快就能到来。在这个全民娱乐的时代,直播已经火得不要不要的,

2016-11-01 09:58:34 8798

转载 GitHub查找优秀的开源项目和一些资源福利

GitHub 我大概了解了,Git 也差不多会使用了,但是 还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率?GitHub 其中一个最重要的作用就是发现全世界最优秀的开源项目,你没事的时候刷刷微博、知乎,人家没事的时候刷刷 GitHub ,看看最近有哪些流行的项目,久而久之,这差距就越来越大,那么如何发现优秀的开源项目呢?这篇文章我就来给大家介绍下。1. 关注一些活

2016-10-31 18:22:57 24195 9

转载 socket通信简介(概念、函数、原理)

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?

2016-10-31 17:16:37 1146

原创 【数据结构】树与树的表示、二叉树存储结构及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树与哈夫曼编码、集合及其运算

1、树与树的表示什么是树?客观世界中许多事物存在层次关系人类社会家谱社会组织结构图书信息管理分层次组织在管理上具有更高的效率!数据管理的基本操作之一:查找(根据某个给定关键字K,从集合R 中找出关键字与K 相同的记录)。一个自然的问题就是,如何实现有效率的查找?

2016-10-31 10:09:12 3909 1

原创 【Unity】学习Shader中常用的函数方法

今天给大家列出来shader中常用的一些函数,函数后面有释义,大家可以打印出来,或者在写shader的时候来这篇文章查阅,看看你需要用到哪些。Cg提供了一系列内建的标准函数。这些函数用于执行数学上的通用计算或通用算法(纹理映射等), 有些函数直接和 GPU 指令相对应,所以执行效率非常高。这些函数来源于文档,我为大家筛选出了常用的,去掉了基本用不到的函数。数

2016-10-31 10:03:39 20513 1

原创 【Unity】查看与显示游戏帧数FPS

关于FPS,在PC端来说,游戏帧数跑得越高越好,FPS跑得越高游戏就越流畅,当然太高也没什么必要。 不过在手机平台上,游戏帧数跑高了,CPU和GPU负荷相应则会增大。CPU和GPU负荷大的话那代表着其发热量也相应会大很多。发热大可是很糟糕的事情,极大影响游戏体验。 所以也并非帧数越高越好。只要玩起游戏来不卡的话,我觉得这个帧数就可以了。 60帧是非常流畅的帧数,所有最高设为60帧则足够了。30帧的

2016-10-28 13:24:22 5179

原创 【Unity】制作圆形进度条

0. 背景最近有个在Unity中制作圆环进度条的需求,并在圆中显示进度数值,类似于图1:  图1. 圆环进度条平时制作直线的进度条比较多,突然要求做个圆环的有些不适应。不过,这个需求google一下其实大量的解答就出来,关键字"unity circle progress bar",于是我采用了 Unity5 Radial Progress Bar Tut

2016-10-28 11:45:24 7526

原创 【Unity】加载Loading场景进度条slider平滑问题

背景通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长。为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来加载主场景。因为Loading场景包含的资源较少,所以加载速度快。在加载主场景的时候一般会在Loading界面中显示一个进度条来告知玩家当前加载的进度。在Unity中可以通过调用Application.LoadLevelAsync函数来异步加载游戏

2016-10-28 11:40:41 6798 1

转载 【Unity】场景异步加载进度条的制作

[csharp] view plain copyusing UnityEngine;  using System.Collections;  using UnityEngine.UI;  ///   /// 脚本位置:Main Camera  /// 脚本功能:场景异步加载的进度条显示  ///   public class Loadin

2016-10-28 11:40:04 1816

原创 Unity中surfaceShader的处理机制和finalColor

Unity Surface Shader的背后隐藏着比较神秘的机制,之所以说神秘,是因为不了解,了解了就不神秘,Unity Surface Shader在Unity 3.0的时候被开放给公众使用,但是貌似只能从官网的doc里面去了解一知半解,似乎在我们的项目里面没有怎么用到它。虽然它比较神秘,但是我们可以通过Unity来查看生成的CG代码,实际上Surface Shader是封装了CG语言,隐藏了

2016-10-27 14:21:29 4302

原创 Unity中什么情况下适用静态变量

下面的示例解释了为Unity3D引擎编写脚本的时候如何来使用静态变量.本文示例的脚本使用C#编写,同样的适用于javascript。 在深入主题之前,必须要清楚地是我们应该尽量避免使用静态变量,有大量的缘由可以很容易在网上找到.大部分时候使用单例更好。了解了上面的东西之后,这里有一个对静态变量的简单定义:它们是属于类的变量,不属于对象或类创建。这意味着静态变量始终保持同样的

2016-10-26 17:58:44 5800

原创 Photon服务器入门教程二

上一讲中主要介绍了服务器的简单知识,配置服务器和客户端连接.第二讲介绍客户端请求服务器,服务器响应操作,我们就以一个简单的用户登录为基础介绍吧一、服务器端按照上一篇教程我们配置好简单的photon服务器,但是只能用于连接服务器和断开服务器操作,其他的基本没有提到,今天是要在上一讲基础上添加内容.主要是在MyPeer.cs类的OnOperationRequest方法中实现,代码如下:

2016-10-26 11:46:14 1373

原创 Photon服务器引擎入门教程一

Photon是一款非常不错的游戏服务端引擎,但是网上的入门教程太少了,特别是中文版的。下面一系列是对Photon Server的研究过程,如有哪个地方写的有误,望指教。首先去https://www.photonengine.com/en/OnPremise/Download下载服务器端SDK,需要登录的,就先注册一个账号吧.解压出来是四个文件 deploy:主要存放photon的服

2016-10-26 11:45:07 2709

原创 Unity3D面试题整合

第一部分1.请简述值类型与引用类型的区别2.C#中所有引用类型的基类是什么3.请简述ArrayList和List的主要区别4.请简述GC(垃圾回收)产生的原因,并描述如何避免?5.请描述Interface与抽象类之间的不同6.下列代码在运行中会产生几个临时对象?7.下列代码在运行中会发生什么问题?如何避免?8.请简述关键字Sealed用在类声明和函数声明时的作用

2016-10-26 11:43:09 1871

原创 Unity高频面试题总结

高频问答的问题:一.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。主要步骤有:本地坐标->视图坐标->背面裁剪->光照->裁剪->投影->视图变换->光栅化。 二.如何优化内存?有很多种方式,例如1.压缩自带类库;2.将暂时不用的以后还需要使用的物体隐藏起来而不是

2016-10-26 11:40:13 10451

原创 unity3d事件函数整理(事件,回调函数)消息处理

Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Start,Update等函数,以下做个总结。 Awake当前控制脚本实例被装载的时候调用。一般用于初始化整个实例使用。Start当前控制脚本第一次执行Update之前调用。Update

2016-10-26 11:33:52 706

原创 Unity中颜色空间(Color)HSV,HSB,HSL

作为一名程序猿,也需要了解一下美术相关的一些知识,其实不用了解很多了,一点点就足够了,了解一下HSV,HSB,HSL的定义其实就OK了。一 . 概念HSL 模式和 HSV(HSB) 都是基于 RGB 的,是作为一个更方便友好的方法创建出来的。HSB 为 色相,饱和度,明度,HSL 为 色相,饱和度,亮度,HSV 为色相

2016-10-26 09:52:58 10147

原创 Unity3d 必备的几种优秀的设计模式

unity编程众所周知,它是属于脚本化,脚本没有一个具体的概念跟架构, 导致在项目过程中,经常出现哪里需要实现什么功能,就随便添加脚本, 结果,就造成了一片混乱,不好管理。 更有甚者,自己的写的代码闲置一段时间后,再去想找某个功能的实现,都要在视图中翻来覆去找半天。 哎!请容许我在此感叹一声,这还是你写的东西么? 因此,一个好的设计模式是多么的重要啊, 那么,我们在使用Un

2016-10-26 09:48:38 2234

原创 Unity中常用的几种设计模式

23种设计模式,实在是太多了,而且其中有一些看着还貌似差不多,让人很费解,好不容易理解了每一种设计模式的含义,并且看了一堆伪代码之后,高高兴兴的合上了书本去玩几把LOL,赢了几把之后脑袋里关于那23种设计模式的概念就剩下80%了,然后接下来的每日工作中,基本写代码的时候也用不到啊!老板催着让你做功能,你就还哪里记得去使用设计模式啊,就开始乱写吧,日复一日,23种设计模式基本就和你拜拜了,再见了。

2016-10-26 09:42:39 21459 1

空空如也

空空如也

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

TA关注的人

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