勾选自动拆切,可能有奇数图,导致渲染出来是胡的。
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,都需要设置一次。
Cocos2d-x 4.x 自定义shader不会自动合批
shader在intel核显驱动中,glLinkProgram相当耗时,和独显性能差距巨大。
并且自定义shader的对象是无法自动合批渲染的。需要控制使用范围。
游戏引擎渲染图片或字体模糊
- 检查缩放是否抗锯齿
- 图片分辨率中存在奇数,锚点为(0.5,0.5),导致坐标为浮点
- 使用(0,0)作为锚点可避免坐标为浮点,但布局不方便
图片叠加参数备份
光图参数
cc.blendFunc(cc.backendBlendFactor.SRC_COLOR, cc.backendBlendFactor.DST_ALPHA)
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 纹理抖动和黑线
- 纹理 texture->setAliasTexParameters() 是可以防止黑线,但是移动地图的时候纹理抖动,
并且正常地图依然都移动出现黑线的记录,只是变小了。 - 精灵渲染开fixArtifacts防止黑线,配合纹理的setAntiAliasTexParameters,画面也不会抖动。
此方法适用于不缩小的地图。 - 限制摄像机移动?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继续进行功能支持改进。
cocos2d-x freetype FT_Load_Char位图各种问题
在加载ttc字体时,某些fontsize下,FT_Load_Char出来的位图格式是FT_PIXEL_MODE_MONO,导致渲染不正常,暂时未找解决方案。
_fontRef->glyph->bitmap.pixel_mode