- Home /
 
               Question by 
               UnityGuy1243 · Nov 15, 2011 at 10:02 PM · 
                javascriptconvert  
              
 
              Convert To UnityScript
How would I convert the following XNA script to UnityScript:
  private Texture2D CreateStaticMap(int resolution)
  {
      Random rand = new Random();
      Color[] noisyColors = new Color[resolution * resolution];
      for (int x = 0; x < resolution; x++)
      for (int y = 0; y < resolution; y++)
      noisyColors[x + y * resolution] = new Color(new Vector3((float)rand.Next(1000) / 1000.0f, 0, 0));
  
      Texture2D noiseImage = new Texture2D(device, resolution, resolution, 1, TextureUsage.None, SurfaceFormat.Color);
      noiseImage.SetData(noisyColors);
      return noiseImage;
  }
I tried but got a handful of errors:
         var resolution : int;
 
         function Start(){
             CreateStaticMap();
         }
         
         function CreateStaticMap(){
         var noisyColors : Color[] = new Color[resolution * resolution];
             for(x=0; x<=resolution; x++){
                  for(y=0; y<=resolution; y++){
                       noisyColors[x + y * resolution] = new Color(Vector3(System.Random.Next(1000) / 1000.0, 0, 0));
                  }
             }
             var noiseImage : Texture2D = new Texture2D( //I have no idea what to do now
          }
               Comment
              
 
               
               
               Best Answer 
              
 
              Answer by aldonaletto · Nov 15, 2011 at 10:27 PM
The conversion to JS is something like below. The Texture2D() in noiseImage declaration seems to have parameters in excess.
function CreateStaticMap(resolution: int): Texture2D
 {
     var rand = new Random();
     var noisyColors: Color[] = new Color[resolution * resolution];
     for (var x = 0; x < resolution; x++)
       for (var y = 0; y < resolution; y++)
         noisyColors[x + y * resolution] = Color(rand.Next(1000)/1000.0, 0, 0);
     // this Texture2D constructor seems to have too many arguments:
     var noiseImage: Texture2D = Texture2D(device, resolution, resolution, 1, TextureUsage.None, SurfaceFormat.Color);
     noiseImage.SetData(noisyColors);
     return noiseImage;
 }
 
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                