Posição de X (dúvida básica)

22/06/2022

0

Bom dia!

Tava buscando pela internet algum fórum com programadores / desenvolvedores e achei esse aqui. Ainda não comecei o curso de desenvolvedor, mas estou usando a plataforma Khan academy para não entrar do zero totalmente e saber alguns conceitos. Lá tem alguns desafios para treinar com códigos e até que estou curtindo e desenvolvendo bem tudo. Porém em um desafio de consertar o código de um desenho eu realmente não entendi... me refiro à ellipse que corresponde ao olho de um urso...

[A dúvida]

Inicialmente, o valor da primeira ellipse, corrspondente ao olho esquerdo era 160, mas depois de consertada ela se torna: 160 por''x-faceSize/4. Alguém pode me explicar o porquê? para mim seria x - 40. Eu tentei desde ontem entender e não entendi o motivo dessa resposta nem com a explicação do site. Desde já, agradeço a quem explicar. Aqui está o desafio:

https://pt.khanacademy.org/computing/computer-programming/programming/resizing-with-variables/pc/challenge-brown-bear-eyes

ou

Desafio: Os olhos do urso pardo

Faça o olho esquerdo seguir a face para a esquerda e para a direita
No momento, quando você muda a variável x, o rosto se move para a esquerda e para a direita, mas o olho esquerdo continua no mesmo lugar. Nessa etapa, você vai consertar o código para que quando o rosto se mover para a esquerda, o olho esquerdo também se mova para a esquerda, e quando o rosto se mover para a direita, o olho esquerdo também se mova para a direita (vamos consertar o olho direito na próxima etapa).

Se você examinar as instruções ellipse do olho esquerdo, poderá ver que a coordenada x (primeiro parâmetro), é 160. Originalmente, antes de você começar a mexer no código, o x do rosto era 200 e faceSize era 160. Então, para manter a distância original entre o olho esquerdo e o centro do rosto, a coordenada x do olho esquerdo deve ser (200-160)/160 ou 1/4 do tamanho do rosto à esquerda de x.

Para fazer com que o olho esquerdo esteja sempre posicionado a 1/4 do tamanho do rosto à esquerda de x, faça o seguinte:
-Na elipse declarada para o olho esquerdo, substitua o valor de 160 por''x-faceSize / 4


noStroke();
var x = 200;
var y = 200;
var faceSize = 160;
var widthHeight = faceSize/8;

// ears
var earSize=faceSize*1/2;
fill(89, 52, 17);
ellipse(x-faceSize*2/5, y-faceSize*2/5, earSize, earSize);
ellipse(x+faceSize*2/5, y-faceSize*2/5, earSize, earSize);

// face
fill(163, 113, 5);
ellipse(x, y, faceSize, faceSize);

//eyes
fill(0, 0, 0);
ellipse (160 , 180, widthHeight,widthHeight);
ellipse(240, 180, widthHeight, widthHeight);



//nose
fill(89, 52, 20);
ellipse(x, y+faceSize/8, faceSize*4/15, faceSize/5);
Matheus

Matheus

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar