@minggo hmm, how about changing to

        ccColor4B sc = m_pSprite->getQuad().tl.colors;
        sc.a = _displayedOpacity;
        if (m_pSprite->getTexture()->hasPremultipliedAlpha()) {
            float op = _displayedOpacity / 255.f;
            sc.r *= op;
            sc.g *= op;
            sc.b *= op;
        }