Javascript 画移动的圆圈
在搜索如何使用php创建移动圆圈时,我发现了这一点。但由于我对php不太精通,所以大多数事情我都不理解。因此我想现在我必须咨询专家:)Javascript 画移动的圆圈,javascript,html,jquery-ui,canvas,Javascript,Html,Jquery Ui,Canvas,在搜索如何使用php创建移动圆圈时,我发现了这一点。但由于我对php不太精通,所以大多数事情我都不理解。因此我想现在我必须咨询专家:) 我想在php页面上画一个圆周运动的圆圈。 我的努力:我已经做了很多尝试来解决这个问题,但我发现只有canvasHTML5才能实现。但是我陷入了笛卡尔坐标、radius等领域。这些东西真的让我困惑。 请给我一些建议。PHP是一种服务器端编程语言。听起来您要做的是在浏览器中设置一个圆的动画。PHP不在浏览器中运行,因此不能使用PHP设置圆的动画 但是,您可以创建一个
我想在php页面上画一个圆周运动的圆圈。
我的努力:我已经做了很多尝试来解决这个问题,但我发现只有
canvas
HTML5才能实现。但是我陷入了笛卡尔坐标、radius等领域。这些东西真的让我困惑。请给我一些建议。PHP是一种服务器端编程语言。听起来您要做的是在浏览器中设置一个圆的动画。PHP不在浏览器中运行,因此不能使用PHP设置圆的动画 但是,您可以创建一个
,并使用JavaScript为其设置动画。是画布上的MDN教程,包括动画
作为canvas
的替代方法,您可以使用一个简单的
,使用CSS边框半径将其变成一个圆圈:50%
,然后使用纯JavaScript或jQuery对其进行动画处理
绘制圆并使用jQuery.animate
将其再次向右、向左和向右移动
jQuery.animate有完整的文档记录。背后的数学是:
x = centerX + radius * Math.cos(angle * Math.PI / 180);
y = centerY + radius * Math.sin(angle * Math.PI / 180);
现在,您可以将结果输入到包含球的div元素:
var element = document.getElementById('ball');
var angle = 0;
var x = 0;
var y = 0;
var w = (window.innerWidth - 50) / 2;
var h = (window.innerHeight - 50) / 2;
function ballCircle() {
x = w + w * Math.cos(angle * Math.PI / 180);
y = h + h * Math.sin(angle * Math.PI / 180);
ball.style.left = x + 'px';
ball.style.top = y + 'px';
angle++;
if (angle > 360) {
angle = 0;
}
setTimeout(ballCircle,20);
}
ballCircle();
我在JSFIDLE上做了一个演示:这是一个html5移动圆圈的示例,其中有一个教程解释了代码及其实现方式。代码在gplv3许可下,显然也是免费的。
焦点片段 ctx.strokeStyle='rgb(255,0,0)'; ctx.线宽=10
ctx.beginPath();
ctx.arc(x, y, radius, 0, Math.PI * 2, false);
ctx.closePath();
ctx.stroke();
另一个示例如下所示,其中显示了相同的动画透视图(如果您正在寻找)。
重点是在某个点打断动画,从而在代码的重画部分将下面的代码片段置于焦点
if (!ctx.isPointInPath(300,500)) {
x = x + 1;
y = y + 2;
ctx.strokeStyle = colorToHex(getRandom(255),getRandom(255),getRandom(255));
ctx.lineWidth = 10;
ctx.beginPath();
ctx.arc(x, y, radius, 0, Math.PI * 2, false);
ctx.closePath();
ctx.stroke();
}
PHP不能在浏览器中移动圆圈:PHP只生成发送到浏览器的HTML;这取决于html(或js)在浏览器中执行自己的操作,在移动操作之前,按规则循环开始。然后,您可以简单地添加其他命令,一次搜索一个命令。甚至不知道“笛卡尔”、“半径”之类的意思。读一读;)@马克·贝克感激。。那么下一步应该做什么,或者我应该学习什么呢?我怎么能相信
PHP,它只生成发送到浏览器的HTML
@user2600487的答案让我思考。。。你想移动一个圆,还是想移动一个圆路径中的东西?这真是太棒了!我只是好奇,因为我一直在尝试学习新的东西,但你认为css3动画可以做到这一点吗?我不确定,但我认为你可以使用CSS的动画功能。我想你需要使用一个更大的图像体,一端是圆,以获得圆外的轴心。我不知道你怎么能把它做成椭圆形的动画。仅仅发布链接并不是一个真正的答案。如果你能从这些视频中提取基本的代码片段,或者作为评论会更好