2017-04-11 10 views
0
int objectX = width/2; 
int objectY = 200; 
int snelheidY = 1; 
int score = 0; 
int richting = 1; 
int positiebal; 
int bal = ellipse(objectX, objectY, 50, 50); 

void setup() 
{ 
size(400, 400); 
positiebal = height/2 
textSize(12); 
} 


void draw() { 
background(0, 0, 0); 

ellipse(positiebal, objectY, 50, 50); 

if(objectY > 375) 
snelheidY = -snelheidY; 

if(objectY<25) 
snelheidY = -snelheidY 

objectY = objectY + snelheidY; 

text("score = " +score,4,10); 

} 

void mousePressed() 
{ 

if (dist(mouseX, mouseY, positiebal, 200)<=200) 
{score=score+1; 
snelheidY = snelheidY+1 
} 
} 

"" "" "" "" "" "" "" "" "" "" "" "" ""처리 JS 빈 점수와 가속기

나는 다음과 같은 질문이 : 1. 볼이 내려갈 때 볼을 가속 시키지만 볼이 올라갈 때 작동하지 않는 것처럼 보입니다. 2. 점수 시스템은 볼을 눌렀을 때만 올라야하지만, 그렇게하지는 않습니다.

추가 지식이있는 사람이 다음 질문을 설명해주십시오.

답변

0

볼이 가속 될 때 가속됩니다. 볼이 올라갈 때 작동하지 않는 것처럼 보입니다.

코드 당신의 아래로 마우스를 누를 때마다 볼 이 가속화 기록했다. 이 줄에서 일어납니다 :

공이 위쪽으로 움직이는 경우, 아래쪽으로 가속하면 멈출 때까지 감속하는 것처럼 보입니다. 계속 누르면 계속 돌아서 아래쪽으로 갈 것입니다.

공이 방향으로 가속되기를 원하면 여기에 논리를 추가해야합니다. 어쩌면 if 문을 사용하여 볼의 방향을 확인하거나 추가 대신 곱하기를 사용할 수 있습니다.

점수 시스템은 볼을 누를 때만 올라야하지만 그렇게하지는 않습니다.

코드에서 아무 것도 확인하지 않습니다. 커서가 공에서 200 픽셀 떨어져있는 한 사용자가 마우스를 누를 때마다 항상 점수가 증가합니다. 마우스가 볼 안쪽에 있는지 확인하려면 200 대신 공의 반지름을 사용해야합니다.

또한 프로그램의 습관은 debugging입니다. 일반적인 "어떻게해야합니까?"라고 대답하는 것이 어렵습니다. 무언가를 시도하고 코드를 작성한 다음 오작동하는 코드의 특정 부분에 대해 질문하면 훨씬 쉽습니다.