- Home /
Unity iPhone and Unity Desktop Scripting Differences
I was developing a game in Unity Basic but recently purchased Unity iPhone Basic to release the game on the iPad. Everything seems to look ok, except I am having a few weird script errors.
One: Operator '-' cannot be used with a left hand side of type 'Object' and a right hand side of type 'Object'.
var balls = GameObject.FindGameObjectsWithTag("Ball");
var zs = new Array();
var ys = new Array();
for(var i = 0; i < balls.length; i++){
zs[i] = balls[i].transform.position.z;
ys[i] = balls[i].transform.position.y;
}
ys.Sort();
zs.Sort();
var zdiff = zs[zs.length-1] - zs[0]; // ERRORS HAPPEN HERE
var ydiff = ys[ys.length-1] - ys[0]; // ERRORS HAPPEN HERE
What is wrong with the code? It works perfectly in both Windows and Mac Unity Basic... Are there any huge differences that I should know of between Unity iPhone and Desktop when scripting?
Answer by Eric5h5 · Jul 28, 2010 at 05:13 AM
The main difference is that you can't use dynamic typing on Unity iPhone. (Basically all Javascript has an invisible "#pragma strict" applied to it.) In this particular case you have to cast the array as the appropriate type.
Answer by Ashkan_gc · Jul 28, 2010 at 05:14 AM
there is not much difference, specially if you enable .net 2.0 features then most things will be the same but you should write a really fast code to be able to run it on an iphone. however ipad is much faster. take a look at this
the only feature that is not supported is dynamic typing so your array should be casted to the original type and then anything will be correct and you are good to go.
Your answer
Follow this Question
Related Questions
Flipping textures 0 Answers
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Setting Scroll View Width GUILayout 1 Answer
How do I invert the Y axis in Penelope tutorial? 3 Answers
Reading line-wise? 1 Answer