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