Как я могу заставить элемент сделать что-то снова по щелчку

#javascript #loops #onclick #move

Вопрос:

Мне нужно, чтобы мой мяч снова прыгал, когда я нажимаю на него, но я не знаю, как объединить мои функции, чтобы он снова прыгнул. Кто-нибудь может, пожалуйста, помочь мне с этим? Повторяю, мне нужно, чтобы мяч прыгал, когда я нажимаю, и он должен быть в состоянии делать это в воздухе, отскок не требуется.

 var canvas, ctx, container;
canvas = document.createElement('canvas');
ctx = canvas.getContext("2d");
var ball;
var vy;
var gravity = 0.5;
var bounce = 0.7;
var xFriction = 0.1;


function init() {
  setupCanvas();
  vy = (Math.random() * -15)   -5;
  ball = {
  x: canvas.width / 2,
  y: 100,
  radius: 20,
  status: 0,
  color: "red"
  };
}

function draw() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.beginPath();
  ctx.arc(ball.x, ball.y, ball.radius, 0, Math.PI * 2, false);
  ctx.fillStyle = ball.color;
  ctx.fill();
  ctx.closePath()
  ballMovement();
}
setInterval(draw, 1000 / 35);

function ballMovement() {
  ball.y  = vy;
  vy  = gravity;
  if (ball.x   ball.radius > canvas.width || ball.x - ball.radius < 0) {
  vx *= -1;
}

 if (ball.y   ball.radius > canvas.height) {
 ball.y = canvas.height - ball.radius;
 vy *= -bounce;

 vy = 0;

 if (Math.abs(vx) < 1.1)
 vx = 0;
 xF();
 }
}

function setupCanvas() { //setup canvas
  container = document.createElement('div');
  container.className = "container";
  canvas.width = window.innerWidth;
  canvas.height = window.innerHeight;
  document.body.appendChild(container);
  container.appendChild(canvas);
  ctx.strokeStyle = "#ffffff";
  ctx.lineWidth = 2;
}
 

Мне нужно, чтобы он мог подпрыгивать в воздухе, и чтобы он мог падать с высоты до полной остановки.

Комментарии:

1. Я бы рекомендовал подключить ваш код к JSFiddle. сеть и посмотрите, как она работает. У вас есть несколько ошибок, на которые вы, возможно, захотите обратить внимание в первую очередь.

2. Можете ли вы указать на них, потому что я все еще новичок, ребенок, который даже не подросток, и я понятия не имею, как использовать JSFiddle