在這裏,我有我出口由browserify捆綁一個P5對象:導出p5.js與Browserify功能
var p5 = require('p5')
var colorPicker = require('./color_picker.js')
module.exports = new p5(function() {
this.setup = function setup() {
this.createCanvas(700, 400)
this.background(205)
this.loadImage('/uploads/uploaded_image', function (img) {
image(img, 0, 0)
})
this.updatePixels()
}
this.clearCanvas = function redraw() {
this.background('black')
}
this.mouseDragged = function mouseDragged() {
var rgb = colorPicker.getRGB()
this.stroke(rgb.r, rgb.g, rgb.b)
this.strokeWeight(10)
this.line(this.pmouseX, this.pmouseY, this.mouseX, this.mouseY)
}
})
所有這一切工作正常,我可以訪問所有內置在P5功能在其他捆綁腳本,但不是我定義的clearCanvas函數。我也試圖將其連接到基於另一個窗口對象,以便張貼,像這樣:
window.this.clearCanvas = function redraw(){
//code
}
一切至今已取得遺漏的類型錯誤:無法設置屬性「clearCanvas」未定義
任何想法是什麼我」米做錯了嗎?
我剛剛檢查了[p5.js on github]的代碼(https://github.com/processing/p5.js/search?utf8=%E2%9C%93&q=clearCanvas),似乎有沒有'clearCanvas'功能。它在哪裏提到?我還檢查了文檔:'createCanvas()','resizeCanvas()','noCanvas()','createGraphics()','blendMode()'是它所提供的。 –
clearCanvas是我定義的使用redraw()函數的函數。我沒有問題從其他捆綁腳本訪問內置於p5的函數,但是如果我在canvas.js(上面的腳本)中創建函數並捆綁它。我可以在另一個腳本中訪問我在canvas.js中創建的函數,還是隻能使用內置於p5.js中的函數? – Nohman