[Android]Deslizar view no exio y.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Android]Deslizar view no exio y.

Mensagem por GabrielXavier em Qui 03 Jul 2014, 00:30

E ai galera é o seguinte

Desenvolvendo um aplicativo para android preciso daquele movimento de arrastar a view no eixo Y para cima e para baixo ao deslizar o dedo pela tela, a view seguir o dedo enquanto precionado o dedo na tela e caso arrastar e soltar com uma certa velocidade a view deslizar um pouco e parar logo em siguida como nos outros aplicativos mesmo, não sei como fazer, se eu pegar para fazer consigo, mas não to podendo perder tempo com isso agora, estou ocupado em outra parte do projeto, e criei o topico por que creio que ja tem isso pronto so que pesquisei no forum e pesquisei no google e não enconttrei então se alguem possuir o script ou puder me dar uma mão fico muito grato, vai adiantar muito meu trabalho.

Abraços.

GabrielXavier

Ranking : Nota A
Número de Mensagens : 359
Data de inscrição : 25/02/2012
Notas recebidas : A
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Thomaz em Qui 03 Jul 2014, 09:20

Até que em fim.

Foi mal ter postado Duas - Três vezes o que você não pediu! XD


Create Event:

   forca = 0;

Step Event:

if mouse_check_button_pressed(mb_left){
   _py = mouse_y;
}

if mouse_check_button(mb_left){
   forca = _py - mouse_y;
}

if mouse_check_button_released(mb_left){
   if abs(forca) < 30{forca = 0;}//Para se a forca for menor que tantos píxeis parar sem o "slide".
}
if forca != 0{
   view_yview += forca;
   forca*= 0.97;//Isso aqui é tipo o atrito... Muda pra algum número     mágico que te agrade.
}


if view_yview > YMAXIMO{
view_yview = YMAXIMO;//Substitua ymaximo por um valor qualquer. Tipo (room_height - view_hview) ou quanto você quiser.
}


Última edição por Thomaz em Dom 06 Jul 2014, 12:52, editado 2 vez(es)

Thomaz

Ranking : Nota A
Número de Mensagens : 106
Idade : 21
Data de inscrição : 13/10/2011
Notas recebidas : A
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://bigleafeater.tumblr.com/

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por GabrielXavier em Qui 03 Jul 2014, 12:31

Hehe era isso mesmo que eu procurava, nem vi que você tinha postado outra coisa entrei no forum so agora kkk
Valew dms  Laughing 

Topico resolvido

GabrielXavier

Ranking : Nota A
Número de Mensagens : 359
Data de inscrição : 25/02/2012
Notas recebidas : A
Reputação : 15
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Thomaz em Qui 03 Jul 2014, 14:40

Ainda bem, é que eu tinha feito um sisteminha sem testar. Quando cheguei em casa tava tudo bugado. ;p

Thomaz

Ranking : Nota A
Número de Mensagens : 106
Idade : 21
Data de inscrição : 13/10/2011
Notas recebidas : A
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://bigleafeater.tumblr.com/

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por reivin em Sex 04 Jul 2014, 11:38

Noooo.quanto tempo eu tava querendo fazer isso...Deu certim VAleu...

reivin

Número de Mensagens : 48
Data de inscrição : 30/10/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por reivin em Sex 04 Jul 2014, 19:18

Como que eu faco para limitar o movimento da view?

reivin

Número de Mensagens : 48
Data de inscrição : 30/10/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Thomaz em Sex 04 Jul 2014, 21:00

Double post. Próxima vez, edita pra não ficar lotado com posts só seus Happy


Devidamente editado o código pra ter um máximo. Tente limitar sempre por room_height - view_hview. Que vai dar um efeito legal pra que a tela nunca avance mais que o tamanho da room.

Thomaz

Ranking : Nota A
Número de Mensagens : 106
Idade : 21
Data de inscrição : 13/10/2011
Notas recebidas : A
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://bigleafeater.tumblr.com/

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Gonzo em Dom 06 Jul 2014, 12:41

Thomaz não consigo limitar os limits da room ela fica girando e se repetindo da uma mão aew rss

if view_yview > YMAXIMO{
y = YMAXIMO;//Substitua ymaximo por um valor qualquer. Tipo (room_height - view_hview) ou quanto você quiser.
}
??????
vlw

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Thomaz em Dom 06 Jul 2014, 12:51

Ymáximo é uma variável que você poe usar pra limitar o valor pra qualquer região.

Sendo mais direto e entregando o código na sua cara Happy:

if view_yview > (room_height - view_hview){
view_yview = (room_height - view_hview);
}

EDIT:
if view_yview < 0{
view_yview = 0;
}


Última edição por Thomaz em Dom 06 Jul 2014, 20:11, editado 1 vez(es)

Thomaz

Ranking : Nota A
Número de Mensagens : 106
Idade : 21
Data de inscrição : 13/10/2011
Notas recebidas : A
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://bigleafeater.tumblr.com/

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Gonzo em Dom 06 Jul 2014, 14:27

ta funcionando certinho vlw mesmo !!!  cheers 

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por marcossfc em Sab 08 Nov 2014, 10:34

Esses códigos não funcionou no game maker studio, tem como me ajudar?

Thomaz escreveu:Até que em fim.

