웹 응용 프로그램에 필요한 TV 정적 효과의 변형을 만들기 위해 처리 스케치를 조정했습니다. 이제이 효과를 JS/캔버스로 변환하고 싶습니다. loadPixels()
, copyArray()
, updatedPixels()
및 draw()
의 순수 자바 스크립트/캔버스 동등 물은 다음 처리 코드에 나와있는 것과 같습니다. 또는 JS/캔버스가 효율적으로 이 아님을 조건으로 변환에 가장 적합한 방법은 처리/자바?처리 함수의 효율적인 자바 스크립트
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 –
@ v.k. 시원한. 링크 주셔서 감사합니다! –