Creare Videogiochi - Game Developer

Versione completa: script base per movimento
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
[Immagine: tvkf.jpg]
Questo è il mio primo javascript in unity,l ho copiato da un video tutorial,
Dove sbaglio?dovrebbe far muovere avanti e indietro e ruotare un oggetto tramite le frecce dells tastiera.
A me nn si muove e dà l errore sul comando "transform" solo quando testo il gioco.Se volete sapere qualcos altro che non ho scritto ditemelo Tongue
Posta precisamente l errore che ti da e magari il codice in un modo piu leggibile Smile sto studiando il c# vediamo se posso aiutarti

EDIT:
L errore è nella 6 riga ce ne sono 2 il primo è "transform.Rotate" rotate deve essere con la "R" maiuscola e sempre nella stessa righa lalla fine non e "rotationSpeed" ma "rotateSpeed"
Grazie per la risposta Wink il codice in maniera "garbata è questo" :

[Immagine: lk0w.jpg]


Così com'è da errore solo quando si avvia il "gioco".il personaggio non si muove e l errore è questo:

[Immagine: c2kz.jpg]


Se faccio la modifica che mi suggerivi non me lo fa più "provare" e mi da questo errore:

[Immagine: m2v0.jpg]

che mi suggerite ora? Non so davvero che fare Tongue
P.S: nella mia pratica con altri linguaggi sapevo che non importa il nome della variabile,l importante è che non cambi durante il programma quindi pensavo che o "rotateSpeed" o "rotationSpeed" l importante è che lo scrivo sempre uguale,sbaglio? Big Grin
transform.Rotate devi scrivere la t minuscula cosi ora non sono un programmatore pero transform.Rotate non è una variabile penso sia una classe di default dello unity3d quindi se scrivi diversamente non va....mentre scrivi transform. ti esce una lista dei metodi che puoi aggiungere e qui ce rotate mentre se scrivi Transform. qua rotate non ce perché evidentemente sono 2 cose diverse....

Spero di non aver scritto cose non vere pero il fatto della t minuscola e come ti dico Wink


Ps. per la variabile rotation hai ragione era una mia svista scusa xD

EDIT:
se noti bene il codice ti avvisa che non hai scritto bene guarda Transform.Rotate è blu solo Tranform mentre .Rotate no perché non fa parte di quella classe(penso sia una classe)
Grazie Wil,le tue osservazioni sono giustissime,infatti ora riesco a far ruotare il personaggio ma mi da un altro errore su "transform.Direction"
L ho provato a scrivere come l altro in modo da far uscire il suggerimento della classe ma questa volta non c è.Ora il codice e l errore sono questi:

[Immagine: xpey.jpg]

Ci siamo quasi Big GrinBig GrinBig Grin
dovrebbe essere cosi Wink
transform.TransformDirection(Vector3.forward);

Oppure come hai scritto tu pero hai sbagliato a scrivere forward Wink
Grazie Wil,ora lo script funziona Big GrinBig GrinBig Grin stranamente il primo è "forword"
mentre il secondo è "forward" come suggerivi tu.Grazie mille.
Giusto perchè potrebbe servire ad altri aggiungo il codice corretto in Javascript :

[Immagine: va9g.jpg]
Figurati Big Grin comunque anche nella riga 10 hai sbagliato a scrivere forward
Ahahah vero Tongue brutta ora per lavorare l una di notte Smile Comunque nel caso del primo "forward" del rigo 8 è il nome variabile che deve essere uguale anche al 10.Che sia "forward"/"forword" o qualsiasi altro nome l importante è che coincida nei 2 righi.
P.S:Riflettendoci credo che l errore nello script originale era voluto per distinguere la variabile dal nome di una funzione di unity(secondo "forward" rigo 8).
forward è una variabile statica del Vector3 http://docs.unity3d.com/Documentation/Sc...ctor3.html se scrivi una variabile diversa non viene riconosciuta primo perchè la variabile non è stata dichiarata è poi perché nel metodo/classe o come si chiama il Vector3 non esiste tipo per esempio nel tuo caso forword Smile