09/03/12 13:04
dotNET
Ciao a tutti, sto facendo un gioco in html 5, il cielo lo disegno con un linearGradient che va da #36a8ff (azzurro scuro) a #c3e5ff (azzurro chiaro).
Nel gioco il sole scende lentamente, e vorrei riuscire a modificare i due colori limite del linearGradient in modo che il cielo diventi sempre piu scuro, non penso basti convertirlo in decimale e decrementarlo sempre di piu il colore, perchè così facendo cambiarebbe anche il colore di base (blu).
Qualcuno ha qualche altra soluzione?
Nel concreto mi servirebbe un algoritmo per una funzione che attriaverso i parametri, colore iniziale, finale e progresso mi generi il colore esatto.
flashandmath.com/howtos/colortrans/ questo è un esempio di quello di cui avrei bisogno in javascript
Risolto se servisse :
Nel gioco il sole scende lentamente, e vorrei riuscire a modificare i due colori limite del linearGradient in modo che il cielo diventi sempre piu scuro, non penso basti convertirlo in decimale e decrementarlo sempre di piu il colore, perchè così facendo cambiarebbe anche il colore di base (blu).
Qualcuno ha qualche altra soluzione?
Nel concreto mi servirebbe un algoritmo per una funzione che attriaverso i parametri, colore iniziale, finale e progresso mi generi il colore esatto.
flashandmath.com/howtos/colortrans/ questo è un esempio di quello di cui avrei bisogno in javascript
Risolto se servisse :
function interpolateColor(minColor,maxColor,maxDepth,depth){ function d2h(d) {return d.toString(16);} function h2d(h) {return parseInt(h,16);} if(depth == 0){ return minColor; } if(depth == maxDepth){ return maxColor; } var color = "#"; for(var i=1; i <= 6; i+=2){ var minVal = new Number(h2d(minColor.substr(i,2))); var maxVal = new Number(h2d(maxColor.substr(i,2))); var nVal = minVal + (maxVal-minVal) * (depth/maxDepth); var val = d2h(Math.floor(nVal)); while(val.length < 2){ val = "0"+val; } color += val; } return color; }
Ultima modifica effettuata da dotNET 09/03/12 13:53
aaa