You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
777 B
JavaScript
40 lines
777 B
JavaScript
const tps = 47;
|
|
const fade_ms = 500; // ms
|
|
|
|
const current_vals = [10, 100, 45];
|
|
const target_vals = [255, 255, 0];
|
|
var fade_increments = [0, 0, 0];
|
|
|
|
var fade_ticks = Math.ceil(fade_ms / tps); // 32
|
|
|
|
var val_iterator = 0;
|
|
var tick_iterator = 0;
|
|
|
|
console.log(`fade_ticks: ${fade_ticks}`);
|
|
|
|
while (val_iterator < 3) {
|
|
|
|
fade_increments[val_iterator] = -((current_vals[val_iterator] - target_vals[val_iterator]) / fade_ticks);
|
|
val_iterator++;
|
|
|
|
}
|
|
|
|
val_iterator = 0;
|
|
|
|
console.log(`increments: ${fade_increments}`);
|
|
|
|
while (tick_iterator < fade_ticks) {
|
|
|
|
while (val_iterator < 3) {
|
|
|
|
current_vals[val_iterator] += fade_increments[val_iterator];
|
|
val_iterator++;
|
|
|
|
}
|
|
|
|
val_iterator = 0;
|
|
|
|
console.log(current_vals.map((val) => Math.round(val)));
|
|
|
|
tick_iterator++;
|
|
} |