版本2.4.10
写个拼图游戏玩发现个问题
1首先在一个拼图块里,取了一个大图的一部分
let spriteFrame = assest.clone();
let rect = new cc.Rect(this.col * this.puzzleSize, this.row * this.puzzleSize, this.puzzleSize, this.puzzleSize);
spriteFrame.setRect(rect);
this.spIcon.spriteFrame = null;
this.spIcon.spriteFrame = spriteFrame;
这个效果没问题,可以裁剪(这个应该是顶点运算呀)
2 写了一个effect,在片元shader里面设置了图片的凹凸
vec2 uv = v_uv0 * 2.0 - 1.0;
// 定义矩形参数
float width = 1.0; // 矩形宽度
float height = 1.0; // 矩形高度
float waikuang = 0.5;
float radius = 0.25; // 半圆半径
float shijiWidth = width - waikuang;
if(uv.x > waikuang || uv.x < -waikuang || uv.y > waikuang || uv.y < -waikuang){
o.a = 0.0;
}
//上凹
if(uv.y < -shijiWidth * radius){
float subY = shijiWidth + uv.y;
if( subY * subY + uv.x * uv.x < shijiWidth * radius * radius){
o.a = 0.0;
}
}
这个效果也没问题
//-------------
以上两个效果单独使用没问题,但是如果一起使用,运行的时候图片就啥都没有了
这是什么原因呢