Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by imbagpaolo · Oct 23, 2012 at 04:13 AM · androiderrorswitchplatforms

How can I convert this code to Unity Android?

How can I convert this code to unity Android.. because when I switch platforms, too many errors are being detected...

//

 var cam: GameObject;
 
 var skin1: GUISkin;
 private var steps: int;
 private var n1: int; 
 
 var isTweening: boolean = false;
 var smoothing: boolean = false;
 
 private var tStart: float = -1;
 private var tGameStart: float = 0;
 
 function Awake () {
     init();
 }
 
 function init () {
     steps = 0;
     tStart = Time.time;
     corners = new Array();
     for (var i=0; i<2; i++) { 
         for (var j=0; j<2; j++) { 
             for (var k=0; k<2; k++) { 
                 corners.Push(Vector3(i*(n-1),j*(n-1),k*(n-1)));
             }
         }
     }
     edges = new Array();
     for (var i1=1; i1<n-1; i1++) {
         for (var j1=0; j1<2; j1++) { 
             for (var k1=0; k1<2; k1++) { 
                 edges.Push(Vector3(i1,j1*(n-1),k1*(n-1)));
                 edges.Push(Vector3(j1*(n-1),i1,k1*(n-1)));
                 edges.Push(Vector3(j1*(n-1),k1*(n-1),i1));
             }
         }
     }
     //Debug.Log(edges);
     edgeMats = new Array();
     for (var i2=0; i2<6; i2++) {
         var arr4 = new Array();
         for (var j2=0; j2<8; j2++) {
             var mat1 = Instantiate(mats[i2]);
             mat1.shader = Shader.Find( "Self-Illumin/Specular" );
             mat1.SetTexture("_Illum", textures[j2]);
             //mat1.mainTexture = textures[j2];
             arr4.Push(mat1);
         }
         edgeMats.Push(arr4);
     }
 }
 
 function Start () {
     n1 = n;
     hub = new GameObject();
     hubDummy1 = new GameObject();
     hubDummy2 = new GameObject();
     sceneSetup();
 }
 
 function sceneSetup () {
     cam.transform.position = Vector3.zero ;
     cam.transform.rotation.eulerAngles = Vector3.zero ;
     cam.transform.position.z = - n*2;
     cam.transform.RotateAround(Vector3.zero,Vector3.up,45); 
     cam.GetComponent("Cameraorbit").distance = n*2;
     cam.GetComponent("Cameraorbit").distanceMin = n;
     cam.GetComponent("Cameraorbit").distanceMax = n*5;
     cam.GetComponent("Cameraorbit").Init();
     cam.GetComponent("Cameraorbit").enabled = true;
     Supercube ();
     tGameStart = Time.time;
     
 }
 
 function Supercube () {
     for (var i=0; i<n; i++) { 
         for (var j=0; j<n; j++) { 
             for (var k=0; k<n; k++) { 
                 var cube = new GameObject ();
                 cube.name = "cube"+i+j+k;
                 addWalls(cube,i,j,k);
                 var c1: float = -n*0.5;
                 cube.transform.parent = transform;
                 cube.transform.localPosition = Vector3(-n*0.5 + i+0.5,-n*0.5 +j+0.5,-n*0.5 +k+0.5);
             }
         }
     }
 }
 
 function Update () {
     hub.transform.rotation = Quaternion.Slerp (hubDummy1.transform.rotation, hubDummy2.transform.rotation, (Time.time - tStart)/rotTime);
 }
 
 function addWalls(box:GameObject,u:int,v:int,w:int){
     var edge: GameObject;
     var cornerEdgeU: GameObject;
     var cornerEdgeV: GameObject;
     var cornerEdgeW: GameObject;
     
     for (var corner in corners) {
         if(Vector3(u,v,w)==corner){
             cornerEdgeU = new GameObject();
             cornerEdgeV = new GameObject();
             cornerEdgeW = new GameObject();
             cornerEdgeU.transform.parent = box.transform;
             cornerEdgeV.transform.parent = box.transform;
             cornerEdgeW.transform.parent = box.transform;
         }
     }
     for (var element in edges) {
         if(Vector3(u,v,w)==element){
             edge = new GameObject ();
             edge.name = "edge" +u+v+w;
             edge.transform.parent = box.transform;
         }
     }
     if(w==n-1){//back
         if(Vector2(u,v)==Vector2(0,0)||Vector2(u,v)==Vector2(n-1,0)||Vector2(u,v)==Vector2(0,n-1)||Vector2(u,v)==Vector2(n-1,n-1)){
             cornerWall(0,Vector2(u,v),cornerEdgeU,cornerEdgeV);
         }else{ 
             if(u==0||u==n-1||v==0||v==n-1){wall(0,"outer",u,v,edge,true);}else{wall(0,"outer",u,v,box,false);}
         }
     }else{wall(0,"inner",u,v,box,false);}
     if(u==n-1){//right - magenta
         if(Vector2(w,v)==Vector2(0,0)||Vector2(w,v)==Vector2(n-1,0)||Vector2(w,v)==Vector2(0,n-1)||Vector2(w,v)==Vector2(n-1,n-1)){
             cornerWall(1,Vector2(w,v),cornerEdgeW,cornerEdgeV);
         }else{ 
             if(w==0||w==n-1||v==0||v==n-1){wall(1,"outer",n-1-w,v,edge,true);}else{wall(1,"outer",n-1-w,v,box,false);}
         }
     }else{wall(1,"inner",w,v,box,false);}
     if(w==0){//front - light blue
         if(Vector2(u,v)==Vector2(0,0)||Vector2(u,v)==Vector2(n-1,0)||Vector2(u,v)==Vector2(0,n-1)||Vector2(u,v)==Vector2(n-1,n-1)){
             cornerWall(2,Vector2(u,v),cornerEdgeU,cornerEdgeV);
         }else{ 
             if(u==0||u==n-1||v==0||v==n-1){wall(2,"outer",n-1-u,v,edge,true);}else{wall(2,"outer",n-1-u,v,box,false);}
         }
     }else{wall(2,"inner",-u,v,box,false);}
     if(u==0){//left
         if(Vector2(w,v)==Vector2(0,0)||Vector2(w,v)==Vector2(n-1,0)||Vector2(w,v)==Vector2(0,n-1)||Vector2(w,v)==Vector2(n-1,n-1)){
             cornerWall(3,Vector2(w,v),cornerEdgeW,cornerEdgeV);
         }else{ 
             if(w==0||w==n-1||v==0||v==n-1){wall(3,"outer",w,v,edge,true);}else{wall(3,"outer",w,v,box,false);}
         }
     }else{wall(3,"inner",w,v,box,false);}
     if(v==0){//bottom
         if(Vector2(w,u)==Vector2(0,0)||Vector2(w,u)==Vector2(n-1,0)||Vector2(w,u)==Vector2(0,n-1)||Vector2(w,u)==Vector2(n-1,n-1)){
             cornerWall(4,Vector2(u,w),cornerEdgeU,cornerEdgeW);
         }else{ 
             if(w==0||w==n-1||u==0||u==n-1){wall(4,"outer",u,w,edge,true);}else{wall(4,"outer",u,w,box,false);}
         }
     }else{wall(4,"inner",w,u,box,false);}
     if(v==n-1){//top - king blue
         if(Vector2(w,u)==Vector2(0,0)||Vector2(w,u)==Vector2(n-1,0)||Vector2(w,u)==Vector2(0,n-1)||Vector2(w,u)==Vector2(n-1,n-1)){
             cornerWall(5,Vector2(u,w),cornerEdgeU,cornerEdgeW);
         }else{ 
             if(w==0||w==n-1||u==0||u==n-1){wall(5,"outer",u,n-1-w,edge,true);}else{wall(5,"outer",u,n-1-w,box,false);}
         }
     }else{wall(5,"inner",w,u,box,false);}
 }    
 
 function cornerWall (pos:int,vect:Vector2,parentObject1:GameObject,parentObject2:GameObject) {
     var parentObjects = new Array(parentObject1,parentObject2);
     var k1=1;
     var matHighlight: Material;
     for (var po in parentObjects) {
         var tri = new GameObject();
         var a1 = 2*s*vect.x/(n-1);
         var b1 = 2*s*vect.y/(n-1);
         var mesh : Mesh = new Mesh ();
         tri.transform.parent = po.transform;
         tri.AddComponent(MeshFilter);
         tri.AddComponent(MeshRenderer);
         tri.renderer.material = mats[pos];
         tri.GetComponent(MeshFilter).mesh = mesh;
             switch(pos){
             case 0:    //back - red
                 mesh.vertices = [k1*Vector3(s-a1,s-b1,0), k1*Vector3(s-a1,-s+b1,0), k1*Vector3(-s+a1,-s+b1,0)];
                 mesh.uv = [k1*Vector2 (0, 1 - b1/s), k1*Vector2 (0, 0), k1*Vector2 (1-a1/s, 0)];
                 tri.transform.localPosition.z = s;
                 break;
             case 1://right - magenta
                 mesh.vertices = [k1*Vector3(0,-s+b1,-s+a1), k1*Vector3(0,-s+b1,s-a1), k1*Vector3(0,s-b1,s-a1)];
                 mesh.uv = [k1*Vector2 (1-a1/s, 0), Vector2 (0, 0), k1*Vector2 (0, 1- b1/s)];
                 tri.transform.localPosition.x = s;
                 break;
             case 2://front - light blue
                 mesh.vertices = [k1*Vector3(-s+a1,-s+b1,0), k1*Vector3(s-a1,-s+b1,0), k1*Vector3(s-a1,s-b1,0)];
                 mesh.uv = [k1*Vector2 (1-a1/s, 0), Vector2 (0, 0), k1*Vector2 (0, 1 - b1/s)];
                 tri.transform.localPosition.z = -s;            
                 break;
             case 3://left - green
                 mesh.vertices = [k1*Vector3(0,s-b1,s-a1), k1*Vector3(0,-s+b1,s-a1), k1*Vector3(0,-s+b1,-s+a1)];
                 mesh.uv = [k1*Vector2 (0, 1 - b1/s), k1*Vector2 (0, 0), k1*Vector2 (1-a1/s, 0)];
                 tri.transform.localPosition.x = -s;            
                 break;
             case 4://bottom - yellow
                 mesh.vertices = [k1*Vector3(s-a1,0,s-b1), k1*Vector3(s-a1,0,-s+b1), k1*Vector3(-s+a1,0,-s+b1)];
                 mesh.uv = [k1*Vector2 (0, 1 - b1/s), k1*Vector2 (0, 0), k1*Vector2 (1-a1/s, 0)];
                 tri.transform.localPosition.y = -s;
                 break;
             case 5://top - king blue
                 mesh.vertices = [k1*Vector3(-s+a1,0,-s+b1), k1*Vector3(s-a1,0,-s+b1), k1*Vector3(s-a1,0,s-b1)];
                 mesh.uv = [k1*Vector2 (1-a1/s, 0), Vector2 (0, 0), k1*Vector2 (0, 1-b1/s)];
                 tri.transform.localPosition.y = s;            
                 break;
             }
             switch(vect){
                 case Vector2(0,n-1):    //top-left    
                 matHighlight= edgeMats[pos][5];
                 break;
                 case Vector2(0,0):    //bottom-left    
                 matHighlight= edgeMats[pos][6];
                 break;
                 case Vector2(n-1,0):    //bottom-left    
                 matHighlight= edgeMats[pos][7];
                 break;
                 case Vector2(n-1,n-1):    //bottom-left    
                 matHighlight= edgeMats[pos][4];
                 break;
             }
             
         if(vect.x==vect.y){mesh.triangles = [0, 2, 1];}else{mesh.triangles = [0, 1, 2];}
         mesh.RecalculateNormals();
         tri.AddComponent(MeshCollider);
         tri.AddComponent("mouseInteract"); tri.GetComponent("mouseInteract").n=n;
         tri.GetComponent("mouseInteract").mat=mats[pos];
         tri.GetComponent("mouseInteract").matOver=matHighlight;
         Debug.Log("pos" + pos);
         
         k1 *= -1;
     }
 }
 
 function wall (pos:int,inner:String,x1,y1,parentObject:GameObject,interactive:boolean) {
     var matHighlight: Material;
     var square = new GameObject();
     var mesh : Mesh = new Mesh ();
     square.transform.parent = parentObject.transform;
     square.AddComponent(MeshFilter);
     square.AddComponent(MeshRenderer);
     square.GetComponent(MeshFilter).mesh = mesh;
     mesh.vertices = [Vector3(s,s,0), Vector3(s,-s,0), Vector3(-s,-s,0),Vector3(-s,s,0)];
     mesh.uv = [Vector2 (0, 0), Vector2 (0, -1), Vector2 (-1, -1), Vector2 (-1, 0)];
     mesh.triangles = [0, 2, 1, 0, 3, 2];
     mesh.RecalculateNormals();
     square.transform.position.z = s;
     switch(pos){
         case 0:    //back
             break;
         case 1://right
             square.transform.RotateAround(Vector3.zero,Vector3.up,90); 
             break;
         case 2://front
             square.transform.RotateAround(Vector3.zero,Vector3.up,180); 
             break;
         case 3://left
             square.transform.RotateAround(Vector3.zero,Vector3.up,270); 
             break;
         case 4://bottom
             square.transform.RotateAround(Vector3.zero,Vector3.right,90); 
             break;
         case 5://top
             square.transform.RotateAround(Vector3.zero,Vector3.right,270); 
             break;
     }
     if(inner=="inner"){square.renderer.material = mats[6];}else{
         square.renderer.material = mats[pos];
             switch(x1){
                 case 0:    //left
                     matHighlight = edgeMats[pos][0];
                     break;
                 case n-1:    //right
                     matHighlight = edgeMats[pos][1];
                     break;
             }
             switch(y1){
                 case 0:    //bottom
                     matHighlight = edgeMats[pos][2];
                     break;
                 case n-1:    //top
                     matHighlight = edgeMats[pos][3];
                     break;
             }
         }
     if(interactive){
         square.AddComponent(MeshCollider);
         square.AddComponent("mouseInteract"); square.GetComponent("mouseInteract").n=n;
         square.GetComponent("mouseInteract").mat=mats[pos];
         square.GetComponent("mouseInteract").matOver=matHighlight;
     }
 }
 
 function OnGUI () {
     GUI.skin = skin1;
     GUI.Label (Rect (0,0,0.16*Screen.width,Screen.height), " ","window");
     if (GUI.Button (Rect (12,12,100,20), "RESET")) {
     Rebuild();
     }
     if (GUI.Button (Rect (12,42,100,20), "RANDOMIZE")) {
         for (var i=0; i<8*n; i++) {
         Randomize();
         steps = 0;
         }
     }
     GUI.Label (Rect (12,72,40,40), "matrix size");
     if (GUI.Button (Rect (92,72,20,20), "+")) {n1++;}
     if (GUI.Button (Rect (92,92,20,20), "-")) {if(n1>2)n1--;}
     GUI.Label (Rect (52,72,40,40), n1.ToString(),"box1");
     
     smoothing = GUI.Toggle (Rect (12, 132, 100, 30), smoothing, "smoothing");
 
     GUI.Label (Rect (12,Screen.height-72,100,20), "Time: "+(Time.time - tGameStart).ToString("#.0"));
     GUI.Label (Rect (12,Screen.height-42,100,20), "Moves: "+ steps);
 }
 
 function Rebuild () {
     var toDestroy = new Array();
     for (var child in transform) {
         toDestroy.Push(child.gameObject);
     }
     var m = toDestroy.length;
     for (var i=0; i<m; i++) {
         Destroy(toDestroy[i]);
     }
     n = n1;
     //yield WaitForSeconds (10);
     cam.GetComponent("Cameraorbit").enabled = false;
     yield WaitForSeconds (0.1);
     init();
     sceneSetup();
 }
 
 function Randomize () {
     var rand1 = Mathf.Round(6*Random.value-0.5);
     var rand2 = Mathf.Round(n*Random.value-0.5);
     steps = 0;
     tGameStart = Time.time;
     switch(rand1){
         case 0:
             version = "x";axis=Vector3.right;
             break;
         case 1:
             version = "x";axis=-Vector3.right;
             break;
         case 2:
             version = "y";axis=Vector3.up;
             break;
         case 3:
             version = "y";axis=-Vector3.up;
             break;
         case 4:
             version = "z";axis=Vector3.forward;
             break;
         case 5:
             version = "z";axis=-Vector3.forward;
             break;
     }
     Debug.Log("random" + rand1 + " " + rand2);
     selectRotate(version, axis, rand2,rand2,rand2,true);
 }
 
 function selectRotate(version1:String, axis:Vector3, ixx:int,iyy:int,izz:int,noSmoothing:boolean){
     steps++;
     var hubArr = new Array();//
     for (var box in transform) {
         //Debug.Log(box.name);
         switch(version1){
             case "x":
             if(Mathf.Round(box.transform.position.x+0.5*(n-1))==ixx){
                 hubArr.push(box);
             }
             break;
             case "y":
             if(Mathf.Round(box.transform.position.y+0.5*(n-1))==iyy){
                 hubArr.push(box);
             }
             break;
             case"z":
             if(Mathf.Round(box.transform.position.z+0.5*(n-1))==izz){
                 hubArr.push(box);
             }
             break;
         }
     }
     var m = hubArr.length;
     Debug.Log("hubArr "+m);
     
     for (var i=0; i<m; i++) {
         hubArr[i].transform.parent = hub.transform;
     }
     
     hubDummy2.transform.RotateAround(Vector3.zero,-axis,90);
     if(!smoothing||noSmoothing){
         hub.transform.RotateAround(Vector3.zero,-axis,90); 
         hubDummy1.transform.RotateAround(Vector3.zero,-axis,90);
         }else{
         tStart = Time.time;
         yield WaitForSeconds (rotTime + 0.1);
         hubDummy1.transform.RotateAround(Vector3.zero,-axis,90);
         isTweening = false;
     }
     
     for (var j=0;j<m; j++) {
         hubArr[j].transform.parent = transform;
     }
 }
Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
â–¼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Kryptos · Oct 23, 2012 at 07:50 AM 0
Share

Some advices:

  1. What @eric5h5 said.

  2. You script is much too long. Consider breaking it into smaller parts (other classes or other $$anonymous$$onoBehaviour-derived scripts).

  3. Don't compare int or string values within switch cases but create and use enums.

$$anonymous$$ore about the second point

Don't mix GUI, procedural generation, rendering, etc. in the same script. Use one script for the camera. One script for generating the mesh. One script for the GUI. It will be much easier to maintain and to debug.

If you need to share some value between each script, make those variables public and access them using GetComponent() in the other scripts.

avatar image imbagpaolo · Oct 23, 2012 at 09:57 AM 0
Share

^_^ ok then sirs... btw what is #pragma strict for?

avatar image Kryptos · Oct 23, 2012 at 11:39 AM 0
Share

@imbagpaolo what is #pragma. This is related to Performance Optimization.

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by Eric5h5 · Oct 23, 2012 at 04:26 AM

Don't use Array, and put #pragma strict at the top of all your scripts.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
â–¼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

11 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

My game does not run when I switch to Android Platform 0 Answers

I Switched platforms and I got this errors 1 Answer

My game does not run when I switch to Android Platform 1 Answer

About www.error! 1 Answer

Unable to create android .apk with SDK revison 23 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges