sexta-feira, 23 de julho de 2010

Movimentação do veículo

Wellington Moreira da Silva

Bom dia, hoje vou postar o script para a movimentação do carro.

def main():

controlador = GameLogic.getCurrentController()
carroID = ConstraintID(controlador)
freios = Freios(carroID, controlador)
Aceleracao( carroID, controlador, freios)
Virar(carroID, controlador)

def Freios(carroID, controlador):

re = controlador.sensors["MarchaRe"]
freio = controlador.sensors["Freio"]
if freio.positive == True and re.positive == False:
    FreioDianteiro = 10.0
    FreioTraseiro = 10.0
    freios = True
else:
    FreioDianteiro = 0.0
    FreioTraseiro = 0.0
    freios = False
    carroID.applyBraking( FreioDianteiro, 0)
    carroID.applyBraking( FreioDianteiro, 1)
    carroID.applyBraking( FreioTraseiro, 2)
    carroID.applyBraking( FreioTraseiro, 3)
return freios

def Aceleracao( carroID, controlador, freios):

frente = controlador.sensors["Frente"]
re = controlador.sensors["MarchaRe"]
if freios == True:
    aceleracao = 0.0
elif re.positive == True:
    aceleracao = 100.0
elif frente.positive == True:
    aceleracao = -200.0
else:
    aceleracao = 0.0
carroID.applyEngineForce( aceleracao, 0)
carroID.applyEngineForce( aceleracao, 1)
carroID.applyEngineForce( aceleracao, 2)
carroID.applyEngineForce( aceleracao, 3)

def Virar( carroID, controlador):

    virarEsquerda = controlador.sensors["Esquerda"]
    virarDireita = controlador.sensors["Direita"]
    if virarEsquerda.positive == True:
       carroID.setSteeringValue(0.4,0)
       carroID.setSteeringValue(0.4,1)
   elif virarDireita.positive == True:
       carroID.setSteeringValue(-0.4,0)
       carroID.setSteeringValue(-0.4,1)
   else:
   carroID.setSteeringValue(0.0,0)
   carroID.setSteeringValue(0.0,1)

def ConstraintID(controlador):

carro = controlador.owner
carroID = carro["carroID"]
return carroID

main()

Lembrando que os botões têm que ser definidos pelo editor lógico do Blender.
Até mais!

Nenhum comentário:

Postar um comentário