Я хочу загрузить то же самое изображение для частиц в pts.js.
Когда я пытаюсь использовать локальное изображение из моей папки ресурсов, я получаю сообщение об ошибке «NS_ERROR_NOT_AVAILABLE:» в консоли.
Я где-то читал, что это может быть связано с тем, что изображение пытается быть использовано до того, как оно будет загружено в ...
Я также попытался использовать внешнюю ссылку на какое-то другое изображение, а нечем местный, и это работает.Поэтому не уверен, что происходит с моими локальными файлами.
РЕДАКТИРОВАТЬ:
Я только что попробовал это на Chrome, а не Firefox, и я получаю новое и более подробное сообщение об ошибке.
"Uncaught DOMException: не удалось выполнить 'drawImage' для 'CanvasRenderingContext2D': предоставленный элемент HTMLImageElement находится в состоянии 'поврежден'."в pts.min.js: 6.
Все еще не уверен, что именно не так.
Pts.quickStart('#hello', 'transparent')
var world
// Loading in image to be used
var myImg = new Image()
myImg.src = '/assets/img/myImage.png'
space.add({
start: (bound, space) => {
// Create world and 100 random points
world = new World(space.innerBound, 1, 0)
let pts = Create.distributeRandom(space.innerBound, 20)
// Create particles and hit them with a random impulse
for (let i = 0, len = pts.length; i < len; i++) {
let p = new Particle(pts[i]).size(i === 0 ? 10 : 20)
p.hit(0, 0)
world.add(p)
}
world.particle(0).lock = true
},
animate: (time, ftime) => {
world.drawParticles((p, i) => {
// Image variable for the particle to be drawn as
form.image(myImg)
})
world.update(ftime)
},
action: (type, px, py) => {
if (type == 'move') {
world.particle(0).position = new Pt(px, py)
}
},
resize: (bound, evt) => {
if (world) world.bound = space.innerBound
}
})
space.bindMouse().bindTouch()
space.play()