Вот ссылка, где он учит, как создать градиентный слой: http://www.pawapps.com/2011/09/01/quick-code-cclayercolor-and-cclayergradient/
Как вы можете видеть, градиент не гладкий. Вы можете увидеть полосы цветов. Даже автор упоминает это:
«Таким образом, вышеприведенное дает хорошее, но не очень плавное затухание от одного цвета (в данном случае черного) до другого цвета (в данном случае белого) вдоль определенного вектора».
Вот как это плохо выглядит:
Как добиться плавного градиента? Я использую cocos2d-x 2.2.5.
Это нормально в симуляторе, он рендерит только с 16-битной глубиной цвета. Он должен хорошо выглядеть на устройстве, хотя по умолчанию используется 16-битный кадровый буфер. Я думаю, что это связано с размером и качеством дисплея, особенно из-за более высокого ppi (пикселей на дюйм).
Если это выглядит нежелательно на устройстве, вы можете увеличить глубину цвета кадрового буфера до 32-бит за счет производительности рендеринга (обычно это плохой компромисс на мобильных устройствах).