Sto lavorando a un gioco che controlli un trabucco per lanciare palle all'avversario.
È come un gioco chiamato "Assedio medievale". Quando il trabucco oscilla il braccio, il giocatore deve cogliere il momento migliore per premere il pulsante e rilasciare la palla. Quindi la palla volerà all'angolo tangente. Il mio problema in questo momento è che il braccio del trabucco oscilla troppo velocemente perché il giocatore possa cogliere l'attimo giusto. Nel frattempo deve essere così veloce, altrimenti non può lanciare abbastanza lontano. E c'è una minuscola corda che collega la palla e il braccio del trabucco, se il braccio oscilla troppo lentamente, la palla è appesa alla corda quando il braccio si muove.
Risolvo il problema commutando la dimensione del gradino, ogni volta che il braccio oscilla, cambio la dimensione del gradino da 1/60 a 1/200. E una volta che il giocatore rilascia la palla, torna a 1/60.
Funziona abbastanza bene, tranne per il fatto che il mio gioco è multiplayer con rete. Quindi cambiare passaggio può causare problemi.
Un'altra soluzione che mi viene in mente è quella di permettergli di oscillare lentamente, ma quando il giocatore rilascia la palla, aggiungo manualmente velocità sulla palla mantenendo la sua direzione. Non mi piace molto questa soluzione perché sembra falsa e ho ancora il problema che la palla sia semplicemente appesa alla corda, a meno che non crei una corda molto corta.
Per favore, fai luce su questo, grazie!
MODIFICARE
Grazie per l'input di tutti, risolvo il problema facendo rallentare il braccio e quando il giocatore rilascia la palla, afferrare la velocità della palla e due volte. Sembra esattamente come cambiare la dimensione del passo. C'è solo un'altra cosa che devo fare. Poiché il braccio oscilla molto lentamente, la palla è semplicemente appesa all'estremità del braccio anziché oscillare. Ho risolto questo applicando una forza uguale alla forza gravitazionale sulla palla durante e solo durante il periodo di oscillazione. Quindi non pende più lì, ma oscilla insieme al braccio.
La risposta di @MrCranky è dettagliata e sembra fattibile, quindi la accetterei. :)