Foi mal ter postado Duas - Três vezes o que você não pediu! XD


Create Event:

   forca = 0;

Step Event:

if mouse_check_button_pressed(mb_left){
   _py = mouse_y;
}

if mouse_check_button(mb_left){
   forca = _py - mouse_y;
}

if mouse_check_button_released(mb_left){
   if abs(forca) < 30{forca = 0;}//Para se a forca for menor que tantos píxeis parar sem o "slide".
}
if forca != 0{
   view_yview += forca;
   forca*= 0.97;//Isso aqui é tipo o atrito... Muda pra algum número     mágico que te agrade.
}


if view_yview > YMAXIMO{
view_yview = YMAXIMO;//Substitua ymaximo por um valor qualquer. Tipo (room_height - view_hview) ou quanto você quiser.
}

marcossfc

Número de Mensagens : 31
Data de inscrição : 03/11/2014
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por WellingtonBecker em Sab 08 Nov 2014, 10:55

marcossfc escreveu:Esses códigos não funcionou no game maker studio, tem como me ajudar?

Thomaz escreveu:Até que em fim.

Foi mal ter postado Duas - Três vezes o que você não pediu! XD


Create Event:

   forca = 0;

Step Event:

if mouse_check_button_pressed(mb_left){
   _py = mouse_y;
}

if mouse_check_button(mb_left){
   forca = _py - mouse_y;
}

if mouse_check_button_released(mb_left){
   if abs(forca) < 30{forca = 0;}//Para se a forca for menor que tantos píxeis parar sem o "slide".
}
if forca != 0{
   view_yview += forca;
   forca*= 0.97;//Isso aqui é tipo o atrito... Muda pra algum número     mágico que te agrade.
}


if view_yview > YMAXIMO{
view_yview = YMAXIMO;//Substitua ymaximo por um valor qualquer. Tipo (room_height - view_hview) ou quanto você quiser.
}

Como assim não funcionou? Já testei aqui e funciona certinho.

WellingtonBecker

Ranking : Nota D
Número de Mensagens : 820
Idade : 35
Data de inscrição : 09/05/2013
Notas recebidas : D
Reputação : 105
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Gonzo em Sab 08 Nov 2014, 21:06

Thomaz como que faz pra dar zoom limitado pra não passar de um certo tamanho e quando voltar ao tamanho original não diminuir alem do seu tamanho de inicial?

vlw

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Thomaz em Seg 17 Nov 2014, 16:44

Eu não estudei como fazer multi touch no game maker, então não tem como dizer precisamente como você faria. (Na verdade eu provavelmente nunca mais vou fazer um jogo de android/celulares na minha vida. É muita dor de cabeça)


Mas a lógica é bem simples (eu vou usar o scroll do mouse como parâmetro. Infelizmente não é possível que eu estude o multi touch agora...).

A view possui uma largura e uma altura. São elas:

view_wview: Largura;
view_hview: Altura;

Para eu modificar o tamanho da view sem ficar estranho ou esticado, só preciso fazer com que ele aumente ou diminua os dois de maneira meio que igualitária.
Por isso eu vou usar um multiplicante, onde, qualquer que seja o tamanho da view, eu multiplico por esse tamanho e vai me dar o tamanho que eu quiser para os dois valores (Altura e largura - no caso: altura*multiplicante e largura*multiplicante).


Tudo que você tem que fazer é ter um objeto câmera e fazer o seguinte:

Create:

largura = view_wview;
altura = view_hview;
multiplicante = 1;
velocidade = 0;

//aqui são os limites da view. ela vai da metade ao dobro do tamanho inicial da view. Pode mexer nesses valores. Só não recomendo que ponha o limite mínimo para algum valor menor ou igual que zero, pois vai dar erro.
limitemin = 0.5;
limitemax = 2;


Step:

//você pode mudar a velocidade se não tiver ficado bom; - Eu não pude testar.
if mouse_wheel_down(){velocidade+=1;}
if mouse_wheel_up(){velocidade-=1;}


//Aqui estaremos mudando o multiplicante para depois mudar o tamanho da view;
multiplicante += velocidade;

//Agora coloca o multiplicante entre o limite mínimo e o limite máximo;

if multiplicante <= limitemin{multiplicante = limitemin;}
if multiplicante >= limitemax{multiplicante = limitemax;}

//Isso também é tipo o atrito da velocidade, para dar aquele efeito de que ele vai diminuindo a velocidade de zoom aos poucos, ao invés de ser aquela coisa travadona.
velocidade*= 0.97;

//Para finalizar, que se faça o zoom;
view_wview = largura*multiplicante;
view_hview = altura*multiplicante;


Ta aí. O efeito com toda certeza está estranho... Brinque um pouco com os valores e veja o que você consegue fazer. A lógica é exatamente essa, mas os valores provavelmente estão errados pacas. Infelizmente, onde eu estou eu não posso abrir o GMS para testar!

Thomaz

Ranking : Nota A
Número de Mensagens : 106
Idade : 21
Data de inscrição : 13/10/2011
Notas recebidas : A
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://bigleafeater.tumblr.com/

Voltar ao Topo Ir em baixo

Re: [Android]Deslizar view no exio y.

Mensagem por Conteúdo patrocinado Hoje à(s) 17:48


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum