Conectar-se
Quem está conectado
27 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 27 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 15

Prêmios
   : 0
   : 1
   : 1
Ver perfil do usuário

[Android]Deslizar view no exio y.

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.
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 13/10/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://bigleafeater.tumblr.com/

Re: [Android]Deslizar view no exio y.

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)
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 25/02/2012
Número de Mensagens : 359
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 15

Prêmios
   : 0
   : 1
   : 1
Ver perfil do usuário

Re: [Android]Deslizar view no exio y.

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
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 13/10/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://bigleafeater.tumblr.com/

Re: [Android]Deslizar view no exio y.

em Qui 03 Jul 2014, 14:40
Reputação da mensagem: 100% (1 votos)
Ainda bem, é que eu tinha feito um sisteminha sem testar. Quando cheguei em casa tava tudo bugado. ;p
avatar
Data de inscrição : 30/10/2013
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [Android]Deslizar view no exio y.

em Sex 04 Jul 2014, 11:38
Noooo.quanto tempo eu tava querendo fazer isso...Deu certim VAleu...
avatar
Data de inscrição : 30/10/2013
Número de Mensagens : 48
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [Android]Deslizar view no exio y.

em Sex 04 Jul 2014, 19:18
Como que eu faco para limitar o movimento da view?
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 13/10/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://bigleafeater.tumblr.com/

Re: [Android]Deslizar view no exio y.

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.
Data de inscrição : 29/05/2012
Número de Mensagens : 929
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 33
Ver perfil do usuário

Re: [Android]Deslizar view no exio y.

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
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 13/10/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://bigleafeater.tumblr.com/

Re: [Android]Deslizar view no exio y.

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)
Data de inscrição : 29/05/2012
Número de Mensagens : 929
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 33
Ver perfil do usuário

Re: [Android]Deslizar view no exio y.

em Dom 06 Jul 2014, 14:27
ta funcionando certinho vlw mesmo !!!  cheers 
avatar
Data de inscrição : 03/11/2014
Número de Mensagens : 31
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [Android]Deslizar view no exio y.

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.
}
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 09/05/2013
Número de Mensagens : 821
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 105
Ver perfil do usuário

Re: [Android]Deslizar view no exio y.

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.
Data de inscrição : 29/05/2012
Número de Mensagens : 929
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 33
Ver perfil do usuário

Re: [Android]Deslizar view no exio y.

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
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 13/10/2011
Número de Mensagens : 106
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://bigleafeater.tumblr.com/

Re: [Android]Deslizar view no exio y.

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!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum