摘要: 聚人才,戏天下,以为本李现民2012年12月21日于世界末日前夕人很重要,或者说,人数很重要。相较于十年前,现在的互联网公司往往已经不再把第一桶金看得太重要,相较于快速赢利,他们更看重于如何聚焦起数量宠大的用户群。因为,只要有了足够数量的用户,无论做什么都会很容易。或者说,相同技术的产品,你会很成功,而我却很失败,仅仅会是因为你的用户群很大。我们经常抱怨腾讯是山寨之王,每当腾讯出了一个新游戏的时候,我们总是会说:丫的不厚道,又山寨了XXX游戏,技术上其实还差得远云云。但私底下我们其实很嫉妒腾讯,甚至总会在幻想为什么自己不是腾讯。腾讯成功的原因很简单,因为QQ----这个技术上普通,但却在中国谁 阅读全文
posted @ 2012-12-22 16:07 李现民 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 分享一些可能你不知道的shell用法和脚本,简单&强大!在阅读以下部分前,强烈建议读者打开一个shell实验,这些都不是shell教科书里的大路货哦:)!$!$是一个特殊的环境变量,它代表了上一个命令的最后一个字符串。如:你可能会这样:$mkdir mydir$mv mydir yourdir$cd yourdir可以改成:$mkdir mydir$mv !$ yourdir$cd !$sudo !!以root的身份执行上一条命令 。场景举例:比如Ubuntu里用apt-get安装软件包的时候是需要root身份的,我们经常会忘记在apt-get前加sudo。每次不得不加上sudo再重新 阅读全文
posted @ 2012-11-24 14:09 李现民 阅读(4032) 评论(0) 推荐(1) 编辑
摘要: Bash, which is the default shell in Linux contains a whole lot of key bindings which makes it really easy to use . The most commonly used shortcuts are listed below :CTRL Key BoundCtrl + a- Jump to the start of the lineCtrl + b- Move back a charCtrl + c- Terminate the commandCtrl + d- Delete from un 阅读全文
posted @ 2012-11-24 14:07 李现民 阅读(345) 评论(0) 推荐(0) 编辑
摘要: /**版本:0.1最后修改:2012-08-10撰写:李现民Unity3D中主要用到的shader(着色器)有三种,除了常规的vertexshader与fragmentshader外,还有一类称为surfaceshader。Unity3D自带文档中关于surfaceshader的介绍非常少,除了有一些示例外,surfaceshader的结构定义,调用时机,参数的含义都被略了,对我等初学者而言,这无疑加大了学习难度。前两天在网上查相关资料时,偶然发现了一篇文章,从里面提到的代码框架看,surfaceshader的主方法原来是在fragmentshader中调用的,使用一个inout类型Surfa 阅读全文
posted @ 2012-08-10 10:19 李现民 阅读(8010) 评论(1) 推荐(5) 编辑
摘要: 扩展方法之二分查找版本:0.1最后修改:2012-08-08撰写:李现民 近期项目策划案调整,要求程序按音乐时间及位置等条件迅速定位当前游戏角色正在使用的动作,因为查询会非常频繁,因此决定使用二分查找。 C#类库中有二分查找,分散于Array、List、ArrayList等类中,但接口不太另人满意。对简单的整数数组还好,可以直接使用,但对于复杂的查询,默认的类库使用起来就会比较复杂,比如:classAction{publicstringname;publicinttime;publicintposition;}classTimeComparer:IComparer<Action>{ 阅读全文
posted @ 2012-08-09 13:04 李现民 阅读(1655) 评论(6) 推荐(0) 编辑
摘要: 版本:0.1 最后修改:2012-06-12 撰写:李现民 涉及内容:unity3d, c#, string 前两日,有同事设计游戏连击特效的功能。因为这个功能在游戏环节中会调用的非常频繁,因此顺手点了开来,发现代码设计尚有优化的余地,于是便有了本次尝试。事后回想开来,发现涉及的东西还颇多,便想着记下来以飨后来者。 这是一份unity3d脚本程序,原始脚本文件MBStarCombo.cs代码如下: using UnityEngine; using System; class MBStarCombo : MonoBehaviour { void Start(... 阅读全文
posted @ 2012-07-06 12:21 李现民 阅读(1253) 评论(0) 推荐(0) 编辑
摘要: 最近在做unity3d编辑器,使用c#编码。编辑器中有一些图形按方向画出来,但如果源文件中包含非assii字符的话会编译不过,没办法,只好求助unicode字符转义。在网上找到各类箭头方向的unicode编码,备案如下:←Nameleft arrowUnicode2190UTF-8E28690↑Nameup arrowUnicode2191UTF-8E28691→Nameright arrowUnicode2192UTF-8E28692↓Namedown arrowUnicode2193UTF-8E28693↔Nameleft right arrowUnicode2194UTF-8E286.. 阅读全文
posted @ 2012-07-06 11:45 李现民 阅读(10809) 评论(0) 推荐(0) 编辑
摘要: 翻译:李现民 最后修改:2012-07-03 原文:Depth sorting alpha blended objects 先说个题外话,本来我想回答在 Creators Club论坛上的一个常见问题,但(意外的是)我竟然没能从网上找到一个令人满意的答案。 问题本身很简单,但答案却有些复杂: “为什么我的透明物体的绘制顺序是错误的,或者为什么它们的一部分不见了?” 当绘制一个3D场景的时候,将图形按深度排序非常重要,只有这样靠近摄像机的物体才能被绘制在(离摄像机)更远的物体的上面。我们不会希望远方的山脉被绘制在近在眼前的建筑物的上面! 当前得到广泛应用的深度排序... 阅读全文
posted @ 2012-07-03 14:41 李现民 阅读(2935) 评论(0) 推荐(1) 编辑
摘要: SendMessage的receiver可以是协程。 当receiver拥有参数时,可以直接使用参数的具体类型,而不需要将参数类型定为object,后者会导致强制类型转换。 由于可以存在多个潜在的receiver,因此如果需要在某个receiver中使用SendMessage发送新的消息的话,请至少等待一帧,以保证当前的消息已经被所有的receiver都处理到。 阅读全文
posted @ 2012-06-18 15:08 李现民 阅读(537) 评论(0) 推荐(0) 编辑
摘要: 不要使用OnGUI(),它很慢,非常慢。 当需要频繁修改物体的localScale时,移除其collider组件,否则会非常影响帧率。 使用OnBecameVisible()/OnBecameInvisible()配对使用修改enabled属性,使得只有在对象可见时脚本才会执行。 使用InvokeRepeating()代替Update()处理不需要实时的数据更新。 使用对象池GameObjectPool缓存频繁使用的对象。 阅读全文
posted @ 2012-06-15 18:14 李现民 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: Unity3d中,Object.Destroy()方法会将传入的参数对象销毁,这将导致在此之后所有对该对象的引用都会变成null。然而该方法在调用时并不会立即执行,在每一帧中,所有对Destroy()方法的调用都会延迟至当前帧的所有Update()调用结束后(真正rendering之前)统一执行。这相应产生的一个结果就是:在调用Destroy()后的同一个方法内,该对象仍然是可用的,对该对象的判空测试都返回true通过。 另外,如果调用Destroy()时传入了延迟时间的参数,则Destroy()将在延迟给定的固定时间后才执行。 阅读全文
posted @ 2012-06-13 19:32 李现民 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 利用MonoBehaviour的OnBecameInvisible()方法。 该方法需要被挂接对象拥有renderer组件。如果没有,可以考虑给其加一个挂接一个cube子结节,借用该子结点的renderer触发OnBecameInvisible()方法。为了减少性能损失,还应该做如下处理: 将该子结点除Mesh Render之外的其它所有组件删除; 将renderer中的所有check box都重置; 将localScale的所有数值设置为0,以保证其不可见性; 还可以适当调整localPosition的值,以保证父结点在适当的位置完全不可见后再销毁; 阅读全文
posted @ 2012-06-13 11:57 李现民 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 避免在代码中直接使用delete关键字,这需要: 1、在定义单个数据对象时尽量在stack上分配内存;如果必须使用free store内存的话,则使用std::auto_ptr<...>定义2、使用传引用方式传参,避免使用传指针的方式,这样既可以免去指针判NULL的检查,又可以在不失去对象所有权的前提下传递std::auto_ptr<...> 对象3、在定义数组时,使用st... 阅读全文
posted @ 2008-09-01 10:19 李现民 阅读(776) 评论(2) 推荐(0) 编辑
摘要: 作者:陈跃峰出自:http://blog.csdn.net/mailbomb 在游戏中,经常需要进行碰撞检测的实现,例如判断前面是否有障碍以及判断子弹是否击中飞机,都是检测两个物体是否发生碰撞,然后根据检测的结果做出不同的处理。 进行碰撞检测的物体可能有些的形状和复杂,这些需要进行组合碰撞检测,就是将复杂的物体处理成一个一个的基本形状的组合,然后分别进行不同的检测。 下面简单介绍一下两种最基本的形... 阅读全文
posted @ 2008-07-27 13:48 李现民 阅读(697) 评论(0) 推荐(0) 编辑
摘要: hpp,顾名思义等于.h加上.cpp,在boost、Xerces等开源库中频繁出现,偶在机缘巧合之下,学得一招半式,遂记录如下,以供参考学习。hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hp... 阅读全文
posted @ 2008-07-09 11:05 李现民 阅读(3509) 评论(0) 推荐(2) 编辑
摘要: 新一篇:平台无关性程序的构造0 前言 标准C++线程即将到来。CUJ预言它将衍生自Boost线程库,现在就由Bill带领我们探索一下Boost线程库。就在几年前,用多线程执行程序还是一件非比寻常的事。然而今天互联网应用服务程序普遍使用多线程来提高与多客户链接时的效率;为了达到最大的吞吐量,事务服务器在单独的线程上运行服务程序;GUI应用程序将那些费时,复杂的处理以线程的形式单独运行,以此来保证用户... 阅读全文
posted @ 2008-07-08 10:14 李现民 阅读(5120) 评论(0) 推荐(0) 编辑
摘要: 显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁?我们的绘图过程大多放在OnDraw或者O... 阅读全文
posted @ 2008-07-03 17:11 李现民 阅读(1107) 评论(0) 推荐(0) 编辑
摘要: 在字符串处理当中,后缀树和后缀数组都是非常有力的工具,其中后缀树大家了解得比较多,关于后缀数组则很少见于国内的资料。其实后缀数组是后缀树的一个非常精巧的替代品,它比后缀树容易编程实现,能够实现后缀树的很多功能而时间复杂度也不太逊色,并且,它比后缀树所占用的空间小很多。可以说,在信息学竞赛中后缀数组比后缀树要更为实用。因此在本文中笔者想介绍一下后缀数组的基本概念、构造方法,以及配合后缀数组的最长公共... 阅读全文
posted @ 2007-10-14 21:44 李现民 阅读(1459) 评论(0) 推荐(0) 编辑
摘要: 一、选择题:15分 共10题1.一个含有n个顶点和e条边的简单无向图,在其邻接矩阵存储结构中共有____个零元素。A.e    B.2e    C.n2-e   D.n2-2e2.____是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。A.继承(Inhertance) B.模板(Template)C.对象的自身引用(Self-Re... 阅读全文
posted @ 2007-10-14 16:52 李现民 阅读(1952) 评论(0) 推荐(0) 编辑
摘要: 1)此题10分 对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。 (不用考虑数值超出计算机整数界限的问题) Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/... 阅读全文
posted @ 2007-10-14 16:31 李现民 阅读(1681) 评论(0) 推荐(0) 编辑