0

我正在使用App Lab bu code.org,它允许我使用块或其 JavaScript 等效项制作“应用程序”。在这个应用程序中,我应用了如下图所示的运动学方程:

在此处输入图像描述

我的程序根据用户输入的时间r或水平范围以及发射角度(当前未使用)来计算最大高度和水平速度。为此,它操纵四个方程中的第一个来:

v_x = (x - x_0) / t

或者简单地说,水平速度是水平行进的总距离减去初始水平速度(始终为 0)除以时间。对于高度,它只是使用第二个等式。代码:

var time = 1;
var range = 1;
var angle = 0;

var GRAVITY = -32.2;
var v_yo = 0;
var y_o = 0;

setText("time", time);
setText("x_range", range);
setText("launch", angle);

function horizontal_velocity() {
  var v_x = ((range - 0)/time * 3600)/5280;
  setText("text_area1", v_x.toFixed(5));
}

function maximum_height() {
  var height = 0.5 * GRAVITY * Math.pow(time/2, 2) + (v_yo * (time/2)) + y_o;
  setText("text_area2", height.toFixed(5));
}
onEvent("timey", "click", function(event) {
  setText("time", 0);
  });

while (GRAVITY < 0) {
  time = getText("time");
  range = getText("x_range");
  angle = getText("launch");
  v_yo = 0 - GRAVITY * (time/2);
  horizontal_velocity();
  maximum_height();
}

结果工作得很好(在这里测试),但一件事不起作用的是Clear按钮......现在只是第一个。其余的没有附加任何代码。因此,要“清除”标签下的文本字段Time in Seconds,您需要单击按钮。这应该触发了onEvent()代码和调用setText("timey", 0),它应该用0.

不幸的是,在调试期间,它显示当单击按钮时,它甚至没有调用onEvent()不允许第一个按钮工作的那个。对于那些对做什么感到好奇的onEvent()人,请查看此文档那么为什么onEvent()即使按钮的 idtimey和第二个参数click分别对应于正确的按钮和操作,也没有被调用。此外,其中的代码onEvent()是一个函数,如果您检查文档中的第三个示例,这是合法的。

编辑器还包括一个设计部分:

在此处输入图像描述

4

0 回答 0