You are on page 1of 14

se movimentarmos um objeto ap�s rotacionar

em nivel local ele vai usar a orienta��o transformada pela rotacao


se for em global vc vai orientar no eixo do mundo
mas se vc fazer isso vc deixa de considerar os eixos do objeto
para considerar os do mundo

para mudar o pivot basta de uma img ,obj � s� clicar nela e clicar
em Sprite Editor

-mudou o jeito de como se importa asset da assetstore


tem que ir no pesquisar clicar com o botao direito e ir na ultima
opcao

Luzes
-Tem como aplicar sim fontes de luz em jogos 2D e faz diferen�a

-em 2d sao mais usadas as direcionais, point e spotlight

directional
-vai iluminar tudo independente da posi�ao que a luz esteja
o que importa nessa luz � a rota��o e ela que vai deternimar a quantidade
luz recebida
elas tem suas propriedades

se escolher valor alto para intensidade vai acabar queimando


a visualizacao dos objetos de cena
bounce intensity � luz indireta
Shadow Type para jogos em 2d nao � muito lega
entao pode esquecer
Cookie vc pode imar uma imagen para fazer todo estilizado
Braw Hole efeito de n�voa em vola da luz
Flare efeito de brilho de quando olhamos para o sol, bem intendo mais
para 2.5D
Culing Mask determina quem vai receber os efeitos da Luz

POINT LIGHT
Ilumina em todas as dire��es e tem um range
enquanto a directional light ilumina tudo com o sol a Point Light
� como se fosse uma lanpada, depende de sua posicao para iluminar
os objetos

SPOT LIGHT
cria cone de luz com angulo e alcance
aposicao e rota�ao sao muito importantes

SPRITES

nao sao originalmente afetados pela luz


