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

pohyb
http://forum.blender3d.cz/viewtopic.php?f=11&t=2099
Stránka 11

Autor:  kracho [ ned pro 18, 2005 1:52 am ]
Předmět příspěvku:  pohyb

Neviete ci sa da nejak jednoducho zistit, ci sa objekt prestal pohybovat? dik

Autor:  zgerbiak [ ned pro 18, 2005 2:36 pm ]
Předmět příspěvku: 

No. Ak ma zapnutu dynemiku tak myslim ze sa neprestane pohybovat :wink: a ak, tak po velmi dlhej chvili.
Ja som to robil cez porovnavanie pozicie zapisanej pred tym a teraz...
samozrejme to bolo v tolerancii.
Toto som robil pre biliard hru, este neni hotova :lol:
Kód:
cont = GameLogic.getCurrentController()
own = cont.getOwner()

#pocitanie tolerancie pre os x z predchodzej pozicie
x0 = own.pozx - 0.003
x1 = own.pozx + 0.003

pocitanie tolerancie pre os y z predchodzej pozicie
y0 = own.pozy - 0.003
y1 = own.pozy + 0.003

x = 0
y = 0

#zistenie ci ej terajsia pozicia v tolerancii
if GameLogic.go == 1:
   if own.getPosition()[0] >= x0:
      if own.getPosition()[0] <= x1:
         x = 1
   if own.getPosition()[1] >= y0:
      if own.getPosition()[1] <= y1:
         y = 1
#ak je os x, y v tolerancii objekt zo zoznamu sa rovna nule, cize stoji
if x == 1, y == 1:
   GameLogic.zoznam[own.farba] = 0
#zapisanie terajsej pozicie pre dalsi vypocet, kde sa pouzije ako predchodza pozicia.
own.pozx = own.getPosition()[0]
own.pozy = own.getPosition()[1]


objektu treba pridat premenne typu float "pozx" a "pozy"
Ak to chces aj v tretej osi tak dufam ze ju budes vediet dosadit aj sam.

Ak niekto vie o lepsom spôsobe nech napise. Budem rad. :D

Autor:  kracho [ pon pro 19, 2005 12:23 am ]
Předmět příspěvku: 

skor ma zaujimalo ci neexistuje jednoduchsi sposob. Skript samozrejme nie je problem napisat, ale diky aj za to.

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