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

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

Cocos2d-x or Lua 开发中的一些小技巧_第1张图片


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

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

你可能感兴趣的:(Cocos2d-x or Lua 开发中的一些小技巧)