Gooooal pt-br Explainer

Explicação de Gooool

Objetivo deste desafio: Mover a ball para o goal

Passo a passo da solução: A posição de um círculo é definida por seu centro. A distância do lado esquerdo da tela até o centro é seu atributo 'cx'. A distância da parte superior da tela até o centro do círculo é seu atributo 'cy'.

A ball estará entre o lado esquerdo e direito do goal se seu 'cx' estiver entre 50 e 200. Vamos escolher 125. Para definir o atributo 'cx' da ball, você usa ball.attr('cx',...). Para 'cy', o valor deve estar entre 50 e 100. Vamos usar o 100. ball.attr('cy',100) colocará a ball no fundo do goal.

Você pode optar por encadear as chamadas .attr() em conjunto ou diretamente para ball em uma nova linha. As duas funcionarão desde que você não tente usar ball.attr() acima do let ball = ..., pois a variável precisa ser criada antes de ser usada.

Solução do código de exemplo:
(Toque abaixo para revelar)

let goal = svg.append('rect')
                .attr('x' ,25)
                .attr('y', 25)
                .attr('width', 200)
                .attr('height', 100)
                .attr('fill', 'white');
let ball = svg.append('circle')
                .attr('r', 25)
                .attr('fill', 'dodgerblue');
ball.attr('cx', 125)
    .attr('cy', 100);

Conceitos de D3: .append(), .attr('cx',), .attr('cy',), .attr('fill',), .attr('height',), .attr(r,), .attr('width',), .attr('x',), .attr('y',), .on('click',...)