topical media & game development

talk show tell print

#javascript-processing-example-basic-data-variablescope.htm / htm



  <!DOCTYPE html>
  <html><head>
  <script src="javascript-processing-example-processing.js"></script>
  <script src="javascript-processing-example-init.js"></script>
  <link rel="stylesheet" href="javascript-processing-example-style.css">
  </head><body><h1><a href="http://ejohn.org/blog/processingjs/">Processing.js</a></h1>
  <h2>VariableScope</h2>
  
  <p>Variables may either have a global or local "scope". 
  For example, variables declared within either the
  setup() or loop() functions may be only used in these
  functions. Global variables, variables declared outside
  of setup() and loop(), may be used anywhere within the program.
  If a local variable is declared with the same name as a
  global variable, the program will use the local variable to make 
  its calculations within the current scope. Variables may be localized
  within classes, functions, and iterative statements.</p>
  
  <p><a href="http://processing.org/learning/basics/variablescope.html"><b>Original Processing.org Example:</b> VariableScope</a><br>
  <script type="application/processing">
  int a = 20;  // Create a global variable "a"
  
  void setup() 
  {
    size(200, 200);
    background(51);
    stroke(255);
    noLoop();
  }
  
  void draw()
  {
    // Draw a line using the global variable "a"
    line(a, 0, a, height);
    
    // Create a new variable "a" local to the for() statement 
    for(int a=50; a<80; a += 2) {
      line(a, 0, a, height);
    }
    
    // Create a new variable "a" local to the loop() method
    int a = 100;
    // Draw a line using the new local variable "a"
    line(a, 0, a, height);  
    
    // Make a call to the custom function drawAnotherLine()
    drawAnotherLine();
    
    // Make a call to the custom function setYetAnotherLine()
    drawYetAnotherLine();
  }
  
  void drawAnotherLine() 
  {
    // Create a new variable "a" local to this method
    int a = 185;
    // Draw a line using the local variable "a"
    line(a, 0, a, height);
  }
  
  void drawYetAnotherLine() 
  {
    // Because no new local variable "a" is set, 
    // this lines draws using the original global
    // variable "a" which is set to the value 20.
    line(a+2, 0, a+2, height);
  }
  </script><canvas width="200" height="200"></canvas></p>
  <div style="overflow: hidden; height: 0px; width: 0px;"></div>
  
  <pre><b>// All Examples Written by <a href="http://reas.com/">Casey Reas</a> and <a href="http://benfry.com/">Ben Fry</a>
  // unless otherwise stated.</b>
  int a = 20;  // Create a global variable "a"
  
  void setup() 
  {
    size(200, 200);
    background(51);
    stroke(255);
    noLoop();
  }
  
  void draw()
  {
    // Draw a line using the global variable "a"
    line(a, 0, a, height);
    
    // Create a new variable "a" local to the for() statement 
    for(int a=50; a&lt;80; a += 2) {
      line(a, 0, a, height);
    }
    
    // Create a new variable "a" local to the loop() method
    int a = 100;
    // Draw a line using the new local variable "a"
    line(a, 0, a, height);  
    
    // Make a call to the custom function drawAnotherLine()
    drawAnotherLine();
    
    // Make a call to the custom function setYetAnotherLine()
    drawYetAnotherLine();
  }
  
  void drawAnotherLine() 
  {
    // Create a new variable "a" local to this method
    int a = 185;
    // Draw a line using the local variable "a"
    line(a, 0, a, height);
  }
  
  void drawYetAnotherLine() 
  {
    // Because no new local variable "a" is set, 
    // this lines draws using the original global
    // variable "a" which is set to the value 20.
    line(a+2, 0, a+2, height);
  }</pre>
  </body></html>
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.