Ciao...ho iniziato ad usare blender da poco e mi sto cimentando nello sviluppo di un giochino semplice.
Il mio problema consiste nel costruire uno score manager.
Semplicemente ho messo 10 monete , una sfera(actor) e un cubo (nel quale tengo la logica dello score manager) all'interno di una scena.
Ogni volta che la sfera collide con una moneta, la moneta invia un messaggio tramite l'actuator al cubo. Il cubo ha una proprietà numeroMoneta inizializzata a 10.
Ogni volta che arriva un messaggio non faccio altro che intercettarlo e, con un semplice script, diminuire il valore della proprietà di UNA unità fino a quando non è == 0 (HO RACCOLTO TUTTE LE MONETE).
Ora il problema è che ogni volta che la moneta invia un messaggio, il cubo decrementa il valore della proprietà di 2 e non di uno come gli ho chiesto, questo perchè , guardando dalla shell, lo script viene eseguito 2 volte. PERCHE'?????
Se runno lo script con un ide python funziona tutto correttamente.
Cosa fa , al suo interno , il motore?
OSS: anche con una semplice print "ciao" come script, eseguita lanciando una scena vuota(tasto P dalla vista 3D), mi si presenta lo stesso problema....ciao viene stampato a video 2 volte e non una. Ancora se eseguo il run da Text->Run Python Script il risultato è corretto ::1 SOLA STAMPA A VIDEO!!!!!(come logica vuole).
Ciao,
L.