hiperCorreio   

Debate hiperL

     
[Anterior] [Próxima] [Responder] [Sem Formatação] [Outros Debates] [Ver Listagem]
Re: [hiperl:605] colisão
Remetente: Fernando  Melgarejo  <fernando@hipernet.ufsc.br>
Data  de  Envio: 2001-06-16  11:42:30.000
Oi Diego

     Embora pareça que o ator está "sendo arrastado pelo mouse",
  a gente sabe que um ator é autônomo, e que na verdade é ele mesmo
  quem "vai atrás" do mouse, por livre e espontanea vontade, certo?
(aliás, isso acontece na vida das pessoas, tambem :-)

     Eu lembro isso pra gente perceber melhor o que acontece
nesse teu caso. Tipicamente, um ator arrastável instala um tratador
de estímulos para esperar eventos do tipo "mouse arrastando"
(pra que ele possa andarPara a mesma posição do mouse).

     Acontece que um mouse sendo arrastado gera um montão de estímulos...
     Então a todo momento o ator arrastável estará tratando esses estímulos.

     A gente sabe tambem que, se ele estiver ocupado tratando
um estímulo, ele não poderá realizar nenhuma outra atividade.
Assim, talvez no teu caso sejam poucas as chances de ele poder
emitir estímulos de colisão com alguem.

     Devem existir diversas maneiras de contornar essa situação.
Talvez uma delas seja forçar os outros atores a colidirem com ele
(já que ele está ocupado)...
    Mas eu tentaria primeiro diminuir o numero de estimulos que
estão monopolizando o nosso ator.
    Quem gera esses estímulos é o mouse sendo movido. E isso não
podemos eliminar, é automático.  Então lá vão duas sugestões...

    Uma sugestão seria ensurdecer o nosso ator de tempos em tempos
para esses estimulos do mouse arrastando. Talvez então ele ficasse
livre pra poder colidir.

    Outra sugestão seria usar um novo ator, um atravessador,
um falso mouse. O papel desse atravessador seria filtrar
os estímulos do mouse arrastando, deixando passar
apenas alguns.  O nosso ator então, ao invés de esperar
estímulos do tipo:
        [ 'mouse' 'mouse arrastando'  etc...]
ficaria esperando estímulos do tipo:
        [ 'falsoMouse' 'mouse arrastando'  etc...]

Por exemplo, veja esse modelito pra um falso mouse, que só passa
metade dos estímulos pra frente:

ator: falsoMouse
----------------------------------------------------------------------

   [ 'mouse' 'mouse arrastando'  numero lista ]
   [ 2 gerarAleatorio 0         [
         1 removerElemento  'falsoMouse' 1 Elemento
          'aplique' trocar dizer
        ]
      seNaoZero
   ]
sedito
----------------------------------------------------------------------

     Experimente alguma dessas sugestões, ver se funcionam
no seu caso, e conte pra gente...

abraço,
e bom domingo :-)

melga

At 15:09 15/6/2001 -0300, you wrote:
>Pessoal, estou tendo problemas com colisões.
>Resumidamente é o seguinte: eu coloquei um
>ator que segue o mouse. Aí tem vários atores
>espalhados pela tela. O mouse consegue
>arrastar esses atores, mas quando ele tá
>arrastando eu preciso que o sistema emita um
>estímula de colisão entre o ator que está
>sendo arrastado e algum ator espalhado pela
>tela, o que não está acontecendo... Alguém
>tem sugestão?
>
>
>__________________________________________________________________________
>Acesso pelo menor preço do mercado! R$ 14,90 nos 3 primeiros meses!
>ASSINE AGORA! http://www.bol.com.br/acessobol/
>
>
>
>----------------------------------------------------------
>Veja as mensagens desta lista em:
>http://debates.hipernet.ufsc.br/foruns/hiperL/debates/
>
>Para sair desta lista, envie mensagem vazia para:
>hiperL-unsubscribe@hipernet.ufsc.br


[Anterior] [Próxima] [Responder] [Início da Mensagem]