Var key = Floor(map(...));在p5.js“歌曲”示例项目中

时间:2017-05-23 01:12:13

标签: javascript p5.js

在p5.js示例项目“歌曲”中,有一行代码

 public class ClientThread implements Runnable {

    @Override
    public void run() {
        try {
            InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
            socket = new Socket(serverAddr, SERVERPORT);
            setSocket(socket);
            if(socket!=null){
                Intent goToNextActivity = new Intent(getApplicationContext(), MainActivity.class);
                startActivity(goToNextActivity);
            }

        } catch (UnknownHostException e1) {
            e1.printStackTrace();

        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }

}

我不能为我的生活弄清楚这究竟是如何运作的。我知道那个楼层向下舍入到最近的int。不过,我认为Map是将数组转换为另一个数组,并且在此过程中会有一些变化。

目前,音符在按下时基于鼠标的x位置播放,但不是y位置,所以这就是我想要做的事情。任何人都可以帮助我了解这是做什么,它是如何工作的,以及我如何改变它?

1 个答案:

答案 0 :(得分:0)

为什么不尝试将其分成多个步骤并检查每个步骤中发生的事情?

function mousePressed(){
    var mappedValue = map(mouseX, 0, width, 0, notes.length);
    console.log("mappedValue: " + mappedValue);
    var key = floor(mappedValue);
    console.log("key: " + key);
    playNote(notes[key]);
}

您也可以尝试在the reference中查找map()功能。