- Home /
Script Conversion JS to C#
Hello there, Small question, I am currently working on converting a script and have come across my last error. Just need a hand on converting it as I am unsure on how to do so.
var direction = transform.TransformDirection(Vector3(1,0,0));
The script is fine itself, I just do not know what I have to put instead of var.
Peace,
Answer by Senhor de todo o Mal · Feb 14, 2011 at 09:58 AM
In C# you just need the type and any access modifiers to declare a variable.
So in your case:
Vector3 direction = transform.TransformDirection(Vector3(1,0,0));
or:
public Vector3 direction = transform.TransformDirection(Vector3(1,0,0));
Also, before posting this kind of question always check the docs: http://unity3d.com/support/documentation/ScriptReference/index.Writing_Scripts_in_Csharp.html
http://www.unifycommunity.com/wiki/index.php?title=Programming
http://msdn.microsoft.com/en-us/library/ms173118(VS.80).aspx
Answer by jashan · Feb 14, 2011 at 09:59 AM
What you need to find out here is what kind of objects Transform.TransformDirection returns, which is documented in the scripting reference: Transform.TransformDirection(direction: Vector3) : Vector3
So ... it returns a Vector3, so this would be:
Vector3 direction = transform.TransformDirection(new Vector3(1,0,0));
... this is one of the reasons why I'm not too happy about the widespread idea that JavaScript is "good for beginners": Especially as beginner I'd really like to know what all these methods return - but the JavaScript examples won't show me.
Answer by johan-skold · Feb 14, 2011 at 11:17 AM
Since Unity3 updated the Mono version you can actually use the var keyword in C# too, as long as it's a local variable and not a class-field. This tells the compiler "make this variable the same type as whatever is on the right side of the equals sign."
That said, that line would still give you an error in C#, simply cause you need to explicitly specify you want a new Vector3 to send as parameter to TransformDirection.
var direction = transform.TransformDirection(new Vector3(1,0,0));
Your answer
Follow this Question
Related Questions
Create a vector between me and my enemy. 1 Answer
2d move to point script help 0 Answers
Why this script is not working? 1 Answer
Distance Variable Won't Change. What's Wrong With My Script? 1 Answer