Então nós já criamos essa variável legal para os olhos do Winston, a qual tem sido realmente útil porque nos salvou de digitar muito, quando queremos mudar o tamanho dos olhos
Lembre-se que antes tínhamos que digitar o mesmo número quatro vezes, sempre que queríamos mudar o tamanhos dos olhos dele
Mas nós podemos usar variáveis para substituir números quando eles não são iguais?
E se eu quisesse mover o Winston um pouquinho?
Nós poderíamos mudar cada uma dessas coordenadas x, mas elas não são iguais, então eu não posso substituí-las com alguma variável
Mas espere! Uma vez que eu atribuir um número a uma variável, eu posso usar essa variável exatamente como se fosse aquele número
O que significa, eu posso usar variáveis em expressões matemáticas
Que tal isso, vamos criar uma variável para a posição x de Winston
Vamos chamar de "var x"
Simples o suficiente, okay, agora vamos da-la o valor da coordenada x da cara do Winston
A cara dele está sendo desenhada na coordenada x 200
Então nós dizemos var x recebe 200 (var x = 200;)
Agora eu posso substituir esse número com a minha nova variável "x". E quando eu mudar o valor de x, a cara do Winston move
Mas não seus olhos ou sua boca
Para arrumar isso, nós teremos que definir a posição dos olhos deles e da boca, relativa a posição da cara.
Então a coordenadas "x" serão os centros de todas as outras elipses, então a cara dele está sendo desenhada em...
200, agora vamos fazer seu olho esquerdo primeiro, essa elipse é o olho esquerdo dele, e podemos ver que está desenhada em 150
Então bem aqui é 150
E eu sei que 150 é 200 menos 50
Então seu olho esquerdo deverá estar sempre onde a cara dele está, menos 50
Então vai ser "x", que é a posição da cara dele, menos 50
E agora se eu mudar o valor dessa coordenada x, o olho dele se move junto com a cara
Vamos fazer os outros.
Então o olho direito dele é está desenhado em 300, eu posso ver, então aqui é 300
E 300, eu sei que é 100 a mais que 200
Então o olho direito deverá estar sempre aonde a cara estiver mais 100
Isso é x+ 100
Agora nós temos apenas a boca, que está sendo desenhada em 250
É bem aqui, nós temos 250, e 250 é 200 mais 50
Ela sempre estará onde a cara está x + 50
Agora eu vou me livrar desses rabiscos. Sempre que eu mudar o valor de x, vai mover a cara inteira!
Antes de você ir, você devia saber umas coisas a mais sobre variáveis
Uma vez que você criou uma variável usando var x
Você pode atribuir o valor quantas vezes você quiser.
Então depois de dar a x o valor 198, eu posso dizer que x recebe 300, ou x recebe 150
A partir daí, o computador tratará x como nós atribuímos por último
Nesse caso 150
Mas você só precisar digitar var uma vez por variável
Se aqui eu digitar var x = 150; em vez disso, isso vai ter criado uma nova variável chamada x
Completamente destruindo a velha variável x no processo, então todas essas variável terão indo para a lixeira
E depois disso o computador apenas usará a nova variável
Algumas vezes você pode fazer isso sem que coisas terríveis aconteçam, mas eu não aconselharia.
Por hora eu só vou fazer isso uma vez ( var x = 150;)
E agora convenientemente eu posso mover todo o Winston para fora da tela, então eu posso falar sobre o próximo assunto
Então sempre que você tiver uma variável igual a algo, essa variável está num lugar seguro e feliz.
Na verdade no lado esquerdo do sinal de igual está o único lugar onde uma variável pode verdadeira se sentir como uma
porque este é o único lugar que o computador a considerará como variável.
Em qualquer outro lugar, o computador apenas finge que é um valor
Mesmo que façamos algo assim, var x recebe 10 (var x = 10;)
E então, x recebe x (x = x;) Uau, confuso
Bem, na esquerda, nós temos x, que é um variável livre e independente, que pode crescer, que pode mudar!
Mas na esquerda é apenas 10
Triste :( Mas isso significa que podemos fazer coisas realmente úteis como
Eu posso dizer que x recebe x+1 (x = x+1;)
Então nas esquerda temos nossa variável em um lugar seguro e feliz, e na direita nós temos essa variável, a qual nós sabemos que basicamente é só um número
É só 10
Então nós mentalmente substituímos esse x por 10 mais 1
Que apenas significa x recebe 11
Então essa linha inteira está basicamente dizendo x recebe 11, então de agora em diante o valor de x é 11
Vamos ver o que acontece se trazermos outra variável para a equação
Nós faremos var x recebe 10 (var x = 10;)
var y recebe 20 (var y = 20;)
x recebe y (x = y;)
e y recebe 7 (y = 7;)
Ok, o que eu quero saber é, qual o valor de x?
Vamos descobrir
Então neste ponto criamos uma nova variável x, e atribuímos o valor 10
Então o valor de x é 10
Nesse ponto aqui, criamos uma nova variável y e a demos o valor 20
Então não fizemos nada em x, então o valor de x ainda é 10
Aqui nós estamos dizendo x recebe y. Bem isso é muito confuso, mas se você pensar sobre isso
nós sabemos que apenas uma dessa variáveis está no lugar seguro e feliz.
E a outra variável está sendo tratada exatamente como se fosse um número
Então aqui nós mentalmente substituímos esse y com o seu valor, que é 20, e nós sabemos o que aquele sinal realmente significa
é que x recebe 20. Então o valor de x é 20!
E aqui nós temos o y no lugar seguro e feliz dessa vez, mas esse não é realmente confuso
porque nós temos um número do outro lado
Aqui está a grande questão, quando eu mudo o valor do y aqui, isso muda o valor de x ali em cima?
A resposta, NÃO!!
Você tem que lembrar, aqui em cima y está sendo tratada apenas como um número
O computador vai ignorar completamente que é uma variável, esquecer que de fato ela pode mudar
e ele só vai dizer "oh, y o que você realmente significa é 20"
Então bem qui, nós estamos atribuindo um número a x, não estamos atribuindo uma variável, estamos adicionando o valor de y, que é 20
E isso significa que o valor de x continua 20, mesmo que depois nós mudemos o valor dessa variável y na última linha
Ufa! Capisce? Bem agora vocês são especialistas em variáveis, parabéns!!