Re:Rilevare la Velocità 

#177687

ccddxxff
Partecipante
  • Blenderista
  • Post sul forum 103

è proprio come ha detto Lell.

ad esempio

method get owner is deprecated, use the owner property

è perchè hai .getOwner() nel tuo codice e lui vuole solo .owner e così via.

ma questi non sono errori. sono solo avvisi. cioè il codice va in esecuzione e non da problemi.

se poi non da il risultato che vuoi tu è un’altro conto. c’èforse qualcosa che non hai impostato bene.

fai così: aggiunge un oggetto cube din nome ‘Cube’ vai nel logic panel, alle property fai add e chiamala Speed, setti int, 0, e attivi il pulsante D.

ora vai sopra dove hai il menù file add ecc e dal menù a tendina game attivi una cosa del tipo show debug property.

ora ritorni nel logic panel e al cubo aggiungi un sensore alwys con i il pulsante coi tre puntini in alto attivo, un controller python dove li metti questo codice, manda in esecuzione con P e in alto a sinistra vedi una scritta bianca, e quella è la tua velocità  che si incrementa. io personalmente non l’ho provato il codice. ma dovrebbe andare.

import GameLogic as G

scene = G.getCurrentScene()

oggetto=scene.objects[‘OBCube’]

max=200

vel=oggetto[‘Speed’]

if vel
vel=vel+1

oggetto[‘Speed’]=vel

[code]

ora al cubo li dai la forma di una lancetta, li crei un’altro sensore always attivato sempre i 3 puntini in alto, un controller AND e un attuatore ipo impostato non a play ma a property e accanto alla voce property poco più sotto li scrivi Speed.

poi ti sposti al frame 1 nella 3d view premi i -> rot, poi ti sposti al frame 200, ruoti la lancetta di quanto vuoi e ripremi i->rot

manda tutto in esecuzione e vedi.[code]

import GameLogic as G

scene = G.getCurrentScene()

oggetto=scene.objects

max=200

vel=oggetto

if vel
vel=vel+1

oggetto=vel

[code]

ora al cubo li dai la forma di una lancetta, li crei un’altro sensore always attivato sempre i 3 puntini in alto, un controller AND e un attuatore ipo impostato non a play ma a property e accanto alla voce property poco più sotto li scrivi Speed.

poi ti sposti al frame 1 nella 3d view premi i -> rot, poi ti sposti al frame 200, ruoti la lancetta di quanto vuoi e ripremi i->rot

manda tutto in esecuzione e vedi.