<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dikao8849</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dikao8849]]></copyright><item><title><![CDATA[[lua] lua中匹配字符串小数]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338292</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338292</guid><author>dikao8849</author><pubDate>Sat, 21 Jul 2018 09:54:00 +0800</pubDate><description><![CDATA[如何从字符串中正确匹配出小数（带符号）字符串？
使用 string.gmatch
说明见官方文档，摘录如下：
string.gmatch (s, pattern)
Returns an iterator function that, each time it is called, returns the next captures frompatternover string...]]></description><category></category></item><item><title><![CDATA[Unity游戏开发中组件封装的重要性]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338293</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338293</guid><author>dikao8849</author><pubDate>Thu, 07 Jun 2018 11:49:00 +0800</pubDate><description><![CDATA[　　UGUI这一块，项目在最开始时并没有对其做封装，导致到中后期的时候策划提了一些需求，而原生组件并不具备这样的功能接口！从而浪费了比较多的时间去实现这些完全通用的功能！这完全是可以避免的！我已经看过好多次别人重复实现某一组件的功能就是不想着去做好这个封装，从而达到DRY原则！    　　举例来说：    　　比如要求一个按钮不能频繁点击，点击一次后需要等待0.5秒才能点击下一次，这时完...]]></description><category></category></item><item><title><![CDATA[[lua] 你所不知道的lua nil值在可变参数函数中怎么处理！]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338291</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338291</guid><author>dikao8849</author><pubDate>Tue, 14 Mar 2017 20:00:00 +0800</pubDate><description><![CDATA[在lua中，
　　问题1：如果你在可变参数...中传入若干个参数，其中有的参数要带nil，这时怎么解决呢？（比如local function _test(...) end  _test(1, nil, 3)）
　　问题2：更甚于在一个带可变参数的函数里返回值是一个带可变参数的尾调用，这时还能正确得到要的参数？（比如 local function _test2(...) retur...]]></description><category></category></item><item><title><![CDATA[[lua] mac上如何编译snapshot（检测Lua中的内存泄露）]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338289</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338289</guid><author>dikao8849</author><pubDate>Sat, 11 Mar 2017 00:37:00 +0800</pubDate><description><![CDATA[　　最近我们的unity手游频繁闪退，只要进入战斗场景，之后一段时间就会闪退，如果是在unity编辑器中则会报出not enough memory的错误！猜测应该是有内存泄漏；
　　由于我们使用了tolua，大部分业务逻辑都是在lua中编写的，这时要查出具体是哪里导致内存泄漏的很麻烦，我自己负责的模块有信心不会造成此类问题，所以单靠查看别人不规范的代码来排查感觉鸭梨山大，所以这时就想到...]]></description><category></category></item><item><title><![CDATA[[OpenGL] mac上运行NateRobin的OpenGL教程找不到 data file 解决方案]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338287</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338287</guid><author>dikao8849</author><pubDate>Fri, 10 Mar 2017 01:11:00 +0800</pubDate><description><![CDATA[　　之前买的OpenGL编程指南第七版一直没看，最近开始看了，然后按照教程推荐的去指定网址下载NateRobin的OpenGL教程，但发现网址已经提示Error:404了， 然后谷歌搜索到可用的下载网址为：http://download.youkuaiyun.com/detail/sgnyyy/2792501；
　　下载了之后解压，在mac os上用xcode打开，然后编译运行，但是提示说：glm...]]></description><category></category></item><item><title><![CDATA[[lua] 游戏客户端逻辑使用lua协程]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338290</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338290</guid><author>dikao8849</author><pubDate>Sun, 26 Feb 2017 00:20:00 +0800</pubDate><description><![CDATA[　　我们的游戏有这样一种情景：客户端中角色需要用到一些公会的数据，但服务器不会在玩家（创角后）一进入到游戏里就推送给玩家，而是需要客户端自己在需要的时候向服务器请求公会的数据，之前的实现就是在请求消息的时候加一个回调函数，消息一回来就执行回调函数继续后续的业务！但后面发现存在这样的不足：
1.有时会用到好多个参数，这就需要每次都把一些无关的参数传给消息请求者，然后回调过来再把这些参数原...]]></description><category></category></item><item><title><![CDATA[[读书系列] 深度探索C++对象模型 初读]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338288</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338288</guid><author>dikao8849</author><pubDate>Fri, 24 Feb 2017 23:50:00 +0800</pubDate><description><![CDATA[　　2012年底～2014年初这段时间主要用C++做手游开发，时隔3年，重新拿起《深度探索C++对象模型》这本书，感觉生疏了很多，如果按前阵子的生疏度来说，现在不借助Visual Studio之类的工具的话，写C++代码感觉要比较费劲，最近重读了这本书后，感觉要写点东西下来（因为懒得用笔作笔记，太慢了-_-!）加深下印象。
　　以前还是新手的时候，总是认为：
1.class如果没有定...]]></description><category></category></item><item><title><![CDATA[自动生成查找组件的lua代码]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338284</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338284</guid><author>dikao8849</author><pubDate>Fri, 20 May 2016 21:47:00 +0800</pubDate><description><![CDATA[　　本篇主要解决的问题是使用lua脚本编写unity业务逻辑时，自动生成一些查找组件及绑定控件事件的lua代码！
　　现在很多unity项目都是用ulua作为热更新解决方案，因此需要用lua来写相关的逻辑，经常会用到的就是在lua中查找某个对象，尤其是写一些UI逻辑！
　　比如在Login界面中有登陆按钮、记住密码勾选框，在lua中获取这两个按钮可能的lua代码写法就是：
a1 s...]]></description><category></category></item><item><title><![CDATA[NGUI 灰化按钮或图标]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338274</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338274</guid><author>dikao8849</author><pubDate>Sat, 20 Jun 2015 11:04:00 +0800</pubDate><description><![CDATA[　　在游戏中某些地方可能需要对按钮进行灰化显示，从而表示不能点击！在网上找了一下有些方法是直接用UITexture+灰化shader去做这件事！另外有些方案写的不太清楚，看不懂！不过也基本都是要使用灰化shader，不可能说每有一个需要灰化地方的图片就让美术出多一张对应的灰化资源图，这样太浪费空间了。
　　我的解决方法是这样的：copy已有的atlas材质及预设体！然后将材质的shad...]]></description><category></category></item><item><title><![CDATA[NGUI 按钮点击音效统一管理开启与关闭]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338285</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338285</guid><author>dikao8849</author><pubDate>Tue, 17 Mar 2015 00:19:00 +0800</pubDate><description><![CDATA[之前就只是简单的在每个按钮（或者需要绑定单击事件的UISprite）对象上添加PlaySound组件，但这样就无法统一去设置按钮单击音效的开启与关闭！
由于我都是使用UIEventListener.Get(Button.gameObject).onClick = OnClickFunc;来为按钮绑定单击事件的，因此为了方便控制按钮音效的统一开启与关闭，我写了一个类继承UIEventLi...]]></description><category></category></item><item><title><![CDATA[NGUI界面动画]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338282</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338282</guid><author>dikao8849</author><pubDate>Sun, 08 Feb 2015 11:02:00 +0800</pubDate><description><![CDATA[玩游戏的时候，点击一个按钮，可能会看到UI从某个位置飞进来，关闭之后又往该位置飞出！又或者一些更加复杂的运动轨迹。
我们的项目现在就是使用Animation/Animator来制作界面动画。
流程：由程序将界面导出package给美术，具体动画的编辑工作交给美术，然后美术编辑完之后给出对应界面的动画文件。（ps：最好是要确定好整个项目涉及的界面有哪些动画效果，具体界面的宽高都不变了之...]]></description><category></category></item><item><title><![CDATA[NGUI BUG /各种坑]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338283</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338283</guid><author>dikao8849</author><pubDate>Tue, 09 Dec 2014 17:46:00 +0800</pubDate><description><![CDATA[以下为：NGUI3.6具体使用过程中碰到的 各种BUG /各种坑 备忘
1.UIToggle
使用UIToggle组件实现多个tab标签互斥，如果是在代码中动态的设置显示某个tab标签对应的内容，则需要先显示该tab所在的界面，接着才设置各个tab的显示状态(如果UIToggle.value=true)，否则会出现BUG[所有tab标签都没有被选中]
2.界面动画
由于现在界面出...]]></description><category></category></item><item><title><![CDATA[NGUI 使用EventDelegate.Add与UIInput.onSubmit、UIInput.onChange限定编辑框中的内容]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338280</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338280</guid><author>dikao8849</author><pubDate>Wed, 03 Dec 2014 14:11:00 +0800</pubDate><description><![CDATA[Unity中，使用NGUI，通常为某个控件（如按钮）绑定事件（单击、双击、拖拽、滚轮、选择等）都是用UIEventListener，比如：

1 public void Bind()
2 {
3 　　UIEventListener.Get(clickButton.gameObject).onClick = OnClick;
4 }
5 
6 void OnClickButt...]]></description><category></category></item><item><title><![CDATA[NGUI 屏幕自适应大屏与小屏（初始设定宽高为1280x720，能适应比其小或者更大的屏）...]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338281</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338281</guid><author>dikao8849</author><pubDate>Tue, 28 Oct 2014 12:06:00 +0800</pubDate><description><![CDATA[具体细节可以参考另外一篇随笔！
以下提供的算法完成的事：
1.自适应1280x720分辨率以下的屏幕
2.自适应1280x720分辨率以上的屏幕
在我设定的要求内包括的分辨率大部分都测过了，背景图、全屏透明Sprite（主要用于九宫格区域的控件摆放）自适应都没问题（不会变形），其他的控件当然是由UIRoot组件搞定的！下面的算法主要就是说明背景、全屏透明Sprite的自适应！
...]]></description><category></category></item><item><title><![CDATA[NGUI 屏幕自适应(初始设定宽高800x480只支持比其大的屏幕）]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338278</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338278</guid><author>dikao8849</author><pubDate>Fri, 12 Sep 2014 23:17:00 +0800</pubDate><description><![CDATA[自适应讲解部分可以参考以下网址：http://www.xuanyusong.com/archives/2536，下面代码中提到的AdaptiveManualHeight()函数就是参考该文章的。

下面主要说的就是背景图、全屏透明Sprite和控件位置自适应的东西。
由于我们所要开发的游戏只支持800x480及以上的分辨率的手机，因此分辨率小于800x480的自适应这里不考虑（其...]]></description><category></category></item><item><title><![CDATA[NGUI 多场景情况下 管理多个界面]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338279</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338279</guid><author>dikao8849</author><pubDate>Sun, 07 Sep 2014 02:17:00 +0800</pubDate><description><![CDATA[简单的说就是在一个AllUI场景中，所有场景所需要的界面都挂在一个Empty GameObject下，然后这个Empty GameObject在代码中DontDestroyOnLoad，但是回到这个AllUI场景时根据实际情况决定要不要Destroy掉！具体如下：
因为我们的游戏场景分布是这样的情况：注册/登陆界面 所在的场景A，游戏场景B、世界场景C、战斗场景D。
为了便于界面的管...]]></description><category></category></item><item><title><![CDATA[NGUI 使用UITable(或UIGrid)注意事项]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338276</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338276</guid><author>dikao8849</author><pubDate>Mon, 01 Sep 2014 21:12:00 +0800</pubDate><description><![CDATA[在ScrollView显示区域中，若Item数量不足以超出显示区域，有可能不是贴着ScrollView最边缘位置显示！这个时候可以按如下方法调整：
因为实际情况中，往ScrollView中添加Item往往是动态添加的，而UITable的Transform(默认的position属性是x=0,y=0,z=0)要根据实际情况进行调整！
比如，在垂直拖动ScrollView的情况下，可以先...]]></description><category></category></item><item><title><![CDATA[NGUI 便捷的显示与隐藏界面]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338277</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338277</guid><author>dikao8849</author><pubDate>Sun, 31 Aug 2014 22:28:00 +0800</pubDate><description><![CDATA[所有的UI都继承自class UIBase，可以把UI做成预设体，同个场景下，读取预设体时，将子UI对象都保存在类似Dictionary&lt;UIType, UIBase&gt;这样的结构中，这样的一个好处就是可以很方便的用一个for循环去控制同个场景下的UI显示与隐藏，比如(C#代码)：

void ShowUI(UIType type)
{
	foreach (KeyVal...]]></description><category></category></item><item><title><![CDATA[NGUI Draw Calls优化(思路)]]></title><link>https://blog.youkuaiyun.com/dikao8849/article/details/102338275</link><guid>https://blog.youkuaiyun.com/dikao8849/article/details/102338275</guid><author>dikao8849</author><pubDate>Sun, 31 Aug 2014 22:07:00 +0800</pubDate><description><![CDATA[用NGUI做界面的时候发现不注意GameObject（或者说Widget）的depth的话，单独运行界面时，Draw Calls挺高的；
网上搜了一下，大把的博客说的都是类似以下的原则：
（PS：以下1、2摘自http://blog.youkuaiyun.com/monzart7an/article/details/25212561）
1、同一个UIPanel下的texture和font尽量放...]]></description><category></category></item></channel></rss>