У меня есть массив, полный значений цвета пикселей, упорядоченных последовательно (R, G, B, A, R, G, B, A ... и т. Д.), И я пытаюсь переместить их, изменяя значения для R, G и B, но я хочу оставить А в покое. Каков наилучший способ специально пропустить 4-е (или n-е) значение массива?Javascript: пропускать каждый 4-й элемент в массиве?
То, что я пытаюсь сделать:
- С каждым кадром, увеличивать первое значение R (1-й элемент в массиве) на 1.
- Go от 0 до 255 в значении R.
- Когда R = 255, сбросить его до 0 и увеличить значение G (2-й элемент в массиве) на 1.
- R продолжает цикл, происходит от 0 до 255, и увеличивая г каждого времени до тех пор:
- Когда G = 255, сбросьте его на 0 и увеличьте значение B (3-й элемент) на 1.
- То же самое, G циклов, увеличивающих B на каждый раз каждый раз.
- Когда B = 255, сбросьте его до 0 и пропустите значение A (4-й элемент!) И вместо этого увеличите следующее значение R, 5-й элемент. И затем продолжайте это до бесконечности до конца массива.
Проект, над которым я работаю, находится в P5.js, но я решил, что эта проблема более специфична для Javascript.
Спасибо всем!
ETA: Так как люди спрашивали, что я использую здесь вы идете:
var m = 0;
var array = [0];
function draw() {
var last = array[array.length-1];
loadPixels();
pixels[array[last]] += 1;
updatePixels();
if (pixels[array[last]] == 255) {
loadPixels();
pixels[array[last]] = 0;
updatePixels();
m += 1;
array.push(m);
}
}
Это похоже на работу близко к прекрасному, и я могу наблюдать цикл пикселей через цвет, но затем они быстро белеют (вероятно, потому что оператор if
сбрасывает значение A до нуля после того, как он проходит через него. Хотя мне все же хотелось бы, чтобы все пиксели перемещались (вроде как описано в списке) вместо того, чтобы просто делать одно, а затем переходить к следующий:
Я изначально не включал это, потому что я все еще супер новый для Javascript и понимаю свою работу t мужа, скорее всего, так эзотерически загружена, что я боюсь, что большинство из них не смогут сделать головы или хвосты. Но если вы можете, тем лучше, я полагаю.
Можете ли вы предоставить некоторые данные и код? – rfornal
Что это за массив, можете ли вы опубликовать пример? Сколько из них у вас в массиве, как они связаны? –
Используйте модульное подразделение, возможно? – incutonez