Problema com window_set_cursor

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

Problema com window_set_cursor

Mensagem por Borgo em Ter 14 Abr 2009, 09:01

Ohayoo gosaimasu!!!

Pessoal, estou tendo um problema com a função window_set_cursor.

Tenho um objeto principal, nomeado PC, no evento Begin step, inseri
Window_set_cursor(cr_default)
Já no step, existem algumas partes mapeadas da tela (como se fossem botões), ai, quando o mouse passa por cima, ele troca o mouse para cr_handpoint.

O problema é que, intermitentemente, o cursor fica “piscando”.
Geralmente eu faço isso com sprites e funciona...

Se eu colocasse assim por exemplo:
//um botao
if xmouse(função que criei que verifica se o mouse está dentro de um Box) = true{
window_set_cursor(cr_handpoint)
}else{
window_set_cursor(cr_default)
}
//outro botao… somente este irá prevalecer
if xmouse(função que criei que verifica se o mouse está dentro de um Box) = true{
window_set_cursor(cr_handpoint)
}else{
window_set_cursor(cr_default)
}


Isto não seria o ideal para mim pois existem vários “mapeamentos” na tela, logo, se ele estiver em cima de um botão, não estará em cima de outro, o programa irá alterar o cursor somente para o último mapeamento criado no script


Valeu pela ajuda!!
Não encontrei nada parecido no fórum...

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problema com window_set_cursor

Mensagem por Kabeção em Ter 14 Abr 2009, 12:39

Ao invez de checar um botão de cada vez, cheque todos de uma vez só.
Você pode criar um script que ve se o mouse esta sobre qualquer botão e coloca-lo no objeto principal. Ou só assim basta:

Código:
if xmouse(primeiro) || xmouse(segundo) || xmouse(terceiro)
{
    window_set_cursor(cr_handpoint)
}else{
    window_set_cursor(cr_default)
}

Como da pra ver, todos os botões são checados e se o mouse estiver sobre o primeiro, sobre o segundo ou sobre o terceiro window_set_cursor(cr_handpoint) é ativado, se não estiver sobre nem um botão window_set_cursor(cr_default) é ativado.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Problema com window_set_cursor

Mensagem por Borgo em Ter 14 Abr 2009, 12:51

Pensei nisto também, é que dá um pouco mais de trabalho pois existem digamos que... centenas de mapeamentos com loops for dentro de for scratch
Mas o jeito parece que é mesmo cirar um script só para isto... Eu acho estranho pois com sprites funcionam. Mas obrigado pela colaboração...

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problema com window_set_cursor

Mensagem por Kabeção em Ter 14 Abr 2009, 12:56

Você pode checar a colisão do mouse com um objeto parent.

Por exemplo, crie um objeto objColisaoBotao. Marque o parents de todos os botões nesse objeto. Ai ao invez de checar obj por obj, faça um "if xmouse(objColisaoBotao)" que valerá para todos. ;)

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Problema com window_set_cursor

Mensagem por Borgo em Ter 14 Abr 2009, 13:05

Vocês podem me chamar de louco, mas estou criando este app todo com um único objeto. What a Face
Na verdade ele já está pronto, são dois programas, um que cria provas e outro que responde as provas geradas pelo primeiro. O único problema que me deparei foi este...

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problema com window_set_cursor

Mensagem por Kabeção em Ter 14 Abr 2009, 13:12

Então esses botões não são objetos...
Isso so complica as coisas. Rolling Eyes

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Problema com window_set_cursor

Mensagem por Gusba em Ter 14 Abr 2009, 13:38

coloca else if

e um ultimo else setando ele pro normal

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Problema com window_set_cursor

Mensagem por Borgo em Ter 14 Abr 2009, 13:39

CONSEGUI!!!! cheers

Criei uma variavel chamada cursor, substitui nos scripts o windows_set_cursor(cr_handpoint) por cursor=1. uma coisa tão simples que fez a diferença...

inseri isso no end step
if cursor=1
window_set_cursor(cr_handpoint)

if cursor=0
window_set_cursor(cr_default)

cursor=0

no step, ele se inicia com cursor =0, no frame, após ter concluido todos os comandos, ele verifica se algo "gatilhou" o cursor (cursor = 1) se sim, altera, se não deixa como default e zera novamente o "gatinho" (cursor=0) para o próximo frame...

Galerinha. Valeu!!!

Borgo

Número de Mensagens : 69
Idade : 29
Data de inscrição : 06/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.neonerds.com.br

Voltar ao Topo Ir em baixo

Re: Problema com window_set_cursor

Mensagem por Conteúdo patrocinado Hoje à(s) 05:44


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