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
Qua Out 23, 2024 8:39 pm Sex Out 18, 2024 4:05 pm Dom Out 06, 2024 6:02 pm Sáb Out 05, 2024 6:37 am Qui Out 03, 2024 10:09 pm Seg Set 30, 2024 9:25 am Sáb Set 28, 2024 11:39 am Seg Set 09, 2024 7:33 am Dom Set 08, 2024 10:08 pm Ter Set 03, 2024 11:59 am Qua Ago 28, 2024 7:45 pm Qua Ago 28, 2024 7:18 pm Qua Ago 28, 2024 8:34 am Dom Ago 25, 2024 8:37 pm Sáb Ago 24, 2024 1:58 pm Sex Ago 23, 2024 3:30 pm Sex Ago 23, 2024 3:23 pm Qua Ago 21, 2024 5:48 pm Dom Ago 18, 2024 8:51 pm Sex Ago 16, 2024 12:59 pm Qua Ago 14, 2024 10:57 am Sáb Ago 10, 2024 8:03 pm Sex Ago 09, 2024 7:37 pm Dom Ago 04, 2024 4:41 pm Dom Ago 04, 2024 3:16 pm Qui Jul 25, 2024 2:48 pm Dom Jul 21, 2024 7:07 pm Dom Jul 21, 2024 12:07 am Sáb Jul 13, 2024 12:33 am Qui Jun 27, 2024 5:49 pm Qui Jun 20, 2024 12:30 pm Dom Jun 09, 2024 7:43 pm Dom Jun 09, 2024 2:16 pm Seg Jun 03, 2024 11:39 am Seg maio 27, 2024 12:45 pm Seg maio 20, 2024 9:01 pm Dom maio 19, 2024 3:08 pm Sáb maio 18, 2024 11:46 am Sáb maio 11, 2024 8:55 am Qui maio 09, 2024 11:33 pm Seg Abr 29, 2024 9:34 pm Qui Abr 25, 2024 3:34 pm Seg Abr 22, 2024 5:15 pm Seg Abr 15, 2024 12:23 pm Seg Abr 08, 2024 9:27 pm Seg Abr 08, 2024 8:01 am Sáb Abr 06, 2024 8:05 pm Qui Abr 04, 2024 11:34 pm Qui Abr 04, 2024 11:13 pm Sex Mar 22, 2024 2:41 pm Dom Mar 10, 2024 2:30 pm Sex Mar 01, 2024 1:27 pm Qui Fev 22, 2024 9:57 pm Ter Fev 20, 2024 12:15 am Seg Fev 19, 2024 1:06 pm Seg Fev 12, 2024 1:56 pm Seg Fev 12, 2024 1:17 pm Dom Fev 11, 2024 8:55 pm Dom Fev 11, 2024 11:16 am Seg Fev 05, 2024 4:18 pm Dom Fev 04, 2024 9:39 pm Qua Jan 31, 2024 11:59 pm Ter Jan 30, 2024 7:37 pm Ter Jan 23, 2024 6:33 pm Dom Jan 21, 2024 6:03 pm Sáb Jan 20, 2024 7:03 pm Sáb Jan 20, 2024 6:58 pm Sáb Jan 20, 2024 6:39 pm Sex Jan 19, 2024 8:40 am Dom Jan 14, 2024 5:30 pm Qua Jan 10, 2024 10:29 pm Qua Jan 10, 2024 8:55 pm Qua Jan 10, 2024 7:14 pm Ter Jan 09, 2024 3:55 pm Ter Jan 09, 2024 8:04 am Sáb Jan 06, 2024 8:02 pm Sex Jan 05, 2024 7:01 am Sex Jan 05, 2024 12:12 am Qui Jan 04, 2024 6:55 pm Qui Jan 04, 2024 12:52 pm Qui Jan 04, 2024 4:34 am Ter Jan 02, 2024 11:48 pm Dom Dez 31, 2023 7:25 pm Qua Dez 27, 2023 5:44 pm Qua Dez 27, 2023 3:08 pm Sáb Dez 23, 2023 7:27 pm Sáb Dez 23, 2023 5:06 pm Qui Dez 21, 2023 8:10 pm Seg Dez 18, 2023 2:04 pm Sex Dez 15, 2023 5:11 pm Qui Dez 14, 2023 9:13 pm Qui Dez 14, 2023 2:47 pm Qui Dez 14, 2023 1:48 pm Qua Dez 13, 2023 8:58 pm Ter Dez 12, 2023 2:32 pm Seg Dez 11, 2023 1:53 pm Qua Dez 06, 2023 8:13 pm Sáb Dez 02, 2023 8:06 pm Qui Nov 30, 2023 7:49 am
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 : 2414 REPUTAÇÃO : 22 Idade : 31 Áreas de atuação : Modelagem, programação e um pouco de todo o resto!Respeito as regras :