Panda3D/Manual/Carregar um model: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 23:
O caminho usado no loadModel deve seguir as convenções utilizadas pelo Panda3D. Para uma maior portabilidade, o Panda utiliza caminhos no estilo Unix, até mesmo no Microsoft windows. Isto significa que o caractere separador de diretórios é a barra (/), e não a contra-barra (\).
 
<pre>
<source lang=python>
#ERRADO
loader.loadModel("c:\\Arquivos de programas\\Meu jogo\\Modelos\\Modelo1.egg")
 
#CORRETO
 
loader.loadModel("/c/Arquivos de programas/Meu jogo/Modelos/Modelo1.egg")
</source>
 
#CORRETO
loader.loadModel("/c/Arquivos de programas/Meu jogo/Modelos/Modelo1.egg")
</pre>
 
O Panda usa uma classe '''Filename''' para armazenar os nomes de arquivos no estilo do Panda; muitas funções do Panda esperar por um objeto Filename como parâmetro. A classe Filename contém diversos métodos úteis para a manipulação de caminhos e acesso a arquivos, tanto quanto para converter entre os nomes de arquivo no estilo Windows e estilo Panda; veja a seção de Referência para uma lista mais completa.
Linha 37 ⟶ 35:
Para converter um nome de arquivo Windows num arquivo Panda, use algo similar ao código abaixo:
 
<pre>
<source lang=python>
from pandac.PandaModules import Filename
arquivoWindows = "c:\\meuJogo\\modelo1.egg"
arquivoPanda = Filename.fromOsSpecific(arquivoWindows)
print pandafile
</sourcepre>
 
 
Para converter um arquivo Panda num arquivo Windows, use este código:
 
<pre>
<source lang=python>
from pandac.PandaModules import Filename
arquivoPanda = "/c/meuJogo/modelo1.egg"
arquivoWindows = arquivoPanda.toOsSpecific()
print arquivoWindows
</sourcepre>
 
 
A classe Filename pode ser usada também em combinação com os mecanismos de manipulação de diretório do python. Vamos dizer, por exemplo, que você quer carregar um model, e o model está no diretório "modelos" que está no mesmo diretório do programa principal main.py. Você deve carregar o modelo desta forma:
 
<pre>
<source lang=python>
import sys, os
from pandac.PandaModules import Filename
 
#Pega o caminho do arquivo 'py' que eu estou rodando
meuDir = os.path.abspath(sys.path[0])
 
#Converte para a notação Panda
meuDir = Filename.fromOsSpecific(meuDir).getFullpath()
 
#Agora carrega o modelo
objeto = loader.loadModel(meuDir + "/models/meuModelo1.egg")
</sourcepre>