Quick-Cocos2dx-Community

faryGUI 的cameraMask实现不完整

慎用自定义摄像机渲染faryGUI,

类似Button的容器,内部有多个GObject,但是设置cameraMask只会设置到当前渲染的GObject的displayObject,
其它状态的设置不到,异常尴尬。

即使修正了setCameraMask,也会GComponent::hitTest的事件分发判断也是不可修正的,fairyRoot分发事件,但是fairyRoot永远是default摄像机,不能引用引擎currentCamera,导致hitTest不能正确判断点击区域。

Cocos2d-Lua-Community 4.0 橡皮擦代码

display.newSprite("hideback.png"):addTo(self):center()

local render = cc.RenderTexture:create(display.width, display.height):center():addTo(self)
local sp = cc.Sprite:create("HelloWorld.png"):center()

render:begin()
sp:visit()
render:endToLua()

local circle = display.newSolidCircle(20,{color = cc.c4f(0.5, 0.5, 0.5, 0)})
circle:retain()
circle:setBlendFunc(cc.blendFunc(cc.backendBlendFactor.SRC_ALPHA, cc.backendBlendFactor.ZERO))

self:addNodeEventListener(cc.NODE_TOUCH_EVENT,function ( event )
    if event.name == "began" then
        return true
    end

    if event.name == "moved" then
        circle:pos(event.x,event.y)
        render:begin()
        circle:visit()
        render:endToLua()
    end
end)
self:setTouchEnabled(true)

Cocos2d-Lua-Community编译Linux external

编译png

$cmake .. -DPNG_STATIC=ON -DZLIB_INCLUDE_DIR=/home/u0u0/works/Cocos2d-thirdpart/tarballs/zlib-1.2.8/ -DZLIB_LIBRARY=/home/u0u0/works/Cocos2d-thirdpart/tarballs/zlib-1.2.8/

编译websockets

$cmake .. -DOPENSSL_ROOT_DIR=/home/u0u0/works/Cocos2d-thirdpart/tarballs/openssl-1.1.0c -DZLIB_INCLUDE_DIR=/home/u0u0/works/Cocos2d-thirdpart/tarballs/zlib-1.2.8/ -DZLIB_LIBRARY=/home/u0u0/works/Cocos2d-thirdpart/tarballs/zlib-1.2.8/ -DLWS_WITH_LIBUV=OFF -DLWS_WITH_SSL=ON -DLWS_WITH_SHARED=OFF -DLWS_WITHOUT_TEST_SERVER=ON -DLWS_WITHOUT_TEST_SERVER_EXTPOLL=ON -DLWS_WITHOUT_TEST_PING=ON -DLWS_WITHOUT_TEST_ECHO=ON -DLWS_WITHOUT_TEST_CLIENT=ON -DLWS_WITHOUT_TEST_FRAGGLE=ON -DLWS_IPV6=ON

编译curl

$cmake .. -DCURL_STATICLIB=ON -DCURL_DISABLE_LDAP=ON -DENABLE_IPV6=YES -DCURL_ZLIB=ON -DOPENSSL_ROOT_DIR=/home/u0u0/works/Cocos2d-thirdpart/tarballs/openssl-1.1.0c -DZLIB_INCLUDE_DIR=/home/u0u0/works/Cocos2d-thirdpart/tarballs/zlib-1.2.8/ -DZLIB_LIBRARY=/home/u0u0/works/Cocos2d-thirdpart/tarballs/zlib-1.2.8/

编译OpenAL

$sudo apt-get install libasound2-dev
$cmake .. -DLIBTYPE=STATIC -DALSOFT_INSTALL=OFF -DALSOFT_REQUIRE_ALSA=ON

TiledMap旋转与翻转

选中图块,
键盘x键进行x轴翻转,
键盘y键进行y轴翻转,
键盘z键进行旋转(每次90度)

可以看到鼠标上的图块发生了改变,刷到地图上即可.

Quick-Cocos2dx-Community 3.7.7 Beta

新增

  • FastTMXLayer 支持设置透明度和颜色。
  • WebView同步最新实现,新增cleanCachedData,setOpacityWebView,setBackgroundTransparent方法。
  • Android增加对虚拟按键隐藏的支持。
  • audio添加playBGMSync,playEffectSync接口,但依然推荐在loading场景先预加载所有音频。
  • cc.FileUtils新增绑定getFileDataFromZip和unzipFile
  • Luasocket添加socket.dns.isIpv6()接口,以异步方式判断网络类型,同步优化SimpleTCP,解决可能柱塞UI的问题。
  • display中新加FIXED_AUTO分辨率适配模式,自动选择 FIXED_WIDTH 或 FIXED_HEIGHT。

阅读全文»

Quick-Cocos2dx-Community 3.7.6 Beta

测试稳定后将正式发布到 http://www.cocos2d-lua.org

3.7.6 Beta 主要改进:

  • Android arm64 支持。
  • 龙骨支持。

改进

  1. Windows 添加 Luajit 64 执行程序,可以在 Windows 上打包 luajit 的64位 bytecode 了。
  2. Android arm64-v8a 发布支持,适应 Google Play 9月政策。
  3. cc.pGetAngle() 实现优化。
  4. retain the sprite frame, do not removed by SpriteFrameCache::removeUnusedSpriteFrames。
  5. 龙骨集成。
  6. [luaoc] add conversion lua table to ObjC Dictionary
  7. [luaj]s1.Add missing default cases; 2. fix the return value to nil instead of empty string when java return null.

阅读全文»

csb dump

查看节点信息。

local function dumpNode(node, deep)
    print("== deep:", deep)
    print("== parent:", node:getName(), tolua.type(node))
    print("== child ==")
    for _, child in ipairs(node:getChildren()) do
        print(child:getName(), tolua.type(child))
        dumpNode(child, deep + 1)
    end
    print("== child end ==")
end

闪白 shader

分别在r、b、g向量上叠加一个0~1之间的值。

#ifdef GL_ES
precision mediump float;
varying mediump vec2 v_texCoord;
#else
varying vec2 v_texCoord;
#endif

void main()
{
    vec4 c = texture2D(CC_Texture0, v_texCoord);
    if (c.a <= 0.0) {
        discard;
    }
    float param = 0.2;
    gl_FragColor = vec4(c.r + param, c.g + param, c.b + param, c.a);
}

Quick-Cocos2dx-Community 3.7.4 Beta

2019第一个测试版本发布,祝大家新年快乐。

同以往一样,测试稳定后将正式发布到 http://www.cocos2d-lua.org

社区版的发展,离不开大家的关爱与支持,捐献传送门。http://www.cocos2d-lua.org/donate/index.md

3.7.4 Beta 主要改进了win32的editbox体验,扫清开发pc游戏最后一个尴尬点;
升级了OpenAL库,对Android驱动有一定改善。

改进

  1. 新接口,cc.EventTouch:setTouches{cc.p(x,y), cc.p(x,y), …}。可以用来模拟触摸事件。
  2. config.lua 中去掉无用的变量。
  3. luasocket 的 socket open 添加异步线程,让第一次open不至于在某些特定情况下卡死UI。
  4. 更新 OpenAL 到 1.19.1。
  5. Scale9Sprite 添加 setGLProgramState 支持自定义shader。
  6. pb int64 最大值改进(max 2^ 53)。
  7. player的log路径修改为可写路径。
  8. iOS 模版工程改进,添加新的icon尺寸格式。
  9. Android studio模版配置改进,支持3.2的 AS。
  10. 同步-x win32输入法改进,并修正缩放bug。
  11. 改进Label,正确显示阴影。
  12. ClippingRectangleNode嵌套再改进,算法同 ccui.Layout。
  13. VideoPlayer 改进。

阅读全文»