Creator 2.1.3 Shader 请教

Creator 2.1.3 Sprite 采用自定义的mateiral shader 对图片部分区域的进行渲染。如点击任务头像,头像区域变了个颜色,在点击手臂的时候,手臂也变化颜色。

遇到个问题:
点击头像,头像区域颜色变了;再点击手臂的时候,手臂的颜色是变了。但是头像颜色又变回去了,不知道应该怎么处理。

void paintcolor()
{
vec2 position = v_uv0;
vec2 touchedPosition = v_touched_position;
vec4 color = vec4(v_touched_color.r/255.0,v_touched_color.g/255.0,v_touched_color.b/255.0,1.0); ;
vec4 colorTouched = texture2D(masktexture,touchedPosition);
vec4 thisColor = texture2D(masktexture,position);

  ////////////////////  点击位置上色测试

 /* 
  vec2 offset = position - touchedPosition;
  if(abs(offset.x) <= 0.1 && abs(offset.y) <= 0.1)
  {
    gl_FragColor =  vec4(0.0, 0.0, 1.0, 1.0);
    return;
  }
*/

  if(touchedPosition.x == 0.0 && touchedPosition.y == 0.0)
  {
    color = texture2D(texture, v_uv0);
    gl_FragColor = color;
    return;
  }
  else
  {         
      // gl_FragColor = color;
      // return;

      if(vec3equal(thisColor.rgb, colorTouched.rgb))       
      {
        gl_FragColor = color;
        return;
      }
      else
      {            
        color = texture2D(texture, v_uv0);
        gl_FragColor = color;
        return;
      }
  }

  //////////////// test end

}

shader啊,楼主都把主要方法贴出来了