我想将圆的大小增加到半径200,然后在JavaScript中减小它

问题描述 投票:1回答:1

所以,在这里我试图创建一个半径为1的圆并将其增加到200,然后我希望它变小到1并循环它。

我知道g_radius ++然后g_radius --正在创造一种效果,好像它已经停止但无法找到解决方案。

这是我到目前为止所尝试的。我可以增加它或减少它。

<html>
<canvas width="800" height="600" id="myCanvas"> </canvas>
<script>
    var g_canvas = document.getElementById("myCanvas");
    var g_context = g_canvas.getContext("2d");


    var g_radius = 10 ;

    function f_drawCircle()
    {
        g_context.fillStyle = "blue" ;
        g_context.beginPath();
        g_context.arc(400,300,g_radius,0,2*Math.PI) ;
        g_context.fill();
    }

    function f_clearCanvas()
    {
        g_context.clearRect(0,0,g_canvas.width,g_canvas.height);
        g_context.strokeRect(0,0,g_canvas.width,g_canvas.height);
    }

    function f_varySize()
    {
        g_radius ++ ;
        if(g_radius > 200)
            {
                g_radius -- ;
            }
    }

    function f_loop()
    {
        f_varySize();
        f_clearCanvas();
        f_drawCircle();
    }

    setInterval(f_loop,10);
</script>

javascript html5 html5-canvas
1个回答
0
投票

为大小更改的方向创建变量,然后将其值添加到g_radius。像这样:

var dir = 1;

function f_varySize() {
    if (g_radius > 200) {
        dir = -1;
    }
    if (g_radius < 2) {
        dir = 1;
    }
    g_radius += dir;    
}

See it in action

© www.soinside.com 2019 - 2024. All rights reserved.