我調整了Processing草圖以生成我需要用於Web應用程序的電視靜態效果的變體。現在我想將這個效果轉換成JS/canvas。什麼是loadPixels()
的純JavaScript /帆布當量,copyArray()
,updatedPixels()
,並且draw()
如下面的處理代碼中給出,或如何最好地去轉換鑑於這種情況,很可能,JS /帆布都沒有高效加工/ Java的?處理功能相當於JavaScript的效率
int[] ppx;
Random generator = new Random();
void setup() {
size(640,480);
loadPixels();
ppx = new int[pixels.length];
for (int y = 0; y < ppx.length;y++) {
int spread = generator.nextInt(5);
switch(spread) {
case(1):
if(y-480 > 0) {
ppx[y] = ppx[y-480];
}
break;
case(2):
if(y-1 > 0) {
ppx[y] = ppx[y-1];
}
break;
case(3):
ppx[y] = color(0,generator.nextInt(2)*255,0);
if(y+480 < ppx.length) {
ppx[y+480] = ppx[y];
}
break;
case(4):
ppx[y] = color(0,generator.nextInt(2)*255,0);
if(y+1 < ppx.length) {
ppx[y+1] = ppx[y];
}
break;
case(0):
break;
};
}
frameRate(100000000000L);
}
void draw() {
for (int y = 0; y < height;)
arrayCopy(ppx, generator.nextInt(height/2), pixels, y++*width,width);
updatePixels();
}
draw()是一個循環,就像while(true){do stuff}一樣。它也嘗試保持幀率穩定。您可以查看源代碼:https://github.com/processing/processing/blob/master/core/src/processing/core/PApplet.java – 2013-03-20 06:12:34
@ v.k。涼。感謝您的鏈接! – 2013-03-21 01:57:47