Здесь у меня есть объект p5, что я экспортирующий быть в комплекте по browserify:Экспортирующего 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. Я также попытался его подключением к объекту окна на основе другого SO размещать, например:
window.this.clearCanvas = function redraw(){
//code
}
Все до сих пор давал неперехваченный TypeError: Невозможно установить свойство «clearCanvas» неопределенной
Любой идею, что я Неправильно?
Я только что проверил код [p5.js на 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