Právě je pát lis 22, 2024 10:46 pm

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 
Autor Zpráva
 Předmět příspěvku:
PříspěvekNapsal: ned čer 14, 2009 4:16 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Asi nejak takto.
Objekt má 2 premenne boolean load a save.
Pokiaľ chceš aby bol súbor prázdny po načítaní, tak tam stačí vytvoriť nový súbor s tým istým menom a uložiť.

Kód:
import cPickle

cont = GameLogic.getCurrentController()
own = cont.owner

if own.save:
   f = file("c://data.txt","w")
   cPickle.dump(own.getPosition(), f)
   f.close()
elif own.load:
   f = file("c://data.txt","r")
   own.setPosition(cPickle.load(f))
   f.close()


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: ned čer 14, 2009 6:46 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Pretože ten script nieje pre game engin.
Api pre game engin a pre normalne scripty sa líši.
Tu je api pre GE http://www.blender.org/documentation/24 ... index.html

Prístup k objektom je tiež iný.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: pon čer 15, 2009 10:47 am 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Tam nepíšeš cestu k scriptu, iba jeho meno.
Scriptz sa píšu v blendru a v game logics v controllery píšeš iba jeho meno.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: pon čer 15, 2009 2:24 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Kód:
cont = GameLogic.getCurrentController() #su to vlastne senzory a actuatory objektu na ktorom je ten script
own = cont.owner #own je objekt na ktorom je script, obsahuje premenne a tak

#ked  chces posunut objekt po Y osi o 3 tak:
poz = own.getPosition() # do poz sa ulozi pozicia objektu. je to pole [X,Y,Z]
poz[1] += 3.0 # Y+=3.0
own.setPosition(poz) #nastavi objektu novu poziciu


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: pon čer 15, 2009 3:09 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Skús to prepísať na own = cont.getOwner()
To bude fungovať.

Prístup k premenným máš napr:
pridáš si v logic premennu s nazvom cislo
a v scripte máš prístup k nej cez own, číže own.cislo = ...


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: pon čer 15, 2009 3:44 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Ku všetkým objektom v scéne sa dostaneš:

objectlist = GL.getCurrentScene().getObjectList()

Pozri si toto:
http://www.blender.org/documentation/24 ... class.html

Edit: prvý link bol zlý, tento je už správny.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 11 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz