我的代码在函数外使用时效果很好。但是不确定当我只包装一个函数时会出什么问题。
这是我的工作代码:想法是沿方形路径移动铅笔。在工作代码中,它遵循方形路径,但是当我包装函数时,它一直沿直线进行。
var direction ='right';
var angle = 0;
var sum_angle = 0;
for (var count = 0; count < 5; count++) {
if(--window.LoopTrap == 0) throw "Infinite loop.";
move_draw_Player(direction, 100);
var new_angle=90;
$('#player').animate({rotate: '90deg'}, 100);
var angle=angle +new_angle;
sum_angle =sum_angle + angle;
}
function move_draw_Player(directionStr, amount) {
directionStr =angle;
var x = Math.sin(angle*Math.PI/-180) * amount;
var y = Math.cos(angle*Math.PI/-180) * amount;
z= amount/100;
$('#pencil').animate({'left': '-='+x+'px', 'top': '-='+y+'px'}, z*350, 'linear', function() {
//window.counter = window.counter +2;
pen.moveTo((pencil.offset().left - cw.offset().left),(pencil.offset().top+ pencil.height() -ac.offset().top));
});
但是当我在其周围包装一个函数时,它将无法正常工作。可能出什么问题了?
var direction ='right';
var angle = 0;
var sum_angle = 0;
function Draw_Square() {
for (var count = 0; count < 5; count++) {
if(--window.LoopTrap == 0) throw "Infinite loop.";
move_draw_Player(direction, 100);
var new_angle=90;
$('#player').animate({rotate: '90deg'}, 100);
var angle=angle +new_angle;
sum_angle =sum_angle + angle;
}
}
function move_draw_Player(directionStr, amount) {
directionStr =angle;
var x = Math.sin(angle*Math.PI/-180) * amount;
var y = Math.cos(angle*Math.PI/-180) * amount;
z= amount/100;
$('#pencil').animate({'left': '-='+x+'px', 'top': '-='+y+'px'}, z*350, 'linear', function() {
//window.counter = window.counter +2;
pen.moveTo((pencil.offset().left - cw.offset().left),(pencil.offset().top+ pencil.height() -ac.offset().top));
});
}
//}
Draw_Square();