tem que criar novo material e ir em :
Shader->Sprites->Diffuse
vc pode colocar ou arrastar
a� vc coloca a luzno modo 3d um pouco mais para frente para ter realmente
innfluencia sobre o objeto
obs:mesmo que vc misture sprites com moleos 3d vc nao vai ter
aquela coisa feia grita de de saber nitidamente que
aquilo � 3d ou 2d
LAYERS
-layers de objetos(vc clica nele, vai l� em layer e escolhe
Add Layer
a� vc pode nomear o primeiro que poder digitar
e pode criar um segundo e terceiro
e para quer serve isso????
Vc escolhe a camada e diz que ela ora precisa ser eliminada a luz
ora n
indo em culling mas e marcando ou desmarcando layer
vc pode copiar objetos e falar que cada um
estt� com uma layer ativa

tem como ligar ou desligar luz pelo checkbox

CRIA�AO DE PREFABS
-se arrastar para as pastas j� � um prefab
l� do hierarchy para o project
se vc clicar no sprite aparece um campo prefab
e � s� arrastar para a cena para criar outro
se vc modificar algum ddas copias do prefab e
ir l� na aba prefab e aplicar Apply todos serao
modificados
pode ser feito indo no projeto->botao direito->prefab e jogar em
cima

MANIPULA�AO DE SPRITES VIA C�DIGO


//transform.Translate(new Vector3(0, 0, 0));
//se vc tiver mexido, rotacionado o objeto antes toda a moviment��o �
mudada
//pois essa translacao obdece a rotacao, mesmo q quando vc clique nao veja
os eixos trocados
//transform.Rotate(new Vector3(0, 0, 0.5f));
//transform.localScale += new Vector3(0.1f, 0.1f, 0);

essa daqui resolve


transform.Translate(new Vector3(0.03f, 0, 0),Space.World);

TRABALHANDO COM SCROLL HORIZONTAL SIMPLES


existe v�rias formas de se fazer
sao imagens que se repetem v�ria e varias vezes
-usa objeto 3d que � um Quad
Quando trabalhamos com 3d nao podemos colocar textura diretamente
no objeto tem que criar um material
mas para isso vc vai l� no sprite que quer colocar
clica nele vai em texture type e coloca default
e vai em wrap mode e coloca repeat e aplica
cria um material e escolher um material bom para imagens que tenham
partes transparentes Shader-Legacy Shader->Diffuse
a� � so jogar o sprite dentro do espano no material
e puxa o material e jogar dentro do squad
a� em material
offset vc movimenta e tillin vc diz quantas vezes quer que esteja
na textura
pode azer em x e y, mas a imagem tem que ser preparada

para vc mexer nele vc tem que obter a variavel de mesh renderer


vc us um script para automatizar isso
para que a velocidade seja o mais proxima em dispositivos diferentes
usa-se vel*Time.deltatime
cria o arquivo e joqa arquivo no quad e joga o quad dentro vo
campo de variavel do script

PARALLAX SCROLL
scroll que d� nocao de profundidade
tem mais de um objetos cada um em uma velocidade
mas distante, mais lento, mais proximo mais rapido

duplica o quad
e coloca no modo 3d e coloca um um poucos mais na frente q outro
como vc dublica, eles usam o mesmo script a� � s� trocar a velocidade de
cada um

INPUT

INPUT DE TECLADO
Input.GetKeyUP(KeyCode.RightArrow)
s� vai acontecer alguma coisa quano soltar a tecla de seta para
direita

Input.GetKeyUp(KeyCode.RightArrow) soltando
Input.GetKeyDown(KeyCode.RightArrow) pressionado
Input.GetKey(KeyCode.RightArrow) para movimenta�ao de personagem
se vc ficar pressionado d� varias respostas

obs como o script foi adicionado ao objeto nem precisa falar


quem est� movimentando ele j� deduz

INPUT TECLADO 2
ao inv� de usar if
vc usa os Axes
Edit->Project Settings->Input
e vai aparecer v�rios prontos

float H = Input.GetAxis("Lados");
float V = Input.GetAxis("Vertical");
transform.Translate(new Vector3(H * Time.deltaTime, V * Time.deltaTime, 0));

MOUSE INPUT
tem Axes: Mouse X, Mouse Y,MOuse ScrollWheel,
Fire1(mouse 0 ,joystick button 0= botao esq),
Fire2(mouse 1 ,joystick button 1 = botao dir)

pode mudar sensitivy para ficar melhor

INPUT DE JOYSTICK
tem varios tipos de joystick, tem playstation, xbox
tem mapeamentos dos controles na unity os repectivos valores

obs:para vc criar Axes basta aumentar numero de Axes Size


d� para fazer para controles pipiti tbm � s� ir tentando at� acertar o axis

COLIS�ES
COLISORES
para adicionar um � s� clicar em um objeto e add component
pshsics 2d e colider � a linha verde de delimita
mas tem como editar � so ir no edit Collider no proprio obj

tem o edge colider q � uma linha e vc pode ir modelando


praticamente desenhando e s� cliar e puxar e para aumenta s�
clicar nas poontas
polygon collider � legal tbm j� faz automatico
e vc pode modificar

capsule collider costumam usar esse

RIGIDBODY
d� vida a nossos eventos fisicos
tem q add rigidbody2d
linear drag-for�a contra gravidade
tem um check box para simular
gravity scale -for�a da gravidade
constrais-restrinde o movimento

if(Input.GetKeyDown(KeyCode.Space))
bola.AddForce(new Vector2(0, forca * Time.deltaTime), ForceMode2D.Impulse);
//usado para dar pulos for�a,se apertar varias vezes ele funciona v�rias
vezes quem q podar isso para dar um pulo, pulo duplo
obs:o inspector � s� para testar depois tem de trocar no script

TAGS
utilizar tags para dzer o que � cada objeto e gerir eventos
para criar tag clique no obj
va na aba inspector e tag->add tag-> +

this.gameObject.CompareTag("bola")
//nos diz se obj q estamos usando o scrpt � essa tag

COLISOES ENTRE OBJETOS


dessa colisao uma a�ao e desndecadeada
mas para isso os objetos desta a�a tenha uma tag

private void OnCollisionEnter2D(Collision2D outro)


{
//o outro � o bjeto com que houve colisao
if(outro.gameObject.CompareTag("madeira"))
//compara a tag do objeto outro
{
//ele ir� destruir
Destroy(outro.gameObject);
}

private void OnCollisionExit2D(Collision2D collision)


{
//para quando sai da colisao
}
}
EFEITO PULO

void Update () {
if(duplo>0)
{
if(Input.GetKeyDown(KeyCode.Space))
{
bola.AddRelativeForce(new Vector2(0, forca * Time.deltaTime), ForceMode2D.Impulse);
duplo--;
}
}
}

void OnCollisionEnter2D(Collision2D outro)


{
if(outro.gameObject.CompareTag("chao"))
{
duplo = 2;
//liberarPulo = true;
}
}

TIROS
pegamos o sprint de uma arma
mas como temos q falar onde a bala sai
temos de criar um objeto vazio Create Empty
mas ele fica invisivel se clicarmos fora
entao clicamos nele e vamos no cubo do inspector e
criamos uma especie de rotulo

mas tem o problema da movimentacao da arma e o gameobject da bala


nao acompanha por isso temos de fazer a bala ser filha da arma
� s� jogar o cano ,bala para dentro da arma no hierarchy

public GameObject balas;


public GameObject cano;

if(Input.GetKeyDown(KeyCode.Space))
{
Instantiate(balas, new Vector3(cano.transform.position.x,
cano.transform.position.y, cano.transform.position.z), Quaternion.identity);
}//instantiate cria objetos
//Quaternion d� para usar mas d� problema quando rot a arma

TRIGGER(gatilhos)
vc cria um gameobject vazio e marca trigger no inspector da� ele nao
nao colidira fisicamente
d� pra acionar armadilhas

[Nao sei como andar e rotacionar ao mesmo tempo, fica fazendo


umas coisas loucas,mas vi em outro videos que nao pode usar nem
translate e rotate tendo um colider]

COLETAR ITENS
para fazer a coleta de itens tbm se usa o trigger
pq vc nao quer que seu personagem colida com ele
//dentro de move Pato

private void OnTriggerEnter2D(Collider2D outro)


{
if(outro.gameObject.CompareTag("moeda"))
{
moedas++;
Destroy(outro.gameObject);
}
}

AUDIO

PRIMEIROS PASSOS PARA AUDIO


os componentes de audio vem disabilitados pq nao selecionou um gameobj
para colocar esse component
-para vc colocar um audio de fundo tem q estar em um objeto que
estar� em todo o game, a camera seria o ideal
e a camera j� traz isso quando clicamos nela no inspector
vemos o audio listiner que � justamente a orelha do jogador
-vamos colocar uma musica de fundo, clicamos na camera e vamos
no component audio e audiosorce, dai aparece na camera esse
componente pedindo algumas infos
-play awake para tocar ao iniciar o game
-loop para ficar repetindo
prioridade
volume
ptch-velocidade de execu��o da musica

embaixo efeito 3d com gafico de como � executado


-vc nao pode colocar tudo no play awake senao vai ser uma bagun�a
as outras vc vai ter de controlar no c�digo

-vc precisa de uma distancia da fonte de som e das orelhas do jogador


entao se vc deixar na camera vc nao vai conseguir fazer isso, os
dois componentes estao dentro do camera

-no spatiad blend vc pode colocar audio em 2d ou 3d


no 3d vc vai diminiur a intensidade a distacia da camera e a fonte
e vai afetar de qual lado do ouvido vc escuta
se vc colocar no modo 3d da scene vc pode mexer na distancia tbm
ele j� nasce com uma distancia

ENTENDENDO UM POUCO MAIS SOBRE AUDIO


-audio reberv zone
como estamos trabalhando com profundidade � interessante usar
esse efeito
vc pega o arquivo que tem o audio source e adiciona a ele
o audio reberv zone
que tem a op�ao (reverb Preset) que configura, aplica efeitos no som
se nenhuma dessas op�oes agradar vc pode ir em USER
e configurar a sua propria
-Obs(nao achei taooo diferente esse reverb zone, mas talvez
para quem goste deve dar altos efeito principalmente no USER)

dentro do projeto d� para criar um audio Mixer


vai nas pastar botao direito->create->audio mixer
e vc vai colocar ele no OUTPUT do seu audiosorce
e clica na bolinha ao lado, vai aparecer automaticamente o que vc
crou com um nome master ou outro, mas tem o endere�o dele
entao d� para saber se � o mesmo ou n
-vc clica duas vezes no mixer criado e vai abrir para modifica�ao
vc clica em Edit Play Mode
-pode mexer no limiar db
se vc puxar a etiqueta do db no grafico vai aparecer outras op�oes
e dar� para adicionar efeitos

UTILIZANDO AUDIO COM C#


tem v�rios jeitos de se atingir um determinado objetivo
caminho f�cil
pelo teclado ele vai determinar quando vai tocar, parar etc
no exemplo dele o sorce est� na camera
ele deixa desligado o loop e playonawake

fez o codigo
- public AudioSource musica;

if(Input.GetKeyDown(KeyCode.A))
{
musica.Play();
//musica.Stop();
//musica.Pause();
}

e joga o codigo para dentro da camera que tem o audiosource


e o arquivo pede o audio source e vc pode jogar a propria camera
no campo

[proximo exemplo-funcional]

abri cena1 para fazer esse exempl


o que �:
fazer o pato encontrar a moeda e criar um gameobjt vazio
que a unica fun�ao � tocar um audio quando nascer

criou um gameobject vazio e criou em cima dele um audio source


e jogou o som de moedas em cima
-ele tem de tranformar ele em prefab, entao vai arrastar ele para
a pasta prefab e aplica, e apaga o objeto da tela

-no script movepato

public GameObject efeitoCoin;

//vai criar o gameobject na posi�ao que o pato colidir com a moeda

private void OnTriggerEnter2D(Collider2D outro)


{
if(outro.gameObject.CompareTag("moeda"))
{
Instantiate(efeitoCoin, new Vector3(this.gameObject.transform.position.x,
this.gameObject.transform.position.y, this.gameObject.transform.position.z),
Quaternion.identity);
moedas++;
Destroy(outro.gameObject);
}
}
-depois pega o prefab e joga no gameobject do script

funciona, mas cria um monte de gameobject no jogo, pesando ele


ele pega o prefab e joga na tela e cria um novo script chamado vida

private float tempo = 1.5f;


// Update is called once per frame
void Update () {

tempo -= Time.deltaTime;
if(tempo<=0)
{
Destroy(this.gameObject);
}
}
}

-depois add o codigo ao prefab AudioPref


aplico e verifico se o arquivo est� nele e deleto ele

GERENCIADOR DE AUDIO
caminho dif�cil

Vamos usar um gerenciador de audio


vai ser o unico gameobject respons�vel por tocar todos arquivos
de som
mas como estarao todos em um arquivinho nao ter� que trabalhar com
profundidade
-entao tem q se fazer que uma instancia seja acessada por qualquer
outro escript de forma est�tica

come�ando
-cria-se um gameobject vazio chamado Audio_G
e um script para ele chamado Gerenciador

no arquivo C# ele apaga as fun�oes Start e Update

ele instancia a classe que est� definindo dentro dele(estranho)


???? nunca vi isso
ele usa tbm um m�todo awake
(diz ele q � melhor q start pq se estiver o c�digo desabilitado
o que estiver dentro de awake roda e de start n)
entendi o que est� dentro dos parenteses
� q tem um checkbox no script,fala para habilitar ou n
ele faz isso para garantir que vai ser feito idenpendente
se o c�digo est� habilitado ou n

o c�digo awake abaixo nos diz que se inst nao estiver referenciando
para o this que � objeto em que vamos colocar o c�digo
� para destroir o obj

public AudioSource sons;


public static Gerenciador inst = null;

