Javascript舞台规模计算器

时间:2013-10-30 13:47:06

标签: javascript scale dimensions stage

我在整个网络上进行了广泛的搜索,认为有人可能有类似的需求,但是做得很短。我需要创建一个计算器,根据宽度和高度字段(以英尺为单位)调整可拖动对象的舞台大小。

我需要保持最大宽度和高度,理想情况下,可以在变量中设置以便于修改。此最大宽度和高度将以像素为单位进行设置。我想,我会在“数据 - ”属性中设置舞台上可拖动项目的尺寸。我不打算在屏幕分辨率方面与之匹配。

最好的方法是什么?我在数学方面相当平庸,并且能够创建像这样扩展对象阶段及其容器所需的函数。

我是一个熟练的jQuery用户,所以如果在这里使用jQuery是有意义的,那就太好了。提前谢谢。

1 个答案:

答案 0 :(得分:1)

至少有几种方法可以按比例缩放比例。由于您将知道投影(房间)尺寸,并且您应该至少知道其中一个缩放尺寸(假设您知道舞台的宽度),您可以按比例缩放objectLengthInFeet / roomWidthInFeet * stageWidthInPixels

假设一个例子的舞台宽度为500像素,一旦你知道了舞台的尺寸和舞台的宽度:

var stageWidth = 500,
    roomWidth = parseFloat($('#width').val(), 10) || 0,    // default to 0 if input is empty or not parseable to number
    roomHeight = parseFloat($('#height').val(), 10) || 0,  // default to 0 if input is empty or not parseable to number
    setRoomDimensions = function (e) {
        roomWidth = parseFloat($('#width').val(), 10);
        roomHeight = parseFloat($('#height').val(), 10);
    },
    feetToPixels = function feetToPixels(feet) {
        var scaled = feet / roomWidth * stageWidth;
        return scaled;
    };

以下是演示:http://jsfiddle.net/uQDnY/