Difference between revisions of "Slow the turtle down"

From JSXGraph Wiki
Jump to: navigation, search
Line 4: Line 4:
 
<form><input type="button" value="run" onclick="run(100)"></form>
 
<form><input type="button" value="run" onclick="run(100)"></form>
 
</html>
 
</html>
 +
 
<jsxgraph width="500" height="500">
 
<jsxgraph width="500" height="500">
var brd = JXG.JSXGraph.initBoard('jxgbox',{unitX:1, unitY:1, originX:250, originY:250});
+
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox: [-250, 250, 250, -250]});
var t = brd.createElement('turtle',[100,-50],{strokeOpacity:0.7,fillColor:'#ff8800',fillOpacity:0.2});
+
var t = brd.create('turtle',[100,-50],{strokeOpacity:0.7,fillColor:'#ff8800',fillOpacity:0.2});
 
t.setPenSize(3);
 
t.setPenSize(3);
  
Line 19: Line 20:
 
</jsxgraph>
 
</jsxgraph>
  
<source lang="xml">
+
<source lang="javascript">
<html>
 
<form><input type="button" value="run" onclick="run(100)"></form>
 
</html>
 
 
<jsxgraph width="500" height="500">
 
<jsxgraph width="500" height="500">
var brd = JXG.JSXGraph.initBoard('jxgbox',{unitX:1, unitY:1, originX:250, originY:250});
+
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox: [-250, 250, 250, -250]});
var t = brd.createElement('turtle',[100,-50],{strokeOpacity:0.7,fillColor:'#ff8800',fillOpacity:0.2});
+
var t = brd.create('turtle',[100,-50],{strokeOpacity:0.7,fillColor:'#ff8800',fillOpacity:0.2});
 
t.setPenSize(3);
 
t.setPenSize(3);
  
Line 36: Line 34:
 
   }
 
   }
 
}
 
}
</jsxgraph>
 
 
</source>
 
</source>
  
 
[[Category:Examples]]
 
[[Category:Examples]]
 
[[Category:Turtle Graphics]]
 
[[Category:Turtle Graphics]]

Revision as of 15:44, 8 June 2011

This is an example, where the turtle speed is controlled by the setTimeout() method of JavaScript.

<jsxgraph width="500" height="500">
var brd = JXG.JSXGraph.initBoard('jxgbox',{boundingbox: [-250, 250, 250, -250]});
var t = brd.create('turtle',[100,-50],{strokeOpacity:0.7,fillColor:'#ff8800',fillOpacity:0.2});
t.setPenSize(3);

function run(n) {
   if (n>0) {
     t.fd(20);
     t.lt(90*(1-n/100));
     var st = 'run(' + (n-1) + ')';
     setTimeout(st,25);
   }
}