使用 canvas 的多个场景
Multiple a-scene using canvas
我想用框架搭建一个房屋参观。房子有 6 个房间供您探索。我读到我们可以在场景中使用 canvas 。我想知道是否可以有多个 canvas,例如 canvas="canvas: scene1"、scene2 等等。
这是我第一个场景的示例代码
<a-scene canvas="canvas: scene1">
<a-assets>
<img id="abtus" src="images/about.jpg">
<img id="led" src="images/2.jpg">
<img id="crt" src="images/3.jpg">
<img id="scm" src="images/4.jpg">
<img id="dev" src="images/5.jpg">
<a-mixin id="cube" geometry="primitive: box"></a-mixin>
<a-mixin id="black" material="color: black"></a-mixin>
<a-mixin id="yellow" material="color: #EB9C27"></a-mixin>
<a-mixin id="link" geometry="primitive: plane; width: 0.8; height: 0.8">
<a-mixin id="link-selected" geometry="primitive: plane; width: 1.4; height: 1.4">
</a-mixin>
</a-assets>
<!-- camera -->
<a-entity camera no-click look-controls>
<a-entity id="cursor" position="0 0 -3"
geometry="primitive: ring; radiusOuter: 0.1;
radiusInner: 0.05;"
material="color: green; shader: flat"
cursor="maxDistance: 900; fuse: true; timeout=1500">
<a-animation begin="click" easing="ease-in" attribute="scale"
fill="backwards" from="0.1 0.1 0.1" to="1 1 1" dur="150"></a-animation>
<a-animation begin="fusing" easing="ease-in" attribute="scale"
fill="forwards" from="1 1 1" to="0.1 0.1 0.1" dur="1500"></a-animation>
</a-entity>
</a-entity>
<a-entity
geometry="primitive:sphere;radius:5000;segmentsWidth:64;segmentsHeight:64"
material="shader:flat;color:#ffffff;fog:false;src:abtus"
scale="-1 1 1"
id="photosphere">
</a-entity>
</a-scene>
与其尝试设置多个场景,不如将不同的房间定义为 a-entity
并使用 javascript 一次显示一个房间会更容易。然后你可以只用一个场景来处理所有的事情,并有一种简单的方法来使用动画进行转换(比如在切换时为不同房间实体的不透明度设置动画)
我想用框架搭建一个房屋参观。房子有 6 个房间供您探索。我读到我们可以在场景中使用 canvas 。我想知道是否可以有多个 canvas,例如 canvas="canvas: scene1"、scene2 等等。
这是我第一个场景的示例代码
<a-scene canvas="canvas: scene1">
<a-assets>
<img id="abtus" src="images/about.jpg">
<img id="led" src="images/2.jpg">
<img id="crt" src="images/3.jpg">
<img id="scm" src="images/4.jpg">
<img id="dev" src="images/5.jpg">
<a-mixin id="cube" geometry="primitive: box"></a-mixin>
<a-mixin id="black" material="color: black"></a-mixin>
<a-mixin id="yellow" material="color: #EB9C27"></a-mixin>
<a-mixin id="link" geometry="primitive: plane; width: 0.8; height: 0.8">
<a-mixin id="link-selected" geometry="primitive: plane; width: 1.4; height: 1.4">
</a-mixin>
</a-assets>
<!-- camera -->
<a-entity camera no-click look-controls>
<a-entity id="cursor" position="0 0 -3"
geometry="primitive: ring; radiusOuter: 0.1;
radiusInner: 0.05;"
material="color: green; shader: flat"
cursor="maxDistance: 900; fuse: true; timeout=1500">
<a-animation begin="click" easing="ease-in" attribute="scale"
fill="backwards" from="0.1 0.1 0.1" to="1 1 1" dur="150"></a-animation>
<a-animation begin="fusing" easing="ease-in" attribute="scale"
fill="forwards" from="1 1 1" to="0.1 0.1 0.1" dur="1500"></a-animation>
</a-entity>
</a-entity>
<a-entity
geometry="primitive:sphere;radius:5000;segmentsWidth:64;segmentsHeight:64"
material="shader:flat;color:#ffffff;fog:false;src:abtus"
scale="-1 1 1"
id="photosphere">
</a-entity>
</a-scene>
与其尝试设置多个场景,不如将不同的房间定义为 a-entity
并使用 javascript 一次显示一个房间会更容易。然后你可以只用一个场景来处理所有的事情,并有一种简单的方法来使用动画进行转换(比如在切换时为不同房间实体的不透明度设置动画)