30-10-2013, 10:17 AM
(29-10-2013, 10:29 PM)steve Ha scritto: Quell'errore succede perché il Vector3 origin è una struct: in C# non puoi modificare il valore di una struct, devi ricostruirla. In compenso le struct sono allocate nello stack, quindi sono più veloci.
Per fare quello che vuoi tu devi fare qualcosa di questo tipo:
Codice:Ray[] r = new Ray[5];
for(int i=0; i<5; i++) {
r[i] = firstRay;
}
r[1].origin += new Vector3(widthMargin*0.05f, 0.0f);
r[2].origin -= new Vector3(widthMargin*0.05f, 0.0f);
r[3].origin += new Vector3(0.0f, heightMargin*0.05f);
r[4].origin -= new Vector3(0.0f, heightMargin*0.05f);
PS.
Non conosco C# quindi non prendere per oro tutto ciò che ti dico, se non sei convinto di qualcosa chiedi ulteriori spiegazioni o approfondisci con google o sul tuo libro.
E' corretto... proprio ieri sera sono arrivato a scrivere la stessa cosa trovando su google che era necessario riassegnare con un vector3.
Ora funge tutto