我對javascript很陌生,我試圖編寫一個小項目,如Patatap。Paper.js onKeyDown方法
我爲動畫使用Paper.js,爲事件偵聽器使用onKeyUp method,以便在按按鈕時顯示圖像。此代碼正常工作,但我不明白這種方法如何工作,我在做什麼?我是否再次定義該功能?我在大括號裏面定義了什麼? 功能的onkeyup(事件){..defining該函數?? ..}
(I具有與 「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() \t \t \t
}
};
//MAKE CIRCLES DISAPPEAR
function onFrame(event) {
for(var i=0; i< circles.length;i++){
\t circles[i].fillColor.hue += 1;
\t circles[i].scale(0.99);
\t if(circles[i].area < 1){
\t circles[i].remove();
\t circles.splice(i, 1);
\t console.log(circles);
\t }
}
};
謝謝AdamW的回答。
我的問題是關於上面的行。這是沒有意義對我來說,這就像我在做
// ON PAPER.JS
function onKeyUp(event){
//do stuff..
};
// ON MY PROJECT
function onKeyUp(event){
//do other different stuff..
};
但是這樣一來,我將只「清除」的onkeyup()方法寫在Paper.js並優先我新的函數叫onKeyUp(),簡單的多態。 那麼,我爲什麼要這樣做呢? onFrame()方法也是如此。