2017-02-07 2 views
1

나는 draw()를 통해 비례하는 타원형을 가지고있다. 그러나 무엇인가의 이유로 그것은 제어 할 수 없을 정도로 깜박이다. 나는 이유를 알 수없는 것 같습니다. 나는 그것이 setTimeout과 관련이 있다고 생각한다. 당신은 그리기 함수를 호출하는 setTimeout()를 사용해서는 안p5.js : 왜 타원이 깜박입니까?

//diameter of ellipse that increments 
var dia1 = 0; 
var dia2 = 0; 

function setup() { 
createCanvas(400,400); 
stroke(255); 
noFill(); 
frameRate(40); 
} 

//draw and increment ellipse 
function circle1() { 
ellipse(width/2,height/2, dia1,dia1); 

dia1 = dia1+1; 
if (dia1 >= width) { 
    dia1 = 0; 
} 

} 
function circle2() { 
ellipse(width/2,height/2, dia2,dia2); 
dia2 = dia2+1; 
if (dia2 >= width) { 
    dia2 = 0; 
} 

} 



function draw() { 


background(40,40,40); 

//wait 10 seconds before drawing ellipse 
setTimeout(function() { circle1(); }, 10000); 

circle2(); 


console.log(dia1); 


} 

답변

0

: 나는 여기에 코드를 타원을 그리기 전에 10 초 동안 기다릴 필요가 있기 때문에 나는 그것을해야합니다.

타이밍을 수행하려면 millis() 기능을 사용하십시오. 더 많은 정보는 the reference에서 볼 수 있지만 기본 프로그램은 다음과 같습니다.

function draw(){ 
    background(0); 
    if(millis() > 10000){ 
     ellipse(width/2, height/2, 25, 25); 
    } 
} 
관련 문제