blender3d.cz
http://forum.blender3d.cz/

problém
http://forum.blender3d.cz/viewtopic.php?f=7&t=6861
Stránka 11

Autor:  zgerbiak [ ned čer 14, 2009 4:16 pm ]
Předmět příspěvku: 

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()

Autor:  zgerbiak [ ned čer 14, 2009 6:46 pm ]
Předmět příspěvku: 

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ý.

Autor:  zgerbiak [ pon čer 15, 2009 10:47 am ]
Předmět příspěvku: 

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.

Autor:  zgerbiak [ pon čer 15, 2009 2:24 pm ]
Předmět příspěvku: 

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

Autor:  zgerbiak [ pon čer 15, 2009 3:09 pm ]
Předmět příspěvku: 

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 = ...

Autor:  zgerbiak [ pon čer 15, 2009 3:44 pm ]
Předmět příspěvku: 

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.

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/