Home Forum

Banner
Banner
Banner
Banner
Banner
Bem-Vindo, Visitante
Nome de Usuário Senha: Lembrar-me
Python & Plugins
  • Página:
  • 1

TÓPICO: Mouse [+clique]

Mouse [+clique] 1 ano, 5 mêses atrás #30266

Pessoal,

criei 2 objetos cubo na minha cena, cubo1 e cubo2. Habilitei o Rasterizer para aparecer a seta do mouse e na logica do cubo1 coloquei para caso exista um clique nele com o botão esquerdo, ele roda um script em python para fazer desaparecer o cubo2.

O meu problema é que eu clico em qualquer lugar da cena com o botão esquerdo e o cubo2 some.

Alguem sabe como eu faço para fazer sumir o cubo2, apenas qdo eu clico em cima do cubo1?

Re: Mouse [+clique] 1 ano, 5 mêses atrás #30271

Adiciona para esse mesmo controlador AND um sensor Mouse Over
assim ele só irá funcionar quando o mouse estiver sob o objeto e você clicar

Re: Mouse [+clique] 1 ano, 5 mêses atrás #30274

  • lzucarvalho
  • OFFLINE
  • Rendered
  • Só Jesus Pode te Salvar!
  • Postagens: 700
Bacana!
Viva da melhor forma possível todos os momentos da sua vida!

Re:Mouse [+clique] 1 ano, 5 mêses atrás #30292

o problema q eu nao consigo acrescentar um AND no controlador...eu faço assim, no sensor eu colocar pra caso eu exista um clique com o botao esquerdo e um outro sensor caso o mouse fique em cima, ai no controlador eu coloco na função python e no script eu coloca pra sumir outro cubo, os atores eu deixo sem nd....

o problema é q nao estou conseguindo colocar um AND no controler e ao msm tempo colocar um script em python pra executar.

vc sabe o q estou fazendo de errado?

Vlw pela ajuda

Re:Mouse [+clique] 1 ano, 5 mêses atrás #30294

  • Snake
  • OFFLINE
  • Moderador
  • Postagens: 321
E ai cara blz, bom eu fiz esse exemplo vê se ajuda, eu só não sei como acessar os atuadores de outro objeto se não for desse modo. Flw

Arquivo Anexo:

Nome do Arquivo: Arquivo.blend
Tamanho do Arquivo: 36538

Re:Mouse [+clique] 1 ano, 5 mêses atrás #30300

  • Rockadu
  • OFFLINE
  • GLSL shaded
  • Vamos na Luta em busca da Perfeição!
  • Postagens: 198
E pq vc num tenta fazer só na logic brinks, tipow:
CUBO1
Mouse over >
And > edit object = end Object 'cubo2'
Left button>

Re:Mouse [+clique] 1 ano, 5 mêses atrás #30343

Snake escreveu:
E ai cara blz, bom eu fiz esse exemplo vê se ajuda, eu só não sei como acessar os atuadores de outro objeto se não for desse modo. Flw

Arquivo Anexo:

Nome do Arquivo: Arquivo.blend
Tamanho do Arquivo: 36538


Snake, eu estou rodando o seu script, mas não faz nd...clico com o botão esquerdo e não faz nd...olhei na janela do blender e dá erro na linha 7 do script..

no seu pc rodou esse exemplo??

cara, vlw pela ajuda...

Re:Mouse [+clique] 1 ano, 5 mêses atrás #30346

  • Snake
  • OFFLINE
  • Moderador
  • Postagens: 321
Talvez o erro seja por causa de umas linhas de código que fiz que não era necessaria, mas mesmo assim tava funcionando. Eu refiz o código para as duas versoes do blender veja se funciona. Qual a versao do phyton vc esta usando, do blender tambem?

Arquivo Anexo:

Nome do Arquivo: Arquivos_Blend.zip
Tamanho do Arquivo: 81425

Re:Mouse [+clique] 1 ano, 5 mêses atrás #30389

Snake escreveu:
Talvez o erro seja por causa de umas linhas de código que fiz que não era necessaria, mas mesmo assim tava funcionando. Eu refiz o código para as duas versoes do blender veja se funciona. Qual a versao do phyton vc esta usando, do blender tambem?

Arquivo Anexo:

Nome do Arquivo: Arquivos_Blend.zip
Tamanho do Arquivo: 81425


To usando o python 2.5.2 e o blender acho q é o 248.1, não sei se isso é a versao...

O seu código não rodou Snake, porém eu dei uma olhada no seu código e procurei umas funções na api e consegui resolver..consegui fazer com que o clique num cubo faça outros 3 sumirem, porém se eles tiverem como invisivel, o codigo faz eles ficarem visible

vou postar aqui pra quem tiver dúvida poder copiar tb..

 
import GameLogic
 
cont = GameLogic.getCurrentController()
 
sensor = cont.getSensor("sensor")#sensor do mouse over
sensor1 = cont.getSensor("sensor1")#sensor do left mouse
invisivel = cont.getActuator("act")
 
cena = GameLogic.getCurrentScene()
objeto1 = cena.getObjectList()["OBCube.012"]
objeto2 = cena.getObjectList()["OBCube.010"]
objeto3 = cena.getObjectList()["OBCube.011"]
 
if sensor.isPositive() and sensor1.isPositive():
if objeto1.getVisible():
objeto1.setVisible(0)
objeto2.setVisible(0)
objeto3.setVisible(0)
else:
objeto1.setVisible(1)
objeto2.setVisible(1)
objeto3.setVisible(1)
 


Snake e o pessoal q ajudou muito obrigado,vlw msm pela ajuda...
  • Página:
  • 1
Tempo de criação da página: 0.43 segundos
Banner
Copyright © 2012 Blender Brasil - Design 3D | Jogos Open Source. Todos os direitos reservados.
Joomla! é um Software Livre com licença GNU/GPL v2.0.