Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
3 participantes
Página 1 de 1
Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
Pessoal, tenho uma janela com um ScrollRect.
No começo eu tinha um Viewport no scrollRect e um Content no Viewport.
O content as vezes não iniciava no topo da janela. Daí passei o RectTransform pro script da janela e o zero a posição dele quando a janele vai abrir. Só que isso só funcionava as vezes.
Então tirei o Viewport (que tinha o Mask) e coloquei o RectMask2D no mesmo objeto que contem o ScrollRect, mas dá no mesmo.
Alguém sabe oq fazer pra que essa bendita janela ao abrir inicie seu conteúdo no topo? Por que já tentei, mas não tenho tido sucesso.
Desde já mt obg!
No começo eu tinha um Viewport no scrollRect e um Content no Viewport.
O content as vezes não iniciava no topo da janela. Daí passei o RectTransform pro script da janela e o zero a posição dele quando a janele vai abrir. Só que isso só funcionava as vezes.
Então tirei o Viewport (que tinha o Mask) e coloquei o RectMask2D no mesmo objeto que contem o ScrollRect, mas dá no mesmo.
Alguém sabe oq fazer pra que essa bendita janela ao abrir inicie seu conteúdo no topo? Por que já tentei, mas não tenho tido sucesso.
Desde já mt obg!
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
Para que o conteúdo seja inicializado no topo da janela, você precisa definir a posição do conteúdo para (0, 0) antes de abrir o ScrollRect.
Envie umas imagens de como está o seu Scroll View.
Envie umas imagens de como está o seu Scroll View.
Magnatah- Instrutor
- PONTOS : 3547
REPUTAÇÃO : 209
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
Re: Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
Na verdade vc não precisa "desmontar" o scrollrect pra fazer funcionar.
Minha estrutura sempre é a padrão: Scroll rect >> ViewPort com a mask >> Content (normalmente possui um layout group, por exemplo, o vertical layout) >> conteúdos.
Pra vc sempre iniciar o scroll na posição do topo quando ativar o objeto, basta usar o seguinte código:
Aí é só colocar esse script no objeto q possui o scroll rect na cena.
Minha estrutura sempre é a padrão: Scroll rect >> ViewPort com a mask >> Content (normalmente possui um layout group, por exemplo, o vertical layout) >> conteúdos.
Pra vc sempre iniciar o scroll na posição do topo quando ativar o objeto, basta usar o seguinte código:
- Código:
using UnityEngine;
using UnityEngine.UI;
[RequireComponent(typeof(ScrollRect))]
public class ScrollPositionToTop : MonoBehaviour
{
private ScrollRect _scrollRect;
private void Awake()
{
_scrollRect = GetComponent<ScrollRect>();
}
private void OnEnable()
{
_scrollRect.normalizedPosition = Vector2.up;
}
}
Aí é só colocar esse script no objeto q possui o scroll rect na cena.
Re: Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
MayLeone escreveu:Na verdade vc não precisa "desmontar" o scrollrect pra fazer funcionar.
Minha estrutura sempre é a padrão: Scroll rect >> ViewPort com a mask >> Content (normalmente possui um layout group, por exemplo, o vertical layout) >> conteúdos.
Pra vc sempre iniciar o scroll na posição do topo quando ativar o objeto, basta usar o seguinte código:
- Código:
using UnityEngine;
using UnityEngine.UI;
[RequireComponent(typeof(ScrollRect))]
public class ScrollPositionToTop : MonoBehaviour
{
private ScrollRect _scrollRect;
private void Awake()
{
_scrollRect = GetComponent<ScrollRect>();
}
private void OnEnable()
{
_scrollRect.normalizedPosition = Vector2.up;
}
}
Aí é só colocar esse script no objeto q possui o scroll rect na cena.
Eu estava setando o "ScrollRect" a partir de outro script, dessa forma "scrollRect.verticalNormalizedPosition = 0;" mas não estava funcionando.
Coloquei seu Script, mas só ele também não funcionou. Só funcionou quando tirei o "Viewport", coloquei o "RectMask2D" no "ScrollRect" e coloquei o layout horizontal, pois com o vertical não funcionou kkkk vai entender!
Obg, foi seu script e o layout que funcionou!
Agora vê msm a resenha, tenho outras Janelas com o Scroll Rect da mesma forma que eu estava fazendo com essa Janela e as outras funcionam normalmente, inclusive umas com ou sem o "Viewport"
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
Obg Magnatah pela ajuda tambémMagnatah escreveu:Para que o conteúdo seja inicializado no topo da janela, você precisa definir a posição do conteúdo para (0, 0) antes de abrir o ScrollRect.
Envie umas imagens de como está o seu Scroll View.
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Re: Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
Editado..
Gente, seguinte
Parou de funcionar, mas aí fiz um Método pra ser chamado no Evento que conclui a abertura da janela. O Script está assim:
Agora foi! Mesmo se o jogador ficar clicando muito rápido no botão que abre essa janela, ela sempre volta a ficar no topo! Fica aí pra alguém que passar pelo mesmo problema!
Gente, seguinte
Parou de funcionar, mas aí fiz um Método pra ser chamado no Evento que conclui a abertura da janela. O Script está assim:
- Código:
public class ScrollRectComPosicaoNoTopo : MonoBehaviour {
public ScrollRect scrollRect;
public void eventoContentNoTopo() {
scrollRect.normalizedPosition = Vector2.up;
}
}
Agora foi! Mesmo se o jogador ficar clicando muito rápido no botão que abre essa janela, ela sempre volta a ficar no topo! Fica aí pra alguém que passar pelo mesmo problema!
WLCS22- MembroAvançado
- PONTOS : 1926
REPUTAÇÃO : 60
Respeito as regras :
Tópicos semelhantes
» Como aceder ao conteudo de uma lista noutro script unity
» Jogo se conectando ao play games toda vez que inicia o menu.
» Como fazer a câmera começar com uma visão do topo e seguir o player
» Sistema de Particulas não inicia com o jogo
» Cena Inicia Prefab Troca Para Outro
» Jogo se conectando ao play games toda vez que inicia o menu.
» Como fazer a câmera começar com uma visão do topo e seguir o player
» Sistema de Particulas não inicia com o jogo
» Cena Inicia Prefab Troca Para Outro
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos