是否可以对three.js自动生成的画布进行样式化/定位
Is it possible to style/position the canvas that is generated automatically by three.js?
我一直在学习three.js的在线教程,该教程将生成一个旋转的3D立方体。我在脚本文件中使用了以下JavaScript:
function spin() {
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth/2, window.innerHeight/2);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.BoxGeometry(1, 1, 1);
var material = new THREE.MeshBasicMaterial( { color: 0xffff00});
var cube = new THREE.Mesh(geometry, material);
camera.position.z = 5;
scene.add(cube);
var render = function(){
requestAnimationFrame(render);
cube.rotation.x += 0.1;
cube.rotation.y += 0.1;
renderer.render(scene, camera);
};
render();
}
目前,这会在黑色背景上生成一个旋转的黄色立方体。我可以看到,可以更改画布的大小(使用renderer.setSize()),但是否可以在页面上重新定位它(或添加其他样式,如透明背景)?例如将其装配在其他元件周围。
我想也许可以创建我自己的画布,并在这个画布上创建立方体,而不是使用three.js生成的立方体,这可能吗?
这两种方法都是可能的,都使用CSS(用于静态样式)或JS(用于动态样式更改)。最后,它只是一个画布元素,您可以像访问任何其他元素一样访问它。
您可以将自己的画布传递给渲染器,如下所示:
new THREE.WebGLRenderer({ canvas: myCanvasElement });
其中myCanvasElement
当然是元素参考。
相关文章:
- 对插件初始化后动态加载的元素进行样式设置
- 更改:在使用Javascript进行样式设置之前
- 是否可以对three.js自动生成的画布进行样式化/定位
- KnockoutJS,使用2D数组进行样式绑定
- 在AngularJS中构建SPA应用程序与纯JavaScript - 选择哪种Boostrap进行样式设置
- 我将如何使用CSS3对动态创建的jQuery UI元素进行样式设置
- Tumblr JS嵌入CSS/HTML标签进行样式设置
- 更好或更坏:使用 JavaScript 与 CSS 进行样式设计
- 如何使用 Web 浏览器控件进行样式设置,但具有 C# 中的逻辑
- 在FF上使用本机Javascript进行样式属性操作
- 使用 React-Toolbox 的按钮进行样式设置不起作用
- CKEDITOR没有't对来自数据库的文本进行样式设置
- 如何解决IE7无法对通过DOMapi创建的动态元素进行样式化的问题
- 使用实时数据对GeoJSON文件中的许多标记进行样式化
- 如何使用D3加载csv,显示表,并在javascript中使用引导程序进行样式设置
- 当ng模型在文本字段中发生变化时,使用AngularJS对标签进行样式设置
- extjs 3.X对TAB面板进行样式化
- JavaScript函数-遍历字符串,对单个字符进行样式化
- 如何在JTextArea中对文本进行样式化(加粗)
- 我可以使用相同的样式函数对不同的GeoJSON层进行样式设置吗?