Cocos2d-x or Lua 开发中的一些小技巧

1.比如我们想把已layout里面添加的东西居中显示。我们只需要设置setContentSize()就行了。如下图。我就把所有的图标都放置在一个layout里面。然后设置宽度这样就剧中显示,前提是要设置锚点为(0.5,0.5),我这是横向的就只设置x = 0.5y就无所谓了。如果是要竖向的那理论来说也是可以设置setContentSize来解决的。


2.Lua中如果有一个这样的方法 local function func(...) end 但我们像知道这个参数的长度的时候有什么好的方法啦。

大家可能第一时间想到了table。如 local tab = {...}然后在打印长度就好了。但是有一个不必要这么麻烦的我们可以直接使用select("#",...)就能获取他的长度了。

下面我演示一下select的功能好了。select("#",...)就是获取这个...的长度。如果是select(1,ta)就像 = ta[1]。

如果传进去的是一个hashmap获取的长度是1而不是hashmap的数量


今天就先记录一个把。以后有在慢慢加上;

如果大家有更好的请留言。如果有什么问题请指教。

3.Cocos2d 中关于获取touch的一开始最初的位置。我看很多人博客或者论坛都是先添加一个begin时间。然后在那记录初始的坐标。其实如果只是为了获取一个坐标而去写一个begin函数完全没有必要。因为touch这个类里面早已经记录了begin的坐标我们可以通过touch->getStartLocation()。当然里面还有一些大家都可以去看源码获取


4.关于lua中获取小数点后面几位数。

fFloor = math.floor

if type(nNum) ~="number" then

    return nNum

end

n =n or 0

if n <0 then

    n =0

elseif n >0 then

    n =fFloor(n)

end

local nDecimal =10 ^n

local nTemp    =fFloor(nNum *nDecimal)

local nRet    =nTemp /nDecimal

return nRet

来源于其他论坛。做一个记录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容