private void Awake()


{
if(inst == null)
{
inst = this;
}

else if (inst !=this)


{
Destroy(gameObject);
}
}

//essa segunda parte � para ter acesso a fun�ao


obs:vc pode dar um print (this) para saber o q �
vc passa a informa�ao do arquivo de audio para sons
e toca ele

public void PlayAudio(AudioClip clipAudio)


{
sons.clip = clipAudio;
sons.Play();
}

++++ vc joga o script gerenciador no object Audio_G e add nel um


audiosource indo em add componente e nao joga nada no audioclip pq
� feito via c�digo

no c�digo de pulosimple ele add


public AudioClip puloSOm;
a� ele chama o instancia para tocar o som

Gerenciador.inst.PlayAudio(puloSom);
a� vc joga o audio no scrit acessando bola
e agora tem o barulho do som de pulo
e d� para fazer com v�rios arquivos de audio
muito bom, gerenciador � mara

TRABALHANDO COM F�SICA

DISTANCE joint2D
component-physics2D ->tem todas as articula��es

vai fazer um pendulo com uma bola e uma pilastra


pega os dois e adiciona em cada um rigidbody2d e boxcollider
obs:na coluna precisa de rigidbody n
mas vc poderia colocar e colocar trigger

achor -ancora � a base


vc tbm pode conectar um objeto a um rigid body
a� ele add um rigidbody a pilastra e como ele nao queria que ele
caisse ele determinou q na opcao do rigid body era est�tico em body type
tem op�ao para modificar distancia

