怎么让一个椭圆旋转(从纵向转到横向,或者从横向转到纵向,弧度该怎么去取);

从此程序员 2014-08-15 11:06:08
请教大家下,怎么让一个椭圆旋转(从纵向转到横向,或者从横向转到纵向,弧度该怎么去取);
...全文
263 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cheris2014 2014-09-05
  • 打赏
  • 举报
回复
请加些注释,方便入门者学习
yes_353535 2014-08-29
  • 打赏
  • 举报
回复
哦。。。。我还是不懂
Cheris2014 2014-08-22
  • 打赏
  • 举报
回复
厉害!讨教了!
u018875539 2014-08-22
  • 打赏
  • 举报
回复
厉害
从此程序员 2014-08-22
  • 打赏
  • 举报
回复
引用 3 楼 sun_7_flower 的回复:
学习了!
从此程序员 2014-08-22
  • 打赏
  • 举报
回复
引用 1 楼 ww2048 的回复:
供参考 var canvas=document.getElementById("ballBroad"); var context=canvas.getContext("2d"); //角度 var angle=0; //角度步长 var speedAngle=0.1; //刷新频率 var frames=1000/60; //球对象 var Ball=function(radius,color,x,y) { this.radius=radius; this.color=color; this.x=x; this.y=y; } //中心点 var centerX=canvas.width/2; var centerY=canvas.height/2; //存放小球走过的点 var points=[]; //创建一个球 var newBall=new Ball(20,"#ff000",0,centerY); //在画板中间绘制球 //DrawBall(newBall); //存放 //points.push({x:newBall.x,y:newBall.y}); //让球平稳的动起来 var drawAsync = eval(Jscex.compile("async", function () { while(true) { newBall.y=centerY+Math.sin(angle)*(centerY/2+20); newBall.x=centerX+Math.cos(angle)*centerX; angle+=speedAngle; DrawBall(newBall); //存放小球的点 points.push({x:newBall.x,y:newBall.y}); //绘制线条 DrawBallLine(); //画蛋疼 DrawText("蛋疼",centerX-50,centerY); //每秒60次 $await(Jscex.Async.sleep(frames)); } })); drawAsync().start(); function DrawBall(ball) { context.clearRect(0, 0, canvas.width, canvas.height); //在画板中间绘制球 context.beginPath(); context.arc(ball.x, ball.y, newBall.radius, 0, 2 * Math.PI, false); context.fillStyle = ball.color; context.fill(); context.lineWidth = 5; context.strokeStyle = "#ff0000"; context.stroke(); } //绘制小球的移动轨迹 function DrawBallLine() { for(var i=0;i<points.length;i++) { if(i==0) { context.moveTo(points[i].x,points[i].y) } context.lineTo(points[i].x,points[i].y) context.stroke(); } } //写蛋疼 function DrawText(text,x,y) { context.font = "40pt Arial"; context.fillText(text, x, y); }
能否讲清楚点,还是不懂
sun_7_flower 2014-08-21
  • 打赏
  • 举报
回复
学习了!
君鹏不姓贾 2014-08-21
  • 打赏
  • 举报
回复
楼上厉害,受教了
ww2048 2014-08-15
  • 打赏
  • 举报
回复
供参考 var canvas=document.getElementById("ballBroad"); var context=canvas.getContext("2d"); //角度 var angle=0; //角度步长 var speedAngle=0.1; //刷新频率 var frames=1000/60; //球对象 var Ball=function(radius,color,x,y) { this.radius=radius; this.color=color; this.x=x; this.y=y; } //中心点 var centerX=canvas.width/2; var centerY=canvas.height/2; //存放小球走过的点 var points=[]; //创建一个球 var newBall=new Ball(20,"#ff000",0,centerY); //在画板中间绘制球 //DrawBall(newBall); //存放 //points.push({x:newBall.x,y:newBall.y}); //让球平稳的动起来 var drawAsync = eval(Jscex.compile("async", function () { while(true) { newBall.y=centerY+Math.sin(angle)*(centerY/2+20); newBall.x=centerX+Math.cos(angle)*centerX; angle+=speedAngle; DrawBall(newBall); //存放小球的点 points.push({x:newBall.x,y:newBall.y}); //绘制线条 DrawBallLine(); //画蛋疼 DrawText("蛋疼",centerX-50,centerY); //每秒60次 $await(Jscex.Async.sleep(frames)); } })); drawAsync().start(); function DrawBall(ball) { context.clearRect(0, 0, canvas.width, canvas.height); //在画板中间绘制球 context.beginPath(); context.arc(ball.x, ball.y, newBall.radius, 0, 2 * Math.PI, false); context.fillStyle = ball.color; context.fill(); context.lineWidth = 5; context.strokeStyle = "#ff0000"; context.stroke(); } //绘制小球的移动轨迹 function DrawBallLine() { for(var i=0;i<points.length;i++) { if(i==0) { context.moveTo(points[i].x,points[i].y) } context.lineTo(points[i].x,points[i].y) context.stroke(); } } //写蛋疼 function DrawText(text,x,y) { context.font = "40pt Arial"; context.fillText(text, x, y); }

220

社区成员

发帖
与我相关
我的任务
社区描述
T客论坛是TCL为移动开发者提供的一个交流沟通的平台。开发者可以在T客论坛聚合有共同兴趣的队员,利用TCL开放平台的开放API,开发出优秀有创意的TV版本的应用,实用工具。
社区管理员
  • T客
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