langresser的专栏

Unity游戏开发 qq:450140822
私信 关注
langresser
码龄13年
  • 1,482,518
    被访问量
  • 193
    原创文章
  • 2,277
    作者排名
  • 661
    粉丝数量
  • 于 2007-09-20 加入CSDN
获得成就
  • 获得47次点赞
  • 内容获得507次评论
  • 获得119次收藏
荣誉勋章
兴趣领域
  • #iOS
    #Swift
TA的专栏
  • 职业生涯
    16篇
  • Core Text
    2篇
  • 游戏客户端
    53篇
  • 游戏服务器
    10篇
  • cocos2d-x
    16篇
  • IOS应用开发
    10篇
  • IOS游戏开发
    44篇
  • 开源库介绍
    6篇
  • Android开发
    26篇
  • 编程基础
    25篇
  • 游戏引擎
    37篇
  • Unity3D开发
    61篇
  • 游戏分析
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Unity原生平台插件开发简介(Android/iOS)

一、Unity如何调用c#之外的语言的内容1、c/c++可以编译成.so动态库(android平台下),.dll动态库(window平台和编辑器下),.a静态库(iOS平台下),.bundle包(Mac平台下和编辑器下)      把编译好的东西放在Plugins目录下的指定平台目录下即可。比如iOS平台就放在iOS文件夹下面。Android平台根据cpu架构不同放在对应文件夹下面,比如A
原创
4136阅读
0评论
0点赞
发布博客于 4 年前

Unity发布到iOS平台后的相关问题

1、iOS支持luajit,但是不支持其jit模式。luajit编译出来的bytecode是平台相关的。即64位和32位的luajit程序编译出来的bytecode是不兼容的。如果没有留意这点的话,可能发布出来的游戏会不兼容iPhone5及以下设备。 iPhone5S,iPad Air之后的设备都是64位的cpu。2、声音千万不要选Load In Background选项。否则在部分iOS设备
原创
2570阅读
0评论
1点赞
发布博客于 5 年前

华为手机指定android:installLocation为preferExternal后游戏无法安装

android:installLocation可以为auto  internalOnly  preferExternal。默认为internalOnly。在Unity中这个值可以在Player Settings里面进行设置。设置为preferExternal后,华为手机App安装失败,而当我把游戏资源都删掉减少安装包大小后是可以正常安装的。怀疑是Android或者是华为定制系统计算剩余空间
原创
3510阅读
0评论
0点赞
发布博客于 5 年前

Unity导出XCode工程的时候自动修改工程设置添加依赖

代码如下#if UNITY_IOS || UNITY_EDITOR // ios版本xcode工程维护代码 [PostProcessBuild(999)] public static void OnPostprocessBuild(BuildTarget BuildTarget, string path) { if (BuildTarget ==
原创
8684阅读
2评论
0点赞
发布博客于 5 年前

Unity5 AssetBundle资源管理

最近在开发的过程中,断断续续的踩了很多的坑,这里记录一些经验或者心得。1、打包使用LZ4格式,加载使用LoadFromFile,这个在之前的文章里面已经分享过了。 这个应该是兼顾内存、加载速度、包体大小的通用方案了。如果更加关注加载速度,可以考虑使用不压缩的assetbundle,自己使用zip压缩,然后解压到sd卡(外存)。不太推荐lzma的压缩格式,仅仅提高了20%左右的压缩比,但是内存和
原创
2457阅读
0评论
0点赞
发布博客于 5 年前

Unity中Shader和AssetBundle结合使用的注意事项

1、我们一般把资源和代码作为两个工程。资源工程导出assetbundle供代码工程使用。这么做主要是防止资源过多导致代码工程启动速度慢,影响开发效率。2、尽量避免使用Resources文件夹。这个文件夹就相当于一个系统默认的AssetBundle。只不过不能增量更新。它会严重影响打包速度。我们把资源从Resources移出来后,打包时间从半个多小时,减少到2~5分钟。2、Shader都要加
原创
8759阅读
1评论
1点赞
发布博客于 5 年前

Unity的UGUI中使用ETC1+Alpha的格式

Unity5.3之后,Android平台的默认压缩纹理改为ETC2。ETC2支持半透明,使用也很方便,不过问题是尚未普及,尤其是低端机是不支持ETC2的。Unity对不支持ETC2的机子,在加载图片的时候会解压为RGBA,不过这样就会造成极大的内存浪费,也会严重影响加载速度。        对于没有透明色且为2的整次幂的正方形图片,Unity会转为ETC1,所以模型的纹理是可以用默认的压缩格式
原创
11907阅读
4评论
1点赞
发布博客于 5 年前

Unity5的AssetBundle系统在mmo中的使用经验

先推荐三篇不错的文章http://blog.uwa4d.com/archives/ABTheory.html  http://blog.uwa4d.com/archives/ABtopic_2.htmlhttp://www.cnblogs.com/murongxiaopifu/p/5629415.html基本上核心的知识点上面的文章都涵盖了,讲述的非常清楚,这里
原创
9104阅读
0评论
2点赞
发布博客于 5 年前

发布测试版本,通过网页在线安装ipa和apk

很多时候我们需要发布一个测试版本,如果发布为安装包,让测试人员自己安装的话,很多时候是非常困难麻烦的,尤其是iOS版本,多数人并不知道除AppStore之外的安装方式。        通过网页在线安装可以达成自动化部署,终端测试用户只需要通过页面下载安装即可。也可以免去发包给发行商的步骤,分享一个链接地址,他们点击链接即可完成安装。        Android版本很好处理,只需要部署好一
原创
18512阅读
3评论
1点赞
发布博客于 5 年前

实时pvp(皇室战争)网络同步研究

皇室战争实时pvp网络同步
原创
14719阅读
12评论
8点赞
发布博客于 5 年前

Unity实现残影特效

实现效果如上图所示。代码如下:using UnityEngine;using System.Collections;using System.Collections.Generic;using System.Linq;// 残影效果public class AfterImageComponent : ActorComponent{ class AfterImage
原创
11789阅读
2评论
3点赞
发布博客于 5 年前

Golang的包管理、项目管理

