2017-04-11 2 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 
} 
} 

"" "" "" "" "" "" "" "" "" "" "" "" ""traitement JS Bin Score et accélérateur

J'ai les questions suivantes: 1. Le ballon est accéléré en l'avançant quand il baisse, mais cela ne semble pas fonctionner quand la balle monte. 2. Le système de score ne doit augmenter que lorsque la balle est pressée, mais cela ne fonctionne pas.

Est-ce que quelqu'un avec des connaissances supplémentaires peut expliquer ces questions?

Répondre

0

La balle est accélérée en la pressant quand elle descend, mais elle ne semble pas fonctionner quand la balle remonte.

Le code de votre affiché accélère la balle vers le bas chaque fois que vous appuyez sur la souris. Cela se produit dans cette ligne:

snelheidY = snelheidY+1; 

Si la balle se déplace vers le haut, puis l'accélération il vers le bas ressembler à décélérer jusqu'à ce qu'il arrête. Si vous continuez à appuyer alors il se retournera et descendra.

Si vous voulez que la balle accélère dans la direction où elle va, alors vous allez devoir ajouter une logique ici. Peut-être utiliser une instruction if pour vérifier dans quelle direction la balle va, ou peut-être utiliser la multiplication au lieu de l'addition.

Le système de score ne doit augmenter que lorsque la balle est enfoncée, mais cela ne fonctionne pas.

Rien dans votre code ne vérifie cela. Vous augmentez toujours le score chaque fois que l'utilisateur appuie sur la souris, tant que le curseur est à 200 pixels de la balle. Si vous voulez vérifier si la souris est à l'intérieur de la balle, vous devez utiliser le rayon de la balle au lieu de 200.

Vous devriez aussi vraiment prendre l'habitude de votre programme de debugging. Il est difficile de répondre à des questions de type "Comment faire?". C'est beaucoup plus facile si vous essayez quelque chose, écrivez du code, puis posez des questions sur un code spécifique qui se comporte mal.