处理JS Bin分数和加速器

时间:2017-04-11 20:49:46

标签: google-chrome-devtools processing jsbin

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
}
}

“” “” “” “” “” “” “” “” “” “” “” “” “”

我有以下问题: 1.球在下降时通过向它加速来加速球,但是当球上升时它似乎不起作用。 2.比分系统只有在按下球时才会上升,但不会这样做。

有进一步了解的人可以解释以下这些问题吗?

1 个答案:

答案 0 :(得分:0)

  

当球落下时球会加速,但球在上升时似乎不起作用。

每当您按下鼠标时,您发布的代码会将球加速向下。这发生在这一行:

snelheidY = snelheidY+1;

如果球向上移动,那么向下加速将看起来像减速直到它停止。如果你继续按下那么它会转过来然后往下走。

如果你想让球沿着它前进的方向加速,那么你将不得不在这里添加一些逻辑。也许使用if语句来检查球的方向,或者使用乘法而不是加法。

  

分数系统只有在按下球时才会上升,但它不会这样做。

您的代码中没有任何内容可以检查。只要光标距离球200像素,只要用户按下鼠标,您就会始终提高分数。如果你想检查鼠标是否在球内,你应该使用球的半径而不是200.

你也应该养成debugging你的计划的习惯。很难回答一般问题&#34;我该怎么做?#34;输入问题。如果您尝试某些内容,编写一些代码,然后询问一段行为不当的特定代码,那就容易多了。