Golang的包管理有两个特点,一个是去中心化,也就是说,不像Node.js有一个npm,包的仓库可以是任意的代码仓库。一个是代码仓库跟代码本身耦合在一起(比如导入一个包是 "github.com/langresser/websocket"),这个是Golang推荐的工作方式。      好处是go get命令可以轻易的安装好一个项目的依赖(自动从github上面clone,并放在GOPATH
原创
7989阅读
2评论
0点赞
发布博客于 5 年前

使用Golang开发手游服务器的感想

从最初决定使用Golang开发游戏服务器(参考这里),到服务器基本成型,经过了两个多礼拜的时间。这里记录一下感想和心得。具体Golang的使用经验将来有时间会再开篇文章来写。        两个礼拜的时间,完成了Golang的入门,服务器框架设计,功能的完整移植,从我个人角度来说,要给Golang和我自己100个赞。        最初我选定Golang就是考虑到它有以下优点;
原创
17774阅读
5评论
4点赞
发布博客于 5 年前

对于游戏服务器的一些思考和研究

客户端已经写了五六年了,但是并没有写过服务器。现在有相关的需求,希望能够以比较省时省力的方式完成服务器的开发。经验比较浅,所以以下言论只是个人观点和吐槽。           我对服务器技术的理解是这样的。做到京东、阿里这么大的规模的时候,对数据一致性、容灾、安全性、稳定性、并发性等等都有非常高的要求。这个很依赖于经验,没有足够的经验,学的再多也是纸上谈兵。 web服务器跟游戏服务器有所区
原创
11623阅读
3评论
5点赞
发布博客于 6 年前

Unity5中灯光烘焙(lightmap)的一些注意事项

之前自己研究了下lightmap,不过并没有关注效果和细节,只是关注了使用流程。        今天配合美术测试了下Unity5中的lightmap,有一些经验心得。        首先推荐一篇文章,将的非常不错  http://www.edy.es/dev/docs/unity-5-lighting-cookbook/1、灯光烘焙的速度非常慢。在Unity5中尤其慢(可能是因为效果和
原创
41003阅读
0评论
7点赞
发布博客于 6 年前

Unity5的uGUI中实现文字渐变效果(Gradient)

代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;[AddComponentMenu("UI/Effects/Gradient")]public class Gradient : BaseMeshEffect{ [Ser
原创
12950阅读
0评论
0点赞
发布博客于 6 年前

Unity中T4M插件的使用,以及针对5.0的修改

T4M插件是一个高效的地形制作插件,最强大的地方在于可以像Unity刷地形一样,刷一个模型。比如多数情况下,地面就是一个平面,如果用Unity的地形系统,可能会因为一些细节导致DrawCall增多,顶点增多。这个时候美术通常会在3DMax中直接制作好模型(地形)。 然后通过T4M可以在上面刷出细节丰富的地表,可以支持多个贴图之间的混合。      Unity5中T4M的2.5版本会有一些Bug
原创
12838阅读
2评论
0点赞
发布博客于 6 年前

Unity的UGUI中使用CustomFont(BMFont)

Unity的UGUI的文字渲染效率应该是挺高的,一般来说用默认的Text控件,TTF的Font就满足需求了。不过有时候需要渲染艺术字体的时候还是需要用到BMFont。一、BMFont的基础使用,创建fnt字体的步骤就不多说了。这里额外提一下就是BMFont是支持命令行的。这里贴一下我使用的脚本,更新字体比较方便。         bmfc文件是BMFont的配置文件,使用BMFont的GU
原创
11050阅读
2评论
2点赞
发布博客于 6 年前

Unity5中lightmap的坑

Unity5中光照系统替换为Enlighten是非常大的革新。但是对手游来说,好处还未享受到,坑先踩上了。并且是我研究了两天都没有很好的解决办法的深坑。        我并没有系统的学过图形学,所以以下所说的内容都是自己的理解,可能存在错误的地方,敬请见谅。        所谓lightmap,就是用一组预先烘焙好的贴图来替代运行时光影计算。在Unity5之前使用的是beast系统,Uni
原创
12946阅读
2评论
4点赞
发布博客于 6 年前

Unity自动更新、AssetBundle整理

这篇文章梳理了我现在所理解的Unity的AssetBundle、自动更新的流程和知识点。一、关于AssetBundle        如果不是为了自动更新的话,其实完全可以避免掉AssetBundle,全部资源放到Resources目录下或者在Scene中直接引用。这样可以避免掉很多坑。但是考虑到手游的自动更新,AssetBundle就非常有必要了。它相当于一个小的资源包,提供了在游戏完整
原创
5582阅读
1评论
1点赞
发布博客于 6 年前

Unity中uGUI的控件事件穿透逻辑

1、正常来说Image和Text是会拦截点击事件的,如果添加EventTrigger的话,就可以响应对应的交互事件。2、如果Image和Text是一个Button的子控件,那么虽然其会显示在Button上面,但是并不会拦截点击事件。除非是Selectable的,否则子控件不会影响到父控件的点击。3、如果是跨Panel或者是同级的Image和Text,是会拦截点击事件的,即如果Image在某
原创
10726阅读
1评论
1点赞
发布博客于 6 年前

使用Redmine进行项目管理

1、https://bitnami.com/stack/redmine 有一键安装包,可以极大的简化安装、部署操作。2、无论是新功能、还是Bug,都是“新建问题”,在配置中可以编辑其对应的标签。3、在项目的配置中可以添加版本,添加版本后会出现路线图的分页。路线图就是最直观的项目进度预览。4、当新添加一个版本,如“数值修正版本v1.01”,可以对应新建几个问题,并将其版本归属选择成这个新
原创
4808阅读
0评论
0点赞
发布博客于 6 年前

Unity中uGUI的多分辨率处理

1、通过RectTransform中的Anchors和Pivot来进行控件和窗体的布局适配Anchors控制当前Panel相对于父窗体的布局位置,可以设置为居中或者左上角,当父窗体拉伸的时候当前Panel可以自动布局到正确位置。同时这里可以设置拉伸,比如主界面一般是全屏拉伸的,这种情况可以在这里处理。Pivot是当前控件坐标系的锚点位置,通过代码调整坐标位置的时候需要注意这个的设置
原创
2834阅读
0评论
1点赞
发布博客于 6 年前

在Unity中使用uGUI绘制自定义图形(饼状图 雷达图)

饼状图或者是雷达图是根据属性自动生成的自定义图形。这里展示了如何使用uGUI完成这一功能。      先附上我制作雷达图的控件的代码  UIPropWidget.csusing UnityEngine;using System.Collections.Generic;using UnityEngine.UI;/* * * 2 6 * *
原创
16084阅读
5评论
2点赞
发布博客于 6 年前

Dota2技能系统设计分析

前两周写完了新游戏的技能系统。虽然也算灵活,但是跟Dota2的技能系统设计比起来,就差了很多。无论从灵活性还是功能实现上,其技能系统设计的都相当漂亮。如果早一些分析它的技能系统的话,我想我可以实现的更快更好。        与之类比还有一些游戏,其技能系统设计的也很漂亮,比如魔兽争霸3  火炬之光2   星际争霸2,它们都很灵活,从其众多的MOD就可以看出来,甚至MOD的作者可以做出游戏开发者
原创
7866阅读
0评论
0点赞
发布博客于 6 年前

手游帧同步的研究

网络游戏的同步可以做的很简单,也可以做的很复杂。简单来说就是通过Http或者Socket来跟服务器同步数据。而如果往复杂了说,可以有p2p、帧同步、航位预测等等高级课题可以研究。        因为我们的项目需求----几百个独立单位的实时同步(带pvp的rts),所以研究了下帧同步。不过后来发现它其实有很多问题,所以具体如何还要看其他同事的研究成果。以我个人来说,修改游戏方案反而是最合理的解
原创
15306阅读
7评论
3点赞
发布博客于 6 年前

游戏开发经验分享:我所理解的打击感

http://www.gameres.com/384281.html大家都知道一个格斗游戏的灵魂就是打击感,对于打击感,相信每个人都有自己的理解,下面就来说说我对打击感的理解吧,虽然年纪小了点,不过为了一窥打击感的奥秘,光被我逐帧分析的游戏就有几十个……积累数年,这可是我的葵花宝典,嘻嘻,下面就跟大家去分享一下我的一些拙见。  首先我们先来看手机这个平台,我这里
转载
2691阅读
0评论
2点赞
发布博客于 6 年前

Unity客户端框架笔记二(组件实体开发模式的思考)

Unity的Entity-Component-System实现的非常漂亮,非常灵活。很多文章也对这种组件实体的开发模式倍加推崇。因为它契合这么一条规则:优先使用组合而不是继承。        但是实际开发过程中,限制于我的个人能力,想实现一个同样漂亮的基于组件的MMO框架是非常困难的一件事情。        这篇文章是个人开发过程中的一些思考,实际上,所谓漂亮的框架是因人而异的,并且不一定
原创
4983阅读
1评论
2点赞
发布博客于 6 年前

Unity客户端框架笔记(状态模式和策略模式在游戏中的应用)

最近花了几天时间梳理了一下新游戏的客户端框架,虽然本身就有相对明确的方向,但是在一开始写的时候还是有些混乱,不过最终梳理完成后,个人感觉代码清爽很多。        这篇文章不是设计模式的教学,而是自己的一些想法和实践,我把代码梳理成自己喜欢的结构,保证逻辑和结构的清晰,但是这并不意味者它是符合所有人习惯的。        我之前有写过一两篇文章讨论客户端的结构,也吐槽过一些其他人的设计。
原创
3648阅读
1评论
2点赞
发布博客于 6 年前

Unity中直接使用transform和gameObject的效率测试

尽信书不如无书,更何况是网上开发者的博客。这里也包含我自己的博客,有的时候回过头来看是有错误的地方,但是我也懒得改了,而且很多时候我们看到的文章还不一定是原始地址,而是被各个网站七转八转的,更加不可能保证准确性。        这里测试了这么一个说法:“不要在脚本中直接使用transform或者gameObject,而应该在一开始缓存成成员变量如_transform和_gameObject来访
原创
4651阅读
0评论
2点赞
发布博客于 6 年前

Unity热更新方案(uLua vs sLua)

首先附上这两个项目的地址,这两个项目都是比较完善的lua解决方案,从效率和使用方式上说都不相伯仲,我最终选择了ulua,但是并不是说其具有压倒性优势。        uLua:http://ulua.org/index.html        sLua:https://github.com/pangweiwei/slua                引入lua,基本上就是为了热更
原创
21134阅读
1评论
2点赞
发布博客于 6 年前

COSMOSBOX手遊制作手册

20140712版版本号Version日期Date作者Author变更主要原因描述Brief Description1.02014-4-26陈霈霖初稿2.0 非常不错的文档,赞同其大部分内容。原文地址:http://www.cnblogs.com/mrkelly/p/39
转载
1591阅读
0评论
0点赞
发布博客于 6 年前

Unity4.6新UI系统初探(uGUI)

原文地址:https://github.com/jareguo/unity-ugui/tree/master/overview引言Unity终于在即将到来的4.6版本内集成了所见即所得的UI解决方案(视频)。事实上从近几个版本开始,Unity就在为这套系统做技术扩展,以保证最终能实现较理想的UI系统。本文试图通过初步的介绍和试用,让读者对这套系统有大体的了解,以便更进一步评
转载
1508阅读
0评论
0点赞
发布博客于 6 年前

为什么Unity5打的空包有17mb?

今天在论坛上看到有人提到Unity5的诸多“罪状”,其中一条就是打出来的空包竟然有17mb,而之前的版本是9mb。我很好奇,难道是IL2Cpp搞的鬼?        因为好奇,我特意准备了Android环境(之前的环境太老了,不得不重新弄),打了一个空包试验了下。其实原因很简单,因为考虑到兼容性Unity5默认情况下同时打了armv7a和x86的动态库。于是空包的大小就增加了几乎一倍。
原创
3727阅读
2评论
1点赞
发布博客于 6 年前

将刀塔传奇中的jpg+mask文件转换为带透明通道的png文件

实际操作非常没有技术含量,不过想展示一下万能的python。虽然python的文字编码和空格对齐我很反感,但是不得不说,其接口设计非常优秀,让复杂的工作变得非常简单,这种思想也体现在第三方扩展上面。        刀塔传奇使用jpg+mask文件的形式,达到压缩资源的目的。jpg的压缩比非常优秀,而mask含有透明通道信息,这样就可以大大压缩图片大小。        不过我个人更倾向于pn
原创
2989阅读
0评论
0点赞
发布博客于 6 年前

Unity如何在Editor下执行协程(coroutine)

在处理Unity5新的AssetBundle的时候,我有一个需求,需要在Editor下(比如一个menuitem的处理函数中,游戏没有运行,也没有MonoBehaviour)加载AssetBundle。而加载AssetBundle的时候又需要使用yield return www;这样的协程用法。       所以就有了一个需求,在Editor下执行协程。我从网上找到一个EditorCorout
原创
8697阅读
4评论
1点赞
发布博客于 6 年前

Unity5新的AssetBundle系统使用心得

Unity的AssetBundle系统是对资源管理的一个扩展,动态更新,网页游戏,资源下载都是基于AssetBundle系统的。但是不得不说,这个系统非常恶心,坑很深。至于有多深,请看这篇文章: http://www.cnblogs.com/ybgame/p/3973177.html        原先的AssetBundle系统需要自己写一大坨导出的代码(BuildPipeline),这个新
原创
20485阅读
11评论
0点赞
发布博客于 6 年前

Unity换装的实现

关于Unity的换装,网上有几篇文章,我之前也简单的描述过实现。不过那个时候只是粗略的试验了下。今天好好梳理了下代码。        先上代码(自己的游戏项目,不是公司的,所以放心的贴上项目代码了,部分引用到其他的功能文件,但是核心代码无影响,这里主要看一下细节和思路)using UnityEngine;using System.Collections;using System.Col
原创
7009阅读
2评论
2点赞
发布博客于 6 年前

在Jenkins的Python脚本中模拟用户输入

这个需求很少见,但是好不容易试验成功了,所以要记录下来备忘。        我们使用Jenkins+TexturePacker进行资源的自动打包和转换。        TexturePacker首次运行需要在命令行中输入agree进行版权声明的用户确认。而Jenkins的系统环境是独立于桌面系统的,所以在Jenkins里面要再一次输入agree。于是就有了一个非常恶心的情况,Jenkins
原创
3272阅读
0评论
0点赞
发布博客于 6 年前

Unity将粒子光效导出成png序列帧

这个功能并不是很实用,不过美术同学有这样的需求,那么就花了一点时间研究了下。        我们没有使用Unity的引擎,但是做特效的同学找了一批Unity的粒子特效,希望导出成png序列帧的形式,然后我们的游戏来使用。这个就相当于拿Unity做了特效编辑器的工作。这个并不是很“邪门”,因为用幻影粒子,或者3dmax,差不多也是这个思路,只不过那些软件提供了正规的导出功能,而Unity则没有。
原创
12330阅读
7评论
4点赞
发布博客于 6 年前

Unity模型资源使用流程

昨天研究了下Unity中AnimatorController自动生成。今天稍微完善了操作流程,并且补充说明了在MMO中如何使用模型资源(AssetBundle),这个使用方法是MMO这样模型资源非常大的情况下才需要的。如果是比较小的情况下,直接塞到Resources目录下,加载Prefab就OK了,根本不用操心这些问题。       先附上最终修改后的脚本。它创建了一个菜单选项,选择一个文件夹
原创
2951阅读
0评论
0点赞
发布博客于 6 年前

Unity自动创建AnimatorController

这个是我现在所知最正确的MecAnim的用法了。先上代码:using UnityEngine;using UnityEditor;using UnityEditorInternal;using System;using System.Collections;using System.Collections.Generic;public class GetAnimationClip
原创
6373阅读
1评论
2点赞
发布博客于 6 年前

一个Excel转换为Json格式的Python脚本

项目路径:https://code.csdn.net/langresser/excel2json一个Python脚本,自动转换Excel里面的配置到Json格式。1、这个是为Unity准备的,不过稍作修改可运行于任何环境2、Excel内容要求为键值对的形式,具体可以参考脚本内的说明。 3、读取代码里面限制了读取配置的路径为Resources/config,即所有的配置都要放
原创
4071阅读
2评论
0点赞
发布博客于 6 年前

cocos2dx的3D粒子特效编辑器(Particle Universe With Torchlight)

地址:https://code.csdn.net/langresser/particleuniversefortorchlight      在Bin文件夹有编译好的版本,装个vc2013的运行时库就可以直接运行了。        因为cocos2d-x没有3D粒子特效,所以主程就把OGRE和ParticleUniverse给加到项目中。我第一眼看的时候以为很牛,但是现在回过头
原创
9868阅读
8评论
0点赞
发布博客于 6 年前

全面理解 Unity UI 系统

原地址:http://www.cnblogs.com/whitecat/p/4159815.html随着 Unity 4.6 发布,新 UI 系统终于与大家见面了。这篇文章将不会介绍如何使用按钮、滚动条之类的UI控件,这些内容可以参考 Unity Manual;这篇文章的重点是,如何理解 UI 系统的设计,以便更好的在实际中使用它。 RectTransformU
转载
8630阅读
0评论
0点赞
发布博客于 6 年前

实例说明什么是代码的坏味道,如何重构

所谓优雅的代码,或者恶心的代码,很多时候是见仁见智的。也同时是看个人喜好或者习惯的。当经验不足,看的和写的代码还不够多的时候,我们可能会追捧某个大神或者奉某本经典为圭臬。然后跟学校的学弟们说,有空多看看《重构》和《设计模式》吧。        在我看来,优雅的代码并不是说这个代码写的有多神,多么让人惊叹。能够让人清晰的去阅读去理解就是好的代码。代码并不是艺术,更多的是严谨的表达出自己的思路。在
原创
2587阅读
0评论
0点赞
发布博客于 7 年前

在vs2013中使用正则表达式查找和替换文本内容

我们有的时候需要替换代码中的某些内容,因为替换的内容“不一致”,所以不能简单的使用一个replace搞定。这里有几个解决方法,核心思想是一致的,程序员不要做体力活,能交给程序或脚本的就交给程序或脚本来完成。        我先提一个替换的需求,这个在实际工作中是很常见的。比如        把所有的toke[TOKEN_ENUM_ATTACK], token[TOKEN_ENUM_MAGI
原创
8314阅读
1评论
0点赞
发布博客于 7 年前

你跟大牛之间只差一个google

google在中国被墙的厉害,http://209.116.186.231/ 这个地址可以访问google。另外,有VPN或者某个神奇的浏览器也可以。        非技术人员,还可以凑合着用百度,但是技术人员必须用google,bing都不行。        经常在QQ或者论坛里看到人问一些问题,我心里会问,“自己有先查过吗”。如果没有的话,那么就不具备一个程序员的基础素质,就是解决问题
原创
2184阅读
2评论
3点赞
发布博客于 7 年前

我为什么要写博客,我要写什么样子的博客

12月份光专注于玩游戏了,没有什么得意的研究值得分享(但是有一些关于cocos2dx的吐槽和教训,这个回头分享下)。所以这篇文章就是纯水了,但是即便水,也要水的有价值,水的有思想。        我为什么要写博客呢?        好吧,第一原因是虚荣,当我写了篇文章,受到大家的认可,这份成就感是无与伦比的。当有同学喊我“大牛”的时候,我也确实沾沾自喜了。我了解自己的水平,离大牛还有很大的
原创
1449阅读
0评论
0点赞
发布博客于 7 年前

手机网游实时同步方案

原始地址:http://www.cnblogs.com/ybgame/p/4165435.html网络延迟是所有实时同步的游戏都会遇到的问题,下面是关于实时同步问题的一些思考和处理方法。具体的解决方法可能比较特殊,首先这里的服务器并不跑定时器(除了一个游戏结束倒计时的定时器),由前端驱动,延迟的情况下主要是由前端来预测或纠正,服务器辅助,处理和转发,据我的了解好像没什么人这样子
转载
1855阅读
0评论
0点赞
发布博客于 7 年前

【Unity Shaders】法线纹理(Normal Mapping)的实现细节

原文章在http://blog.csdn.net/candycat1992/article/details/41605257这里只是备忘,和查阅方便。写在前面写这篇的目的是为了总结我长期以来的混乱。虽然题目是“法线纹理的实现细节”,但其实我想讲的是如何在shader中编程正确使用法线进行光照计算。这里面最让人头大的就是各种矩阵运算和坐标系之间的转换,很容
转载
1963阅读
0评论
0点赞
发布博客于 7 年前

"iccp known incorrect srgb profile" 警告的去除

cocos2dx游戏在运行的时候总是出现这个警告。因为不会对实际游戏造成影响,所以就一直没有管。今天稍微google了下,原来是新版本的libpng(1.6.2之后)对png图片的检查更加严格了,所以会有这个warning。        解决方法:1、直接改libpng的代码,这个其实很安逸,自己重新编译一下libpng的库就好了。虽然稍微麻烦了一点点,但是一点都不困难,而且一劳
原创
20248阅读
0评论
1点赞
发布博客于 7 年前

基于Node.js和express的日志服务器

首先,这篇文章学习的意义大于实际价值。如果按我的本意,直接在游戏中加入友盟,信息更全,而且非常简单。不过总是有很多人会凭着自己过时或者错误的经验去说别的东西多么不好,自己的东西多么好。好在,我自认为学习能力非常强,解决问题的能力也非常强。真让我做一个服务器+前端,也是在兴趣之中和能力之内。     一、Node.js简介       原本javascript纯粹是一个前端语言,干的基本
原创
3869阅读
0评论
0点赞
发布博客于 7 年前

基于Node.js的文件服务器(使用Q重构代码)

之前写过一篇文章,简单介绍了一个基于Node.js的静态文件服务器。那时还只是个人兴趣。最近又有了关于服务器的新的需求,我就想花点时间,好好研究一下。所以把之前的代码拿出来重构了一番,整体代码变得干净很多。        首先最新Node.js是支持generator的,所谓generator,就是javascript中的协程(半协程),不过功能稍弱,仅仅是为了解决js中凶名赫赫的callba
原创
1728阅读
0评论
0点赞
发布博客于 7 年前

windows下检测文件改变

这个主要是应用在我前一篇博客里提到的脚本热加载功能。主要实现的功能检测文件夹内文件的变化(改变、新增、删除、重命名),当发现改变的时候通知lua重新加载脚本。基本上就是一个windows api的使用。实际应用中会有一些细节需要注意,比如我习惯使用sublime text编辑,而sublime text保存文件不是直接改变文件内容,而是新增一个文件。这些细节情况需要实际使用中微调。     
原创
4311阅读
0评论
0点赞
发布博客于 7 年前

cocos2d-x+lua代码热加载(Hot Swap)的研究

代码热加载跟自动更新无关,主要目的是在程序运行的时候动态的替换代码,从而实现不重启程序而更新代码的目的。最理想的情况当然是我修改完代码并保存,然后就可以直接在游戏中看到修改后的效果,这个在实际开发过程中会大大提高效率。 即便达不到理想情况,我们也希望可以实现部分热加载,从而简化操作。例如我们可以仅仅对配置文件、消息文件、界面文件实现热加载,这样策划更新数据后可以直接在游戏中看结果,而不需要重新打开
原创
4201阅读
2评论
0点赞
发布博客于 7 年前

持续集成环境Jenkins的搭建和使用

这几天试着搭了个持续集成环境,我使用的是Jenkins,它的前身是Hadson,因为被Oracle收购了,所以换个名字继续开源,这个有点像MySQL。        持续集成总是跟敏捷开发什么的搞在一起,显得很高大上,其实它就是一个后台服务+web管理配置页面,它可以自动化(定时或事件触发)地执行某项任务,比如编译程序、打包程序、自动发布等等。这个在web开发或者大项目的多人合作上面很有帮助。
原创
7346阅读
1评论
2点赞
发布博客于 7 年前

程序员的瑞士军刀----Python

这篇文章比较难以成型。大概想表达的意思是,程序员应该通过脚本语言来完成
原创
2589阅读
1评论
0点赞
发布博客于 7 年前

初试虚幻4引擎感想

最近两天下载了虚幻4的源代码和编译好的环境,稍微尝试了下。没有深入研究,只是运行了几个Sample,看了看编辑器环境,甚至连c++代码都没有多看。所以并没有资格对这个世界上最先进的游戏引擎品头论足。不过由于不打算继续深入研究了,所以表达一下感想。        虽然对Unity已经比较熟悉了,但是真正接触虚幻4还是感觉力不从心。单单使用Unity的时候,感觉有很多坑,各种不爽,但是换了UE4,
原创
9203阅读
18评论
0点赞
发布博客于 7 年前

cocostudio 2.0版本爬坑手记

最近才开始接触cocostudio,主要是用来做UI。不想过多吐槽了,只想说一点,备受推崇、重金研发的一个编辑器还比不上Unity中的一个插件。之前我感觉NGUI很难用,但那是跟DF GUI相比,现在感觉NGUI实在是太方便、太强大了。1、基础使用:       在CocoStudio中编辑界面,然后导出资源,导出后会有资源目录和csb文件。我们使用时直接加载这个csb文件就可以了
原创
5414阅读
7评论
0点赞
发布博客于 7 年前

lua的string.format为什么比".."慢

大家直觉地认为".."操作符比string.format慢,这是个误解,实际上从连接字符串的效率来说".."比string.format快多了。先看看实验结果10000000次实验,基础字符串11个字符每次连接2个基础字符串 string.format 9秒; ".." 3秒每次连接3个基础字符串 string.format 12秒; ".." 3秒 1000000次实验,基础字符
转载
1926阅读
0评论
0点赞
发布博客于 7 年前

cocos2d-x+lua开发模式下编辑器的选择

原本打算直接用CocosIDE的,毕竟是官方出品,而且支持Android远程调试,windows下的调试也很方便,调试的信息也很全,智能提示也不错。好了,一切看上去很完美,但是它有一个致命缺陷,就是继承了eclipse一贯的特性--“卡”。基于java写的eclipse我一直使不惯,一方面是快捷键跟vs迥异,而我又懒得去配置(如果他能像IntelliJ IDEA一样,可以方便的删除重复快捷键,我还
原创
4817阅读
1评论
0点赞
发布博客于 7 年前

手游客户端框架的思考

新的公司新项目的手游客户端框架我并不是十分赞同,虽然最终我妥协了,并且为自己竟然做出质疑上司这样的幼稚行为而后悔。但是就最近写的一些代码来看,我更加坚定我自己的思路和想法。当然我的习惯和思路不一定适合其他人,所以我并不会说其他人的思路或者习惯不对或者不好,只要能用清晰的思路写出清晰的代码就好了。一、3D、Unity意味着更长的项目周期?        很多人都会有这样的看法,因
原创
4928阅读
3评论
3点赞
发布博客于 7 年前

Node.js使用cnpm

npm是Node.js中维护第三方库、模块的工具,但是国外的速度很悲剧,这里有一个中国的源cnpm。http://cnpmjs.org/需要在命令行中运行npm install -g cnpm --registry=http://r.cnpmjs.org然后所有使用npm的地方直接使用cnpm来替代第三方的模块的安装目录C:\Users\当前用户\AppData\Roami
原创
2116阅读
0评论
0点赞
发布博客于 7 年前

CocosIDE导出Android APK的注意事项

最近在用CocosIDE来开发新的游戏,总体感觉很不错。支持断点调试、真机调试,调试时候的变量信息也比很多vs的lua插件丰富,用起来也比一些专门的lua调试工具要方便。而且有一定的语法差错功能,可以预先检查出一些低级错误。有一点点不爽的地方是:代码补全反应有些慢而且卡,很多时候不等智能提示都手打完了,这点跟VA没法比。          我使用CocosIDE导出Android的APK的时候
原创
1957阅读
0评论
0点赞
发布博客于 7 年前

error C3130: 内部编译器错误: 未能将插入的代码块写入PDB

最近编译cocos2d-x的test突然出现这个错误,重新编译也无法解决。        一般出现这个错误是两个原因:一个是磁盘空间不足,另一个是项目太大导致pdb文件太大,无法继续写入。       原本cocos2d-x的test项目里面的"调试信息格式"是“C7兼容(/z7)”,后来我习惯性的修改为/zI了。       MSDN中说的是:无不生成任何调试信息,因此编
原创
4126阅读
0评论
0点赞
发布博客于 7 年前

cocos2d-x模型加载的重构,我眼中的面向对象

这两天在写cocos2d-x加载ogre的mesh模型的东西,完成了一半了,还差动画文件没接进来。这篇文章并不是教如何加载模型文件的,因为那种东西没什么可教的,无非就是加载文件,然后解析出自己想要的顶点、关键帧等数据,最后给coco2d-x中的MeshData赋好值。这里我想表达一些我有关代码格式、代码设计、代码重构的想法,我会分一些有关或者无关的问题,来逐一分析。一、为什么要支持多种
原创
2392阅读
0评论
0点赞
发布博客于 7 年前

游戏引擎不仅是代码,更多的是完善的工具

从洗脑开始记得若干年前,在做公司引擎研发的时候,时常会念到的一句话:引擎不仅是代码,更多的是完善的工具。当时只是用这句话还激励自己,找准引擎开发的原则和位置。 而实际上,对这句话的理解甚少。时隔多年,这句话油然在耳,伴随我左右。亲身体会后来,引擎项目砍掉了,进入了页游产品的开发。 在这个产品开发的第一周,我们就面临着动画和场景编辑问题,在脑海中第一时间浮现出的,依然是这句话。于
转载
1191阅读
0评论
0点赞
发布博客于 7 年前

基于Node.js的文件下载服务器

首先表示,并不是我客户端玩腻歪了要玩跨界;另外,代码不是我写的,而是我找的。        直接上代码地址,不想看唠叨的就直接下载代码就ok了。        https://github.com/andygrn/Node.js-File-Server        下载代码后,直接把server.js拖到node.exe图标上就可以运行了,在浏览器中访问http://127.0.
原创
5816阅读
0评论
0点赞
发布博客于 7 年前

cocos2d-x提示'__useHeader' : macro redefinition的解决方法

在项目属性的“预处理器定义”中添加:_USING_V110_SDK71_      注意无论使用vs2012还是2013,选择哪个平台工具集都是定义V110,这个不需要修改。      如果有用预编译头的话,也可以在预编译头中添加这个定义。      引申,为什么会出现这个错误?      cocos2d-x默认使用的平台工具集是v120_xp,这个是是兼容wi
原创
2804阅读
0评论
0点赞
发布博客于 7 年前

基于ibcurl的跨平台多线程断点续传下载库

之前写过一个多线程断点续传的下载库,不过那个是基于一个linux的下载程序。windows下运行还好,android下就各种问题,调试起来还麻烦。后面开发游戏的时候,一方面对下载要求不高,另一方面也精力有限,所以就没有继续研究。        趁现在有时间,我希望实现一个自己满意的下载库,满足以下需求:        1、多线程下载,根据文件大小和下载的文件数目进行调度。一般情况下是一个文
原创
2702阅读
0评论
2点赞
发布博客于 7 年前

cocos2d-x实现3D模型的换装系统的研究

这篇文章不会给出具体实现和代码(因为我也还没有搞定),但是会对我所理解的换装系统进行一些分析,并给出方向。一、什么是换装系统       RPG游戏中,更换不同的武器、装备,人物模型也会有相应的改变,这就是换装系统。实现换装系统,可以增加表现力,比如暗黑中换不同盔甲,人物看起来也会不一样,有的极品装备还会有光效环绕,这样刷装备才会更加有趣。二、实现换装系统的方式
原创
3458阅读
0评论
1点赞
发布博客于 7 年前

cocos2d-x改进的粒子系统和编辑器(需求分析)

先声明,以我对游戏引擎的理解和对图形学的熟悉程度,这篇文章更多的只是臆想和明确方向。我对能否完成它并不抱太大的期望。不过很多时候知道了方向,那么后面就可以一步一步的去完成它,有时候现在感觉很困难的东西在不久的将来就可能感觉是理所应当的。        首先说一下为什么希望cocos2d-x能够成为一个完善的2.5D游戏引擎。        在很早的时候我对cocos2d-x进行了各种吐槽,
原创
1877阅读
0评论
1点赞
发布博客于 7 年前

Unity AssetBundle爬坑手记

这篇文章从AssetBundle的打包,使用,管理以及内存占用各个方面进行了比较全面的分析,对AssetBundle使用过程中的一些坑进行填补指引以及喷! AssetBundle是Unity推荐的资源管理方式,官方列举了诸如热更新,压缩,灵活等等优点,但AssetBundle的坑是非常深的,很多隐藏细节让你使用起来需要十分谨慎,一不小心就会掉入深坑,打包没规划好,20MB的资源“压
转载
1571阅读
0评论
0点赞
发布博客于 7 年前

开源游戏引擎体验

应该说每个做游戏的人都会有一个自己写游戏引擎的梦。趁着还没有到新公司报道,花点时间研究一下开源引擎,梳理一下自己的思路。       新的游戏引擎是基于cocos2d-x,我希望能够从这些开源引擎中学到:       1、粒子系统、粒子编辑器。cocos2d-x的粒子系统相当薄弱,不是说没有,但是想用他做出酷炫的技能特效是非常困难的一件事。很多人都有做cocos2d-x的粒子编辑器,但是在
原创
2626阅读
4评论
1点赞
发布博客于 7 年前

cocos2d-x进化为2.5D的一些想法

        首先我得说Unity3D已经做的很好了,搞这些东西意义真心不大。具体Unity3D有什么优势我之前也写过两篇文章来阐述自己的想法。        如果我的下一份工作是U3D的话,估计我就不会有这些想法或者研究了。不过谁让我又重新转回cocos2d了呢。我的新的工作大概就是写一个cocos2d-x的2.5D游戏。如果按照我自己的想法,那肯定是U3D来做,不过我在技术上从来
原创
4736阅读
3评论
2点赞
发布博客于 7 年前

在Unity中使用Direct2D

很赞,原来Unity还可以这么玩,涨知识了。在Unity中可能需要在纹理上面绘制文字、图像等。比如游戏中的显示器,手机等等等等等。太多了。Unity的Textute2D类提供了设置像素的操作,但是这效率实在不敢恭维。汉字数量巨大,全部贴在一张图上既耗空间,不方便改变字体样式。使用FreeType2等CPU计算的文字库一帧又画不了多少,毕竟还要
转载
1864阅读
1评论
1点赞
发布博客于 7 年前

下定决心离职了,创业的终结,梦想的终焉

不知道该写些什么,奋斗了一年半,技术上成长了很多,为人处事也明白了很多,但是最终没有获得梦想中的成功。这是一个令人遗憾的必然。有些东西不是一定要到最终才能看到结果。就像游戏不是一定要到上线才知道它会死一样。不过悲剧的是,不是人人都肯认识自己的失败,不是人人都肯承认“我不行”。更多的时候我们都会给自己鼓劲----“我可以” “这个很棒” “大家都看好”。        一年半的时间,学到最多的不
原创
2448阅读
10评论
2点赞
发布博客于 7 年前

Asset Bundle工作流程及人物換裝實例 - 劉剛

Asset Bundle工作流程及人物換裝實例 - 劉剛Unity內部的資源有兩種(斯斯有兩種?):Resources:有10年歷史,儘量用Asset BundleAsset Bundle:暱稱AB,現今Unity處理資源的中心AB選項的差異透過Web Player下載Asset Bundle的Cache需要收費,在iOS,Android的Cache不需收費。--->手持遊戲卯
转载
3068阅读
0评论
0点赞
发布博客于 7 年前

Unity加载火炬之光的场景

因为一些
原创
3669阅读
0评论
0点赞
发布博客于 7 年前

[Unity3D学习]3D数学基础之向量

向量是2D、3D数学研究的标准工具,在3D游戏中向量是基础。一、向量1、向量的数学定义 向量就是一个数字列表,对于程序员来说一个向量就是一个数组。向量的维度就是向量包含的“数”的数目,向量可以有任意正数维,标量可以被认为是一维向量。书写向量时,用方括号将一列数括起来,如[1,2,3] 水平书写的向量叫行向量 垂直书写的向量叫做列向量2、向量的几何意义几何
转载
2316阅读
0评论
0点赞
发布博客于 7 年前

写给只用百度却觉得感觉良好的人

哈哈,深感其然。百度最大的
转载
1218阅读
0评论
1点赞
发布博客于 7 年前

百度员工离职总结:如何做个好员工

2014年7月4日,我从百度离职了。  这是第一次,我不是因为和老板闹翻而离职;  这是第一次,我带着晋升的喜悦而离职;  这是第一次,我带着满满的收获而离职。  我曾经认为,我永远不会成为一个好员工,因为我太独、太挑剔、不喜欢听话的好孩子、而且讨厌一切想要改变我的人。但是三年过去,我改变了不少,我必须承认,所谓“进步”的过程,就是被认可的过程,也是被“驯化”的过程
转载
1460阅读
0评论
1点赞
发布博客于 7 年前

一些极度损害用户体验的流氓软件和硬件

一、iPhone5。下一部手机坚决不买iPhone,坚决抵制iPhone6。下面是几个让我非常不爽的地方:        1、必须要越狱。倒不是说越狱可以免费装游戏。免费游戏都玩不过来,哪有时间玩收费游戏? 关键问题是,不越狱设备限制很多。比如我被广告推销电话骚扰了几个月了,但是iOS7才姗姗来迟添加了一个阻止来电的功能,但是这个功能实在是弱爆了,根本阻止不了几百个各式各样的推销电话。 而不越
原创
2415阅读
1评论
1点赞
发布博客于 7 年前

使用Unity3D是创业团队失败的原因吗?

第一个项目虽然失败了,但是最起码成功上线,并且获得了一定的收入(虽然杯水车薪),也因为第一个项目拉来了投资。但是第二个项目就彻彻底底的胎死腹中了。        没有检讨、没有总结,大家自然而然而又兴高采烈的开启了第三个项目。        我感到有些悲哀。如果我们都不知道自己的弱点在哪里,不明白自己的优势在哪里,如何能够扬长避短?一个创业团队难道靠硬推能推出一款游戏吗?       
原创
4237阅读
8评论
1点赞
发布博客于 7 年前

创业一年半的失败总结,什么样的团队能够创业成功

继一年前的创业半年的总结之后,创业一年半的“失败”总结也新鲜出炉了。还是一样的配方、还是一样的味道。我除了失望之外,另外多了一些幸灾乐祸的情绪。不是我没心没肺,也不是我没脸没皮。当失望了一次又一次,当被无视了一次又一次,生出一些负面情绪合情合理。更何况我最讨厌的就是“热脸贴冷屁股”,我兴高采烈的提出我的想法和看法,直接被无视掉,或者点点头然后不了了之。我想要做一个成功的游戏,我努力把事情做到最好,
原创
2966阅读
11评论
1点赞
发布博客于 7 年前

Unity Mecanim在大型mmo中的应用

Unity Mecanim在大型mmo中的应用
原创
5832阅读
0评论
3点赞
发布博客于 7 年前

挖一个大坑,UnityMugen

最近一两个礼拜比较清闲,挖了个坑,如果后面忙的话,这个坑估计不会有时间填。但是即便如此分享一下思路和经验也不是一件坏事。此坑名为UnityMugen前言第二个项目是那Unity做的,用过这个游戏引擎后,我有一种明悟,决心彻底玩转这个引擎。后面的想法和项目都围着这个引擎转。这倒不是说Unity多么完美,而是它足够用,并且很好用,虽然有缺点,但是可以克服。之前常见的观点
原创
1965阅读
0评论
0点赞
发布博客于 7 年前

使用Blender批量导出/转换模型

2.4版本的Blender API和2.5以上版本的API有很大的不同,这里只是提供了思路和2.4版本的导出方案。先提供一个脚本,这个是由Blender调用的,用于转换Ogre的Mesh文件的脚本import Blenderimport bpyimport sysimport os,globsys.path.append(r"D:\Program Files\blender-2.4
原创
7047阅读
0评论
2点赞
发布博客于 7 年前

秦绪文:月赚四万水果店微信倾情打造

每天,无数碎片化的信息总是绕不开马云丶阿里丶雷军丶小米……高大上的榜样要学习,但身边成功小案例更让人钦佩!这是一个活生生的现实中的例子,其实,营销经营的就是人性和平均法。  一周前的一个晚上,我在家里看我的微信附近的人,突然发现了我们楼下那个水果店的微信号,名字就是XX小区水果店,签名里面注明了可送货丶联系方式等。怀着好奇的心态我就加了他们的账号(个人微信,非公众平台),这时候他主动打招呼
转载
1763阅读
0评论
0点赞
发布博客于 7 年前

谷歌被墙后,可以搜索的ip地址

http://209.116.186.231比hk域名的还要快。
原创
2338阅读
1评论
0点赞
发布博客于 7 年前

Unity GUI的选择与评价

由于Unity自带的GUI无论从开发效率还是运行效率上都非常不给力,所以衍生出很多的GUI插件,该选择什么插件,就是非常值得考虑的了。        既然是评价,就会有很多的主观意识,这不一定成为选择的依据。再比如,我已经习惯用NGUI插件了,那么无论你把NGUI说的再难用也无法得到我的认同。所以这篇文章更多的是给新手或者没接触过Unity的人作为参考的。1、Unity自带的GUI,或者对
原创
4545阅读
2评论
1点赞
发布博客于 7 年前

火炬之光模型导出(Unity加载火炬之光的模型)

先说明几点,导出方案可行,测试通过。        python和blender的版本一定要用下文中所说的。新的Python或者是新的Blender版本都无法完美导入。       导入导出脚本可以选择 (http://code.google.com/p/torchlight-to-blender/)这里下载,也可以使用下文中的那个,差别不大。注意,链接中的资源导入脚本其实有两套,一套
原创
4568阅读
0评论
0点赞
发布博客于 7 年前

漫话Unity3D(四)

Unity游戏开发中的实际问题和解决方案
原创
2410阅读
2评论
0点赞
发布博客于 7 年前

漫话Unity3D(三)

Unity的预制和AssetsBundle讲解
原创
3020阅读
0评论
0点赞
发布博客于 7 年前

漫话Unity(二)

Unity基础功能介绍、核心元素、基础脚本开发
原创
1733阅读
0评论
0点赞
发布博客于 7 年前

漫话Unity3D(一)

经常看到有人问我该用Cocos2d-x还是Unity?或者我该学习Cocosd-x还是Unity? 这些问题并没有一个统一的答案,而我有我自己的看法。
原创
1696阅读
0评论
0点赞
发布博客于 7 年前

安卓下cocos2dx实现cpp部分在线更新

之前没有考虑过这方面的目前cocos2dx + lua的方式可以动态更新所有的脚本文件,但是却无法动态更新cpp部分的代码(这部分东西一般我们称之为底包),事实上采用同样的方案在android下也是可以实现动态更新的,只需要将java代码里加载libgame.so的代码稍微做些修改即可    static {        System.loadLibrary("g
转载
1546阅读
0评论
0点赞
发布博客于 7 年前

游戏升级之路

文章写的很有趣,也很赞同,所以
转载
1349阅读
0评论
0点赞
发布博客于 7 年前

开源Bug管理系统Redmine安装和使用心得

终于忍受不了公司使用论坛+Excel来进行bug反馈和管理工作了,于是花了一个上午时间研究了下bug管理系统。这样一个bug管理系统可以轻松的查看bug新增了哪些,解决了哪些,当前是谁,要在什么时间解决。无论是qa还是程序都可以轻易的在这个系统上面查看当前要解决和复测的bug。       最终目标锁定为两个开源的项目管理系统,禅道和Redmine,两个都很优秀,而我的需求又非常简单-----
原创
5823阅读
2评论
0点赞
发布博客于 7 年前