如何在 aframe 中以编程方式创建 a-assets?
how can I create a-assets programmatically in aframe?
我正在使用 cloudinary 为平面提供纹理。我已经为 cloudinary 创建了一个后端,这样我就可以替换 cloudinary 上的图像,但是为了反映在我的 aframe 应用程序上,我需要在每次有人加载页面时更改 URL 中的版本我如何设置 a-assets为此,我以编程方式尝试创建一个 addasset 组件并将其附加到 a-assets 但它在这里不起作用是我创建的代码片段
如果有一种方法可以通过发出任何事件来重新加载 a-assets,请告知,因为这也可以
img 已添加到 a-assets 我在 chrome 调试工具
中对其进行了检查
AFRAME.registerComponent('addasset', {
init: function() {
var version = Math.floor(Math.random() * 101);
var str = "https://res.cloudinary.com/blinklink-solutions/image/upload/v" + version + "/v1/Fizan%20Polarized%20Sunglasses.jpeg.jpg"
// var str="https://res.cloudinary.com/blinklink-solutions/image/upload/v"+version+"/eyesdeal%20texture/dialogleft.png"
var assets = document.getElementById('assets');
var img = document.createElement("img");
img.setAttribute("id", "off1");
img.setAttribute("src", str);
console.log(assets);
console.log(str);
assets.appendChild(img);
var plane = document.getElementById("offer_plane");
plane.setAttribute("src", "#off1")
},
});
a-assets用于在场景开始渲染之前预取资源。加载后修改它没有意义。两个选项:
- 不要使用
a-assets
并在运行时在平面上设置正确的图像URL。例如; planeEl.setAttribute('src', 'url(xxx)');
- 生成您的 HTML 服务器端并在将页面发送到客户端之前使用正确的 URL 填充 a-assets。
我正在使用 cloudinary 为平面提供纹理。我已经为 cloudinary 创建了一个后端,这样我就可以替换 cloudinary 上的图像,但是为了反映在我的 aframe 应用程序上,我需要在每次有人加载页面时更改 URL 中的版本我如何设置 a-assets为此,我以编程方式尝试创建一个 addasset 组件并将其附加到 a-assets 但它在这里不起作用是我创建的代码片段
如果有一种方法可以通过发出任何事件来重新加载 a-assets,请告知,因为这也可以 img 已添加到 a-assets 我在 chrome 调试工具
中对其进行了检查AFRAME.registerComponent('addasset', {
init: function() {
var version = Math.floor(Math.random() * 101);
var str = "https://res.cloudinary.com/blinklink-solutions/image/upload/v" + version + "/v1/Fizan%20Polarized%20Sunglasses.jpeg.jpg"
// var str="https://res.cloudinary.com/blinklink-solutions/image/upload/v"+version+"/eyesdeal%20texture/dialogleft.png"
var assets = document.getElementById('assets');
var img = document.createElement("img");
img.setAttribute("id", "off1");
img.setAttribute("src", str);
console.log(assets);
console.log(str);
assets.appendChild(img);
var plane = document.getElementById("offer_plane");
plane.setAttribute("src", "#off1")
},
});
a-assets用于在场景开始渲染之前预取资源。加载后修改它没有意义。两个选项:
- 不要使用
a-assets
并在运行时在平面上设置正确的图像URL。例如;planeEl.setAttribute('src', 'url(xxx)');
- 生成您的 HTML 服务器端并在将页面发送到客户端之前使用正确的 URL 填充 a-assets。