Как я могу изменить заставку (.saver)?
Моя цель - изменить экранную заставку Matrix, которая больше не поддерживается разработчиками. Я просто хочу иметь возможность изменить цвет глифов с зеленого на красный. Из того, что я прочитал, мне может понадобиться редактировать скомпилированный .nib
файл. И предположительно, есть хитрости, чтобы сделать это.
Единственные файлы, которые я вижу в .saver
файл:
- Unix исполняемый файл
- InfoPlist.strings
- Matrix.nib
- Glyphs.png (в градациях серого, поэтому цветовой эффект должен исходить от программирования)
- Файл Matrix.nib в папке с названием Japanese.lproj
Я не вижу никаких других файлов, которые я мог бы редактировать, которые позволили бы мне достичь этого, поэтому я ищу некоторые рекомендации.
РЕДАКТИРОВАТЬ: Автор опубликовал исходный код для своей заставки на своем GitHub. Теперь я просто пытаюсь понять, что именно нужно изменить.
1 ответ
Модификация исходного кода не очень сложна. Цвета вычисляются на лету, поэтому актив нельзя изменить, чтобы изменить цвет.
В строке 226 MatrixStrip.m измените 1 перед левой скобкой на 0. В строке 228 измените 0 на 1. Столбец под буквой V в коде.
.... V
226: colorArray[16*i + 4*c + 0] = (cellState[i] == 0) ? 0.0 : g;
227: // Cells which are very bright are slightly whitened
228: colorArray[16*i + 4*c + 1] = ((g > 0.7) && (cellState[i] != 0)) ? (g - 0.6) : 0.0;
Внесите те же изменения в строки 253 и 255. Вы помещаете числа в столбце 34 столбца во внутренние циклы по порядку. В исходном коде, читая в столбце 34 числа a 1, 0, 2, 3. Это должно быть сделано в обоих внутренних циклах на четырех указанных мной строках. Эти цифры являются показателями цвета RGBA.
Я не уверен, что мое объяснение адекватно, поэтому вместо того, чтобы расширить его до 1000 слов, я включу снимок экрана различий с соответствующими частями, выделенными калейдоскопом. Оригинальный код слева.
Мне пришлось скачать изображение, чтобы увидеть соответствующие детали.