Jeg har 2 spørsmål kretser rundt blueHueCharacteristics.decrease og blueHueCharacteristics.increase variabler nedenfor. Hva denne koden gjør er å endre fargen på bakgrunnen i forhold til markørposisjonen på bakgrunnen. Hva denne koden er ment å gjøre, er å ha den .decrease variabel reduksjon 255-0 fra 0 til bredde / 2 og øke trykket variabelen lik 0 innenfor dette området, den .decrease og øke trykket variabler er lik 0 i bredde / 2, og den .decrease variabelen lik 0 fra bredde / 2 til bredde og øke trykket variable øker fra 0 til 255 innenfor dette område.
var hueStartingValues;
var hue;
var blueHueCharacteristics;
function setup()
{
createCanvas(800, 600);
hueStartingValues = {
red: 150,
green: 200,
blue: 255
}
hue = {
red: 0,
green: 0,
blue: 0
}
blueHueCharacteristics = {
decrease: 0,
increase: 0
}
}
function draw()
{
hue.red = map(mouseX,0,width/2,hueStartingValues.red,255,true); //takes red value with respect to cursor's position on canvas; limits red to 255 at width/2
hue.green = map(mouseX,0,width,hueStartingValues.green,0,true); //takes green value with respect to cursor's position on canvas; makes sure green doesn't go into negative values
blueHueCharacteristics.decrease = map(mouseX,0,width/2,hueStartingValues.blue,0); //decreases blue from 255 to 0 within first half of canvas width
blueHueCharacteristics.increase = map(mouseX,width/2,width,blueHueCharacteristics.decrease,255); //increases blue from 0 to 255 within second half of canvas width, .decrease should equal 0 through out this range
console.log(decrease: ,blueHueCharacteristics.decrease);
console.log(increase: ,blueHueCharacteristics.increase);
background(hue.red,hue.green, max(blueHueCharacteristics.decrease,blueHueCharacteristics.increase));
}
Når jeg har de to linjene i setup-funksjonen slik:
blueHueCharacteristics.decrease = map(mouseX,0,width/2,hueStartingValues.blue,0); //decreases blue from 255 to 0 within first half of canvas width
blueHueCharacteristics.increase = map(mouseX,width/2,width,blueHueCharacteristics.decrease,255); //increases blue from 0 to 255 within second half of canvas width
blueHueCharacteristics.increase inneholder ikke ikke-nullverdier starter på bredde / 2; I stedet har den ikke-nullverdier gjennom hele lerretet. Hvorfor er det sånn? Hvordan kan jeg begrense området for denne variabelen mellom bredde / 2 og bredde? Dessuten, hvordan kommer når du går over lerretet, den .decrease og øke trykket verdier er annerledes?
Deretter, når jeg setter den boolske parameter lik sann, for å gi:
blueHueCharacteristics.decrease = map(mouseX,0,width/2,hueStartingValues.blue,0,true); //decreases blue from 255 to 0 within first half of canvas width
blueHueCharacteristics.increase = map(mouseX,width/2,width,blueHueCharacteristics.decrease,255,true); //increases blue from 0 to 255 within second half of canvas width
den .decrease variable blir begrenset mellom 0 og bredde / 2 hensiktsmessig, men øke trykket ikke blir begrenset mellom bredde / 2 og bredde; hvorfor er det sånn?