将表单数据发送到画布中的外部pjs草图

时间:2014-03-09 20:56:51

标签: javascript html forms canvas processing.js

编辑

我做了更多研究并弄明白了。将html位更改为:

Volume: 0%<input type="range" min="0" max="1" step="0.01" value="1" onchange="Processing.getInstanceById('spaceGame').changeVolume(this.value)">100%

(显然我也给了画布一个id)

将功能更改为:

void changeVolume(slideAmount){
    volume = slideAmount;
    alert("Volume was changed to "+volume*100+"%");//for testing
}

原始问题:

我希望在更改html表单时更改processing.js草图中的音量。不幸的是,表单无法识别我在画布中使用的代码。我不擅长HTML,我不知道如何解决这个问题。

<canvas width="600" height="600" data-processing-sources="spacegame.pde"></canvas>
<!--Later on...-->
    Volume: 0%
<input type="range" min="0" max="1" step="0.01" value="1" onchange="changeVolume(this.value)">100%

spacegame.pde我有此代码来处理表单。

function changeVolume(slideAmount){
   volume = slideAmount;
   alert("Volume was changed to "+volume*100+"%");//for testing
}

我的输入表单没有看到我的pde文件,因此firebug给了我这个错误:ReferenceError: changeVolume is not defined

请告诉我如何使输入标签识别我的画布代码。谢谢。

1 个答案:

答案 0 :(得分:1)

我解决了我的问题。

我做了更多研究并弄明白了。将html位更改为:

Volume: 0%<input type="range" min="0" max="1" step="0.01" value="1" onchange="Processing.getInstanceById('spaceGame').changeVolume(this.value)">100%

(显然我也给了画布一个id)

将功能更改为:

void changeVolume(slideAmount){
    volume = slideAmount;
    alert("Volume was changed to "+volume*100+"%");//for testing
}