Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
Hoje à(s) 10:30 am Hoje à(s) 10:21 am Hoje à(s) 1:00 am Dom Jan 29, 2023 11:12 pm Sab Jan 28, 2023 8:41 pm Sab Jan 28, 2023 6:50 pm Sex Jan 27, 2023 8:52 pm Sex Jan 27, 2023 4:53 am Qui Jan 26, 2023 10:56 pm Dom Jan 22, 2023 11:53 am Dom Jan 22, 2023 3:33 am Sab Jan 21, 2023 3:27 pm Sab Jan 21, 2023 2:15 pm Sex Jan 20, 2023 6:51 pm Sex Jan 20, 2023 4:30 pm Sex Jan 20, 2023 2:15 pm Qua Jan 18, 2023 10:19 pm Qua Jan 18, 2023 9:47 am Ter Jan 17, 2023 10:52 pm Ter Jan 17, 2023 4:08 pm Ter Jan 17, 2023 2:45 pm Ter Jan 17, 2023 7:24 am Seg Jan 16, 2023 7:20 pm Seg Jan 16, 2023 12:18 pm Dom Jan 15, 2023 3:04 pm Dom Jan 15, 2023 3:02 pm Sab Jan 14, 2023 7:02 pm Sex Jan 13, 2023 8:29 am Qui Jan 12, 2023 5:15 am Qui Jan 12, 2023 2:31 am Qua Jan 11, 2023 1:33 pm Ter Jan 10, 2023 11:55 am Ter Jan 10, 2023 10:58 am Ter Jan 10, 2023 3:04 am Seg Jan 09, 2023 10:43 pm Seg Jan 09, 2023 6:30 am Seg Jan 09, 2023 3:18 am Seg Jan 09, 2023 2:32 am Dom Jan 08, 2023 10:39 pm Sab Jan 07, 2023 5:55 pm Sab Jan 07, 2023 4:01 pm Sab Jan 07, 2023 1:38 pm Sex Jan 06, 2023 9:15 am Sex Jan 06, 2023 7:51 am Sex Jan 06, 2023 6:33 am Qui Jan 05, 2023 5:27 pm Qui Jan 05, 2023 2:50 pm Qua Jan 04, 2023 3:07 pm Qua Jan 04, 2023 9:19 am Sab Dez 31, 2022 5:57 pm Sab Dez 31, 2022 4:38 pm Sab Dez 31, 2022 3:18 am Sex Dez 30, 2022 8:00 pm Qui Dez 29, 2022 6:44 pm Qui Dez 29, 2022 12:09 pm Qui Dez 29, 2022 12:02 pm Qua Dez 28, 2022 3:57 pm Qua Dez 28, 2022 8:40 am Ter Dez 27, 2022 8:41 pm Ter Dez 27, 2022 3:50 pm Seg Dez 26, 2022 11:15 pm Seg Dez 26, 2022 6:35 pm Seg Dez 26, 2022 5:41 pm Seg Dez 26, 2022 3:12 pm Seg Dez 26, 2022 3:06 pm Sab Dez 24, 2022 6:05 pm Sab Dez 24, 2022 3:12 pm Sab Dez 24, 2022 2:39 pm Qui Dez 22, 2022 3:47 pm Ter Dez 20, 2022 9:02 am Sex Dez 16, 2022 5:53 pm Sex Dez 16, 2022 10:58 am Qui Dez 15, 2022 6:58 pm Ter Dez 13, 2022 5:52 pm Seg Dez 12, 2022 10:04 pm Dom Dez 11, 2022 12:48 pm Sab Dez 10, 2022 9:29 pm Sex Dez 09, 2022 4:05 pm Sex Dez 09, 2022 8:14 am Seg Dez 05, 2022 12:05 am Sab Dez 03, 2022 11:59 pm Qui Dez 01, 2022 8:58 pm Qua Nov 30, 2022 7:42 pm Qua Nov 30, 2022 3:09 pm Ter Nov 29, 2022 11:52 pm Ter Nov 29, 2022 4:15 pm Seg Nov 28, 2022 9:13 am Sex Nov 25, 2022 11:59 am Qui Nov 24, 2022 11:07 pm Qui Nov 24, 2022 11:05 pm Qui Nov 24, 2022 10:33 pm Qua Nov 23, 2022 10:51 am Sab Nov 19, 2022 11:10 pm Qua Nov 16, 2022 8:08 pm Qua Nov 16, 2022 5:23 pm Qua Nov 16, 2022 5:20 pm Ter Nov 15, 2022 10:28 am Seg Nov 14, 2022 3:15 pm Seg Nov 14, 2022 2:19 pm
Boa tarde, encontrei esse script que implementa "drag and drop" para a Unity. Nesta página, adaptei o exemplo "ImageExemple.cs" para meu projeto. Porém venho tendo dificuldades com a detecção do ponto correto aonde a imagem é largada em cima da janela. No meu caso, criei um objeto vazio de UI apenas com um RecTransform e o script de drag and drop, mas não consigo fazer com que esse rect seja a representação correta do lugar aonde a imagem deve ser largada. Se eu largo o arquivo por cima dele na build, nada acontece, o ponto de detecção está totalmente errado e eu não estou conseguindo descobrir o que fazer para que ele considere a posição correta do rect em tela. Segue a minha versão adaptada do código de exemplo do autor (os Debug.LogError são para que eu consiga visualizar o que acontece na build, visto que o script não funciona via editor):
Código:
protected void LoadImage(DropInfo aInfo) { if (aInfo == null) { Debug.LogError("Information is null!!"); return; } Debug.LogError("Rect pos is " + dropRect.position); Debug.LogError("Rect transform pos is " + rectTransform.position); Debug.LogError("aInfo is " + aInfo.pos);
if (dropRect.Contains(aInfo.pos)) { var data = System.IO.File.ReadAllBytes(aInfo.file); var tex = new Texture2D(1, 1); tex.LoadImage(data); onTextureUpdate(tex); Debug.LogError("Information is valid, texture "+ tex+" loaded!"); } }
"aInfo" é atribuida conforme o exemplo, apenas trocando um vetor de texturas por uma textura só no método de chamada. "recTransform" é o recTransform do objeto vazio, que deve representar a zona de detecção correta, aonde a imagem deve ser largada. "dropRect" é a variável rect dentro de "rectTransform".
O teste em build, largando o arquivo por cima do rect correto retorna esses resultados:
A imagem só é devidamente recebida ao ser largada em um lugar incorreto (canto superior esquerdo da janela), retornando as seguintes coordenadas:
Enfim, já tentei pesquisar durante umas 2 horas e nada. Deve ser algo babaca, mas não sei mexer direito com coordenadas de UI em tela...
gabrimo
MembroAvançado
PONTOS : 1743 REPUTAÇÃO : 18 Idade : 29 Áreas de atuação : Modelagem, programação e um pouco de todo o resto!Respeito as regras :