um fica na frente do outro bola e pilastra entao � s� ir no


Sprint Renderer do gameobject e modificar na Order in Layer
tem a op�a de deixar rigido ou como uma corda basta marca
apresentada pelo exemplo de bola 90 graus

tem a op�ao de break force tbm que quebra a corda


tem enabl colision para colidir com o objeto
FIXED JOINT2D
efeito de trampolim ou de ponte
no exemplo ele add uma tabua com rigidbody2d e fixedjoint2d
da� tem o
Damping Ratio-� como se fosse o amortecimento, transiente
Frequency -se colocar a ancora na ponta d� para ver que quanto
maior a frequencia mais peso ele guenta
BreakForce de quebra ele vai cair se estiver no ar
Break Torque de quebra

D� para vc ir criando pontes, basta ir duplicando as pontes e adinonar o


novo ao rigidbody anterior, eles ficam ligados a junta inicial
para ficar mais legal d� para vc colocar no ultimo que � static
no bodytype do rigidbody2d para ficar mais bonitinha a ponteS
as do meio ficam meio caidas
e d� para quebrar a ponte colocando a breakforce no meio

FRICTIONPOINT2D
-objetos que vc bate neles e afundam e vai descendo a cada pulo
que vc pula em cima dela e elea gira deacordo com a for�a q vc colo
ca ali

exemplo-ele colocou 2 corpos colisores e rigidbody nos dois objetos q


colocou neles, em um deles ele colocou o frictionjoint,colocou
nos dois

mas em Max Force e Marce Torrque vem 1 nos campos


da� eles caem
mas se vc nao quer q isso aconte�a de forca ou torque
coloque um numero gigante q ele vai colocar o numero maximo
verifique a massa do componente vai afetar

HING JOINT
fazer efeito de corda e corrente
ele colocou uma corrente
adicionou box collider e rigidbody2d e diminuiu a massa para
0.5 eadicionou um hing joint ne;la e conectou o hing joint a uma madeira
ele ancorou os dois pontos juntos e na madeira o da prox
corrente jogou na propria mais em cima e linkou no hingi

d� para quebrar tbm


d� para vc colocar um motor pos neg
limitar angulos legal
tem como colocar um efeito de dobradi�a
tem de diminuir for�a que � pular em cima e ele descer e volatar
a posicao inicial

RELATIVE JOINT
faz q dois objetos fiquem a uma determinada distancia a um deter
minado angulo

cria 2 e coloca em um i relative e jogo o outro como variavel


eles continuam na mesma posica relativa, mesmo empurrando
com mas force abaixando ele volta para a posicao inicial
vai fazer de tudo para conseguir isso, efeito de cataputa,
muito bom,
-com o Corre�ao de Escala ele ti joga para cima tem umas
viagens aqui

SLIDER JOINT
ele faz que um objeto fica deslizando de um lado para o outro de cima
para baixo
objeto vai se mover respeitando essa faixa verde

e tem como mudar o angulo


que nem naquele jogo dandara via scrip muito legal
d� para empurrar, mase chegar no limit nao tem como mais
empurrar
e a ancora � o limite para os dois extremos
?????como ele sabir o nome da variavel
JointMotor2D, ele deduziu?
scrpit

SPRING JOINT@D
ligados meio que q fosse por uma mola

TARGET JOINT@D
especie de mola
nao se conecta com outros gameobj

WHeel JOINT 2D

EFFECTS

AREA EFFECTORS 2D
consegue simular for�a
tipo se o bola atingir aquela �rea ser� empurrada com mais for�a
ele coloca imagens de setas e adiciona box collider,
e ele aumenta a �rea para que possoa refletir o efeito que ele quer
e aciona o Trigger e User by Effector
add nela o area effector
TEm a mask de colisao que diz se a colisao vai servir para todo mundo
se vc colocar a for�a para cima basta mudar ao force angle
90
Force Magnitude � a a intensidade
Force Variation-parecer ais realista
FOrce target pode escolher entre rigibody e Collider
aonde rigidbody n haverr� rotacao

ele adiciona um corpo colisor em um peso e depois um rigidbody

BUOYANCY EFFECTOR 2D
ele cria um cenario
e coloca uma �gua no meio, adiciona nela um colisor
e add um boyancy effector
definiu q vai ser usado como trigger e used by effector
tem op�ao de mask
tem a parte da densidade
a linha verde � aonde os objetos finais ficarao ao cair nelas
a densidade mergulha mais sobre a linha o corpo
linear drag se diminuiir ele arrasta mais rapidamente e o inverso
o resultado inverso se vc colocar muit baixo at� passa vai para o infinito
rs
Se aumentar a surface ele pula,nao d� muito o efeito de �gua
mas para contrabalancear essse aumento vc pode aumentar o linear drag tbm
-Com Flow d� para fazer que a �gua tenha uma correnteza
vc pode colocar varia�ao para ficar o mais proximo do real
se colocar angulo de 180, vai para esquerda

POINT EFFECTOR
d� para simular uma explosao ou gravidade de um planetinha
cria game object vazio e chama de parede, adiciona um colisor nele
e esticou ele, para nao deixar os objetos nao voarem para longe
e colocou um monte de objetos e colocou uma bombinha no meio
com corpo colisor e aumentar o raio do colisor
pq ela ser� a �rea de efeito, impacto
habilitar trigger e used by effector no collider e adcinona o point
effector
a for�a pode ser positiva ou negativa para aproximar e para distanciar objetos
varia�ao d for�a parecer real
Distance Scale para aumentar a distancia de aplica�ao
force source para escolher com qual quer trabalhar
se trab com collider pto de origem no ponto � definado como ponto a
tual do colisor, ou com ponto atual do corpo rigido

PLATAFORM EFFECTOR

ter efeito do superm�rio


super sobre um objeto e sem colidir
vc estava abaixo dele e pula por cima sem colidir e ti mantem
mas tem como mudar o angulo para por cima vazar
e por baixo colidir o que
o que faz funcionar � Use One Way
---------
pregui�a

tem como andar sobre objeto putiagundo sem deslizar, tem de usar
material
tem o bounce de ficar pulando em um component

