Difference between revisions of "Slow the turtle down"

From JSXGraph Wiki
Jump to navigationJump to search
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
This is an example, where the turtle speed is controlled by the setTimeout() method
 +
of JavaScript.
 
<html>
 
<html>
 
<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');
+
var t = brd.create('turtle',[100,-50],{strokeOpacity:0.7,fillColor:'#ff8800',fillOpacity:0.2});
 +
t.setPenSize(3);
  
 
function run(n) {
 
function run(n) {
   if (n>=0) {
+
   if (n>0) {
 
     t.fd(20);
 
     t.fd(20);
     t.lt(12);
+
     t.lt(90*(1-n/100));
     run(n-1);
+
     var st = 'run(' + (n-1) + ')';
 +
    setTimeout(st,25);
 
   }
 
   }
 
}
 
}
 
</jsxgraph>
 
</jsxgraph>
 +
 +
<source lang="javascript">
 +
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);
 +
  }
 +
}
 +
</source>
 +
 
[[Category:Examples]]
 
[[Category:Examples]]
 
[[Category:Turtle Graphics]]
 
[[Category:Turtle Graphics]]

Latest revision as of 15:44, 8 June 2011

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

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);
   }
}