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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Problema com window_set_cursor

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...
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Problema com window_set_cursor

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.
avatar
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Problema com window_set_cursor

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...
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Problema com window_set_cursor

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. ;)
avatar
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Problema com window_set_cursor

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...
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Problema com window_set_cursor

em Ter 14 Abr 2009, 13:12
Então esses botões não são objetos...
Isso so complica as coisas. Rolling Eyes
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

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

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: Problema com window_set_cursor

em Ter 14 Abr 2009, 13:38
coloca else if

e um ultimo else setando ele pro normal
avatar
Data de inscrição : 06/01/2009
Número de Mensagens : 69
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://www.neonerds.com.br

Re: Problema com window_set_cursor

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!!!
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