私はjavascriptが初めてで、小さなプロジェクトのようなPatatapを書こうとしています。
アニメーションには Paper.js を使用し、イベント リスナーにはonKeyUp メソッドを使用して、ボタンを押したときに画像が表示されるようにしています。このコードは正常に動作しますが、このメソッドがどのように機能するのかわかりません。内部で何をしているのでしょうか? その関数をもう一度定義していますか? 中括弧内で何を定義していますか? function onKeyUp(event){ ..その関数を定義しますか??.. }
(「onFrame()」メソッドと同じ問題があります)。
//importing paper.js and howler.js
//CREATING AN OBJECT OF LETTERS
var keyData={
q: {
sound: new Howl({
src: ['sounds/bubbles.mp3']
}),
color: '#1abc9c'
},
w: {
sound: new Howl({
src: ['sounds/clay.mp3']
}),
color: '#2ecc71'
} //OTHER LETTERS HERE..
};
//CREATING CIRCLES ON THE SCREEN
var circles=[];
function onKeyUp(event) {
if (keyData[event.key]){
var maxPoint = new Point(view.size.width,view.size.height);
var randomPoint = Point.random();
var point = randomPoint * maxPoint;
newCircle = new Path.Circle(point, 100);
newCircle.fillColor=keyData[event.key].color;
circles.push(newCircle);
keyData[event.key]['sound'].play()
}
};
//MAKE CIRCLES DISAPPEAR
function onFrame(event) {
for(var i=0; i< circles.length;i++){
circles[i].fillColor.hue += 1;
circles[i].scale(0.99);
if(circles[i].area < 1){
circles[i].remove();
circles.splice(i, 1);
console.log(circles);
}
}
};
AdamW さん、ご回答ありがとうございます。
私が抱えている問題は、上記の行に関するものです。それは私には意味がありません、それは私がやっているようなものです
// ON PAPER.JS
function onKeyUp(event){
//do stuff..
};
// ON MY PROJECT
function onKeyUp(event){
//do other different stuff..
};
しかし、この方法では、Paper.js に記述された onKeyUp() メソッドのみを「クリア」し、onKeyUp() と呼ばれる新しい関数、つまりポリモーフィズムを優先します。それで、なぜ私はそれをするのですか?onFrame() メソッドについても同様です。