SURFACE EFFECTOR
uma for�a � aplicada sobre a base
d� para fazer que pule tbm ,suba a montada tanto para direita como esquerda

CONSTANTE FORCE2D
aplica uma forca contante
mastem for�a relativa
aplica torque constante tbm

UI

TEXT
o canvas � como se tivesse algo sobreposto ao visor da camera
dar para alinha colocar cor, feito ,alinhamento
se rich text estuver ativado dar para usar algumas tags de html
se desmarcar rich text vira texto puro
Best Fit � para assumir um tamanho legal
Min Size e Max controla o tamanho da informa�ao internamente
aqueles triangulos vc puxa ele e deixa nas extremidades o
component ui text para prender eles ali

l� no codigo ele coloca


using UnityEngine.UI;
public Text txtMagnet;

void OnTriggerEnter2D(Collider2D outro)


{
if(outro.gameObject.CompareTag("Magnet"))
{
magnetItem++;
txtMagnet.text=magnetItem.ToString();
}
}

IMAGE
serve para muita coisa
serve para dizer qual o tipo de objeto comoletado como o desenho de
uma moeda ,colocando uma sprite
-dar para colocar por exemplo colocar a vida de um personagem
pode mexer a tonalidade para chegar em uma cor interessante
-em Image Type vc consegue mexer em alguns apsectos da imagem
como a Sliced, indo l� e colocando bordas pelo sprite editor
se vc usar tiled ele repete
se usar fill e mexer em fill amount d� para fazer aquelas
esferas de vida

codigo

no mesmo c�digo acima

public Image magnetImg;

//dentro de Start
magnetImg.fillAmount=0.5f;

RAWIMAGE

diz que � muito legal , d� para fazer v�rias coisas


tem a tal da uv repeat
para exemplificar pegamos um sprite e treocados
texture type para default
e wrap mode para repeat e aplica altera�ao e joga a imagem dentro do
campo de textura da raw image
e vc mechendo a uv react dentro da raw vc tem um efeito de
scroll dentro da UI

nesse exemplo ele cria um codigo para acessar essa imagem e fazer um
scroll

//codigo
public RawImage rIMG;

Rect temp = new Rect (rImg.uvRect);


temp.x +=0.1*Time.deltaTime;
rImg.uvRect = temp;

OBS:a RAW IMAGE serve para fazer imagens a partir de seamless

BOTAO 01

o botao em hierarqui ele � um botao e um texto


d� para mexer na transparenia em A em color mas nao
� legal mexer nas configurac�es image
e sim nas de button que tem tudo iss
aonde vc vai mexer nas cores dos estados do botao
em Sprite Swap-vc trocaria de imagens
tem um checkbox que tem preserve aspect ratio

vc pode ir em button no botao e clicar em Auto Generate Animation


e gerar o arquivo de automa�ao

vc clica duas vezes no estado no animator para vc ter acesso ao looptime

no campo On Click � ali q vamos trabalhar com codigo

UI BOTAO 2

no exemplo quando ele clicar no botao vai criar um obj


e se vc clica joga um obj e vc esta no canvas vc pode dar um reset
q j� aparece ni tamanho normal

no onlcik vc clica e mais e arrasta para ele o objeto q tem


o codigo no caso a camera

e vc tem de achar a fun�ao tbm para isso � s� colocar public no c�digo

public GameObject Magnet;

public void EventoBnt()


{
Instantiate(Magnet,new Vector(0,0),Quaternion.identity)
}

TOGGLE
(caixinhas q pode assinalar tipo checkbox)
tem a animacao dos botoes
Is on- se j� vai marcado

d� para criar uma lista de opcoes


s� q para vc forcar s� escolher apensa um objeto
temos de criar um obj vazio
d� o nome de group e add um componente nele de toogle group
feito isso joga todos os toogle dentro do grupo
todos toogle tem um campo chamado Group
� s� arrastar o objeto de group para dentro dele
a� esta pronto

You might also like