【问题标题】:randomly display triangle inside Raphael canvas在拉斐尔画布内随机显示三角形
【发布时间】:2014-07-08 01:00:27
【问题描述】:

我想在一个盒子内随机显示一个三角形(目前由 Raphael 制作)。整个三角形应始终在框内。让我们假设这是一个实验,在三角形显示后必须尽快单击它。但是您可以轻松想象其他场景,其中需要仅在框内显示图像。

<div id="area"></div>
var paper = Raphael("area",300,300);

任意三角形:

var triangle = paper.path("M 100,100 L 70,50 L 40, 100").attr({"fill":"green"});

关于圆,这变得非常简单,因为有一个函数,即 paper.circle() 具有给定的 x 和 y 坐标和半径。但是对于三角形,必须考虑三个角的 x 和 y 坐标。

有什么建议吗?也许是完全不同的方法?

小提琴:http://jsfiddle.net/6bV9A/

【问题讨论】:

    标签: javascript svg raphael


    【解决方案1】:

    这可以使用三角形对象上的 translate 函数来完成。首先你需要稍微改变你的路径,使三角形一直位于矩形的左上角:

    var triangle = paper.path("M 60,50 L 30,0 L 0, 50").attr({"fill":"green"});
    

    接下来使用 tranlsate 函数随机平移你的三角形:

    triangle.translate(Math.random() * 240, Math.random() * 250);
    

    这是一个小提琴:http://jsfiddle.net/6bV9A/1/

    【讨论】:

      猜你喜欢
      • 2016-02-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 2013-04-04
      • 1970-01-01
      相关资源
      最近更新 更多