Bem-Vindo, Visitante
Nome de usuário: Senha:
Python

TÓPICO: Definir objeto na BGE

Definir objeto na BGE 12 Dez 2015 11:47 #148427

  • Apenas_um_jogo
  • Avatar de Apenas_um_jogo
  • Offline
  • GLSL shaded
  • Postagens: 284
  • Obrigados Recebidos: 21
  • Karma: 5
Olá galera, Gostaria de saber se dá para chamar um objeto na BGE via Python pela propriedade dele, tipo como um object.list mas definindo a lista de objetos pela propriedade. Quero calcular a distância de A a B de vários players e queria ver se dava para utilizar um só script para todos, então pensei que se definisse o nome do objeto pela propriedade daria certo, não sei se irá mas vou tentar, hehe, alguém sabe se dá para fazer isso e como fazer?
O administrador desabilitou o acesso público de escrita.

Definir objeto na BGE 27 Mar 2016 02:11 #149649

  • WulffGamers
  • Avatar de WulffGamers
  • Offline
  • Solid
  • Meus movimentos foram friamente calculados
  • Postagens: 25
  • Obrigados Recebidos: 8
  • Karma: 6
Sim, dá, mas não é viavel... Ai fica o codigo:

import bge
 
def getObjPerProperty(prop, value=None):
 
     scene = bge.logic.getCurrentScene()
     empty = []
 
     for obj in scene.objects:
          if prop in obj:
               if value==None:
                    empty.append(obj)
 
               else:
                    if obj[prop] == value:
                         empty.append(obj)
 
     return empty

Em fim, essa função vai retornar todos os objetos da cena que contenham a tal propriedade, e como um extra adicionei o valor, que se for None ele n considera a função, se for um valor, então ele vai verificar se o objeto tem a propriedade e se a propriedade tem o valor, é isso, abraços até mais..... fui.....
SincroB Desenvolvimento de Softwares

Meu Skype: Trustgames
Email: Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.
www.blender.com.br/index.php?option=com_...=50&Itemid=55#138308
O administrador desabilitou o acesso público de escrita.

Definir objeto na BGE 12 Mai 2016 09:45 #150227

  • Apenas_um_jogo
  • Avatar de Apenas_um_jogo
  • Offline
  • GLSL shaded
  • Postagens: 284
  • Obrigados Recebidos: 21
  • Karma: 5
WulffGamers, muito obrigado, consegui fazer o que eu queria, ficou faltando somente uma configuração no sistema karte corrida que criei mas nenhum bug, estacionei o projeto mas não parei, agrade desde já sua ajuda pois foi fundamental.

Obrigado.
O administrador desabilitou o acesso público de escrita.

Definir objeto na BGE 14 Mai 2016 11:40 #150239

  • Teres Productions
  • Avatar de Teres Productions
  • Offline
  • Shaded
  • Deus é Mais!!!
  • Postagens: 69
  • Obrigados Recebidos: 16
  • Karma: -27
Pra que criar uma função desse tamanho pra pegar os objetos com tal propriedade? Da pra fazer em 1 linha...

from bge import logic as g
scene = g.getCurrentScene()

objetos = [obj for obj in scene.objects if 'propName' in obj]
Why do they always send the poor?
O administrador desabilitou o acesso público de escrita.

Definir objeto na BGE 14 Mai 2016 17:05 #150245

  • WulffGamers
  • Avatar de WulffGamers
  • Offline
  • Solid
  • Meus movimentos foram friamente calculados
  • Postagens: 25
  • Obrigados Recebidos: 8
  • Karma: 6
Legal.... Sim dá para fazer em uma linha, mas ele quer aprender, nada melhor que correr e ir de linha em linha para entender como funciona Python, isso tudo ele descobre sozinho....
SincroB Desenvolvimento de Softwares

Meu Skype: Trustgames
Email: Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.
www.blender.com.br/index.php?option=com_...=50&Itemid=55#138308
O administrador desabilitou o acesso público de escrita.
Tempo para a criação da página:0.052 segundos