Duvida UI button
2 participantes
Página 1 de 1
Duvida UI button
tenho uma duvida com o ui button
ele faz a ção se eu clicar nele
eu queria saber qual a configuração que posso fazer, para que a ção seja feita enquanto eu estiver pressionando o button, e quando eu para
de pressiona-lo a ação parar de ser feita, tipo o personagem andar, mais ou menos o getkey do teclado, ao invez de ser ketkeydown
ou se tiver como, me disser como poderia isso ser feito com o GUIButton tambem
ficaria muito grato, pois o guibutton tambem so funciona quando eu clico, não quando fico segurando o clique nele.
ele faz a ção se eu clicar nele
eu queria saber qual a configuração que posso fazer, para que a ção seja feita enquanto eu estiver pressionando o button, e quando eu para
de pressiona-lo a ação parar de ser feita, tipo o personagem andar, mais ou menos o getkey do teclado, ao invez de ser ketkeydown
ou se tiver como, me disser como poderia isso ser feito com o GUIButton tambem
ficaria muito grato, pois o guibutton tambem so funciona quando eu clico, não quando fico segurando o clique nele.
Édipo- MembroAvançado
- PONTOS : 4009
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: Duvida UI button
Cara, com UI não posso ajudar muito pois uso os velhos e vons GUIButtons...
más com GUI é facil, basta utilizar o comando GUI.RepeatButton
más eu não aconselho.... se o jogo for para android, que eu desconfio que seja, tente dar uma olhada neste tutorial:
https://www.schultzgames.com/t85-tutorial-mover-um-rigidbody-com-touch
Isso por que Botões só funcionam 1 por vez... se você pressionar 2 ao mesmo tempo, ele pegará o ponto médio entre eles, o que irá gerar problemas... então aconselho seguir este link
más com GUI é facil, basta utilizar o comando GUI.RepeatButton
más eu não aconselho.... se o jogo for para android, que eu desconfio que seja, tente dar uma olhada neste tutorial:
https://www.schultzgames.com/t85-tutorial-mover-um-rigidbody-com-touch
Isso por que Botões só funcionam 1 por vez... se você pressionar 2 ao mesmo tempo, ele pegará o ponto médio entre eles, o que irá gerar problemas... então aconselho seguir este link
Re: Duvida UI button
ta legal, mas esse link que vc me postou é para a tela direita toda ter um toque certo, a esquerda toda e talz, eu gostaria de colocar o toque especifico em um lugar, ou botão sendo no ui, pq como no button vc ja disse que não seria legal, mas o link foi sim de grande ajuda e sim, é para android mesmo, eu até consgui fazer os ui funcionarem, mas apenas o de ir pra frente e para traz que estão funcionando os da direita e esquerda não querem andar foda que no teclado vai mas nos ui não vai
Édipo- MembroAvançado
- PONTOS : 4009
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: Duvida UI button
Na verdade não é de área na tela... isso que eu linkei funciona da mesma maneira que um botão... você declara uma área de toque no Rect e ela servirá como detector dos toques, más com a vantagem de aceitar muitiplos ao mesmo tempo
Re: Duvida UI button
brigadão, vou testar aqui então e mais uma vez, muuuuito obrigado
Édipo- MembroAvançado
- PONTOS : 4009
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: Duvida UI button
acho que fui proibido de abrir novos topicos (ou esta bgado) então ah vc
ó guru do conhecimento, estou com mais uma duvida irmão
tipo em um jogo de navinha, como fazer para a nave não atravessar a borda da tela, independente da resolução do aparelho (smartphone)
eu estava tentando o seguinte como é feito com o guibutton....
posicaoX = Screen.width/2-(Screen.width/2);
testando apenas no eixo x né, para o movimento para a esquerda
ai quando eu colocava(suposição) apertasse o A a nave e a posição em x da nave fosse menor que a variável posicaoX andava para a esquerda, mas não passava do meio da tela =\
e nem com o diabo dava certo, tem algum outro modo de fazer ou era noobice minha mermo que tava colocando algo errado??
então seguinte
ja aproveitando o topico, tem algum tutorial de texura animda no unity, tipo o script eu ja tenho, mas eu quero fazer com que a textura rode somente uma vez, e não fique dando loop infinito :D
apenas caso aconteça uma ação ai ela toque, mas não fique em loop.
ó guru do conhecimento, estou com mais uma duvida irmão
tipo em um jogo de navinha, como fazer para a nave não atravessar a borda da tela, independente da resolução do aparelho (smartphone)
eu estava tentando o seguinte como é feito com o guibutton....
posicaoX = Screen.width/2-(Screen.width/2);
testando apenas no eixo x né, para o movimento para a esquerda
ai quando eu colocava(suposição) apertasse o A a nave e a posição em x da nave fosse menor que a variável posicaoX andava para a esquerda, mas não passava do meio da tela =\
e nem com o diabo dava certo, tem algum outro modo de fazer ou era noobice minha mermo que tava colocando algo errado??
então seguinte
ja aproveitando o topico, tem algum tutorial de texura animda no unity, tipo o script eu ja tenho, mas eu quero fazer com que a textura rode somente uma vez, e não fique dando loop infinito :D
apenas caso aconteça uma ação ai ela toque, mas não fique em loop.
Édipo- MembroAvançado
- PONTOS : 4009
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: Duvida UI button
Para você pegar a posição da tela é um pouco diferente... você tem que ter noção que você vai pegar a posição que a camera esta vendo, então você tem que usar funções especificas da camera, como screenPointToWorld, entre outras.
Quanto aos tópicos, certifique-se de ter tentado criar na área correta, como "dúvidas em geral" ou "pedidos de tutoriais"
Quanto aos tópicos, certifique-se de ter tentado criar na área correta, como "dúvidas em geral" ou "pedidos de tutoriais"
Re: Duvida UI button
quanto ao problema do canto da tela, vc tem algum tutorial que possa estar compartilhando???
e tambem quanto a tal outra duvida sobre a texturas animadas ^^
tem algo que possa compartilhar conosco, ó sábio guru do unity
e tambem quanto a tal outra duvida sobre a texturas animadas ^^
tem algo que possa compartilhar conosco, ó sábio guru do unity
Édipo- MembroAvançado
- PONTOS : 4009
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: Duvida UI button
Pior que eu não tenho nada sobre posicionamento de tela com o mundo
é uma dúvida que aparece puco para falar a verdade... Vou ter que elaborar algo.
diga, você está utilizando camera em modo ortographic?
Quanto a textura animada, basta fazer um for para percorrer todas as texturas, e chama-lo no start. facil. Se você postar o script que você tem eu ajeito ele :D
é uma dúvida que aparece puco para falar a verdade... Vou ter que elaborar algo.
diga, você está utilizando camera em modo ortographic?
Quanto a textura animada, basta fazer um for para percorrer todas as texturas, e chama-lo no start. facil. Se você postar o script que você tem eu ajeito ele :D
Re: Duvida UI button
sim sim é ortographico, pra falar a verdade até arrumei um script só que em c# que faz o que eu estou querendo, sou injuado com minhas coisas, e o script fica meio que tremendo de vez em quando, quando ele para no canto da tela e eu continuo a apertar para ir no sentido que esta o tal canto entende :D
fora que eu acho melhor mexer com js. por enquanto pois é o que eu mais "domino".
quanto ao script da textura animada tai embaixo
ta em ingles pq eu copiei de um forum e talz
var uvAnimationTileX = 8; //Here you can place the number of columns of your sheet.
//The above sheet has 24
var uvAnimationTileY = 8; //Here you can place the number of rows of your sheet.
//The above sheet has 1
var framesPerSecond = 20.0;
function Update () {
// Calculate index
var index : int = Time.time * framesPerSecond;
// repeat when exhausting all frames
index = index % (uvAnimationTileX * uvAnimationTileY);
// Size of every tile
var size = Vector2 (1.0 / uvAnimationTileX, 1.0 / uvAnimationTileY);
// split into horizontal and vertical index
var uIndex = index % uvAnimationTileX;
var vIndex = index / uvAnimationTileX;
// build offset
// v coordinate is the bottom of the image in opengl so we need to invert.
var offset = Vector2 (uIndex * size.x, 1.0 - size.y - vIndex * size.y);
renderer.material.SetTextureOffset ("_MainTex", offset);
renderer.material.SetTextureScale ("_MainTex", size);
//Destroy (gameObject,0.90);
}
fora que eu acho melhor mexer com js. por enquanto pois é o que eu mais "domino".
quanto ao script da textura animada tai embaixo
ta em ingles pq eu copiei de um forum e talz
var uvAnimationTileX = 8; //Here you can place the number of columns of your sheet.
//The above sheet has 24
var uvAnimationTileY = 8; //Here you can place the number of rows of your sheet.
//The above sheet has 1
var framesPerSecond = 20.0;
function Update () {
// Calculate index
var index : int = Time.time * framesPerSecond;
// repeat when exhausting all frames
index = index % (uvAnimationTileX * uvAnimationTileY);
// Size of every tile
var size = Vector2 (1.0 / uvAnimationTileX, 1.0 / uvAnimationTileY);
// split into horizontal and vertical index
var uIndex = index % uvAnimationTileX;
var vIndex = index / uvAnimationTileX;
// build offset
// v coordinate is the bottom of the image in opengl so we need to invert.
var offset = Vector2 (uIndex * size.x, 1.0 - size.y - vIndex * size.y);
renderer.material.SetTextureOffset ("_MainTex", offset);
renderer.material.SetTextureScale ("_MainTex", size);
//Destroy (gameObject,0.90);
}
Édipo- MembroAvançado
- PONTOS : 4009
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Re: Duvida UI button
Então, este seu script se não me engano é do proprio site da unity...
Más tem 1 problema... ele muda o offset de acordo com os frames. o que você poderia fazer é limitar o tempo para isso só acontecer durante 1 segundo ou algo parecido
- Código:
var uvAnimationTileX = 8;
var uvAnimationTileY = 8;
var framesPerSecond = 20.0;
function Update () {
var index : int = Time.time * framesPerSecond;
index = index % (uvAnimationTileX * uvAnimationTileY);
var size = Vector2 (1.0 / uvAnimationTileX, 1.0 / uvAnimationTileY);
var uIndex = index % uvAnimationTileX;
var vIndex = index / uvAnimationTileX;
var offset = Vector2 (uIndex * size.x, 1.0 - size.y - vIndex * size.y);
GetComponent.<Renderer>().material.SetTextureOffset ("_MainTex", offset);
GetComponent.<Renderer>().material.SetTextureScale ("_MainTex", size);
}
Más tem 1 problema... ele muda o offset de acordo com os frames. o que você poderia fazer é limitar o tempo para isso só acontecer durante 1 segundo ou algo parecido
Re: Duvida UI button
e como posso fazer isso?, adicionando uma variavel tempo e quando der mais de 1 segundo ele parar? der break?
precisa mais não cara, eu achei um aqui na net do jeito que eu queria, mas muito obrigado mesmo pelas ajudas que anda nos passando brother
até mais, e quando o jogo tiver pronto eu te mando uma copia de gratiz :D heheheh
precisa mais não cara, eu achei um aqui na net do jeito que eu queria, mas muito obrigado mesmo pelas ajudas que anda nos passando brother
até mais, e quando o jogo tiver pronto eu te mando uma copia de gratiz :D heheheh
Édipo- MembroAvançado
- PONTOS : 4009
REPUTAÇÃO : 62
Idade : 36
Respeito as regras :
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos