cocos2d-lua

cocos2d-x 4.0 metal 自定义shader时渲染错误

错误信息

validateFunctionArguments:3577: failed assertion `Fragment Function(xlatMtlMain2): missing sampler binding at index 1 for _mtlsmp_u_texture1[0].'

原因是shader使用了第二张纹理,但是精灵没有设置这张纹理,

片段着色器代码如下:

uniform sampler2D u_texture1;

解决办法,无论是否用到了u_texture1,都需要设置一次。

游戏引擎渲染图片或字体模糊

  1. 检查缩放是否抗锯齿
  2. 图片分辨率中存在奇数,锚点为(0.5,0.5),导致坐标为浮点
  3. 使用(0,0)作为锚点可避免坐标为浮点,但布局不方便

cocos2d-x 4.0 captureNode用法备份

-- 截取场景
cc.utils:captureNode(scene, function(image)
    -- 图片转纹理
    local texture = cc.Texture2D:new()
    texture:initWithImage(image)
    image:release()
    -- 纹理创建精灵
    local sp = cc.Sprite:createWithTexture(texture)
    sp:addTo(scene):center()
end)

Cocos2d-x fgui坑点

Component 挂事件监听不遵循传播规则,总可以收到监听,透明区域的点击判断需要一个单独的透明图形来挂监听器。
GList不能挂事件监听,不然GList滚动行为不正常。

Cocos2d-x Tiled 纹理抖动和黑线

  1. 纹理 texture->setAliasTexParameters() 是可以防止黑线,但是移动地图的时候纹理抖动,
    并且正常地图依然都移动出现黑线的记录,只是变小了。
  2. 精灵渲染开fixArtifacts防止黑线,配合纹理的setAntiAliasTexParameters,画面也不会抖动。
    此方法适用于不缩小的地图。
  3. 限制摄像机移动?https://blog.csdn.net/gongyiling3468/article/details/47803619/

Cocos2d-Lua-Community 4.0.1 Beta

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

总揽

在4.0.0发布以来,进过了大量的改进。FairyGUI的支持上踩了大量的坑:绑定补全、hitTest、富文本的支持、window的事件封装等等。Spine的3.8运行时也有大量的改进,进行了同步。新加了Linux的支持个测试,修正了一些问题,但还遗留了EditBox这个已知坑点。加入了AsyncTCP,文档后补吧。TiledMap继续进行功能支持改进。

阅读全文»