A-Frame简单例子——hello world

首先,推荐一个学习A-Frame的网站 https://aframe.io/
下面,先看一个简单的例子:

源代码:


<html>
  <head>
    <meta charset="utf-8">
    <title>Hello, World! • A-Frametitle>
    <meta name="description" content="Hello, World! • A-Frame">
    <script src="../../../dist/aframe-master.js">script>
  head>
  <body>
    <a-scene>

      <a-sphere position="0 1.25 -1" radius="1.25" color="#EF2D5E">a-sphere>
      <a-box position="-1 0.5 1" rotation="0 45 0" width="1" height="1" depth="1"  color="#4CC3D9">a-box>
      <a-cylinder position="1 0.75 1" radius="0.5" height="1.5" color="#FFC65D">a-cylinder>
      <a-plane rotation="-90 0 0" width="4" height="4" color="#7BC8A4">a-plane>

      <a-sky color="#ECECEC">a-sky>
      <a-entity position="0 0 3.8">
        <a-camera>a-camera>
      a-entity>
    a-scene>
  body>
html>

代码来源:https://github.com/aframevr/aframe/blob/v0.5.0/examples/boilerplate/hello-world/index.html

接下来,分析代码:

声明必须是 HTML 文档的第一行,位于 标签之前。
声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
HTML5中只有一种声明:

是HTML标签,该元素可以告知浏览器自身是一个HTML文档。
标签限定了文档的开始点和结束点,在它们之间是文档的头部和主体。

是HTML标签,该标签用于定义文档的头部,是所有头部元素的容器。
标签限定了文档的开始点和结束点,在它们之间是文档的头部和主体。

是HTML标签,该元素定义文档的主体。
元素包含了文档的所有内容(比如文本、超链接、图像、表格和列表等等)。

是HTML标签,该元素提供有关页面的元信息,比如针对搜索引擎和更新频度的描述和关键词。
标签位于文档的头部,不包含任何内容。标签的属性定义了与文档相关联的名称/值对。
定义了文档的字符编码格式是utf-8编码;
定义了对页面的描述;
更多的属性 :
定义针对搜索引擎的关键词;
定义了页面的最新版本;
每5秒刷新一次页面。

是HTML标签,该元素可以定义文档的标题。
</code></strong> 与 <strong><code> 标签位于文档头部,是标签唯一要求包含的东西。

是HTML标签,用于定义客户端脚本,比如JavaScript。
script元素既可以包含脚本语句,也可以通过src属性指向外部脚本文件。
标签可以在文档的头部,也可以在文档的主题部分。

是A-Frame的元素,该元素代表了一个场景。
可以给我们提供three.js和WebVR的所有样本引用:

  • 设置画布(canvas),渲染器(renderer),渲染循环(render loop)
  • 默认的相机和灯光
  • 设置webvr-polyfill,VREffect
  • 在VR中增加UI,即WebVR API

查看更多

sphere创建一个球形的或者多面体的形状。它封装了一个实体,规定几何元素的几何组件设置为sphere。 查看更多

position 所有实体都具备的位置组件,表示将实体放在3D空间的某个位置。 查看更多
radius 实体的属性,表示sphere的半径,组件映射是geometry.radius。
color 实体的属性,表示sphere的基本漫射颜色,组件映射是material.color。

box创建例如盒子、立方体或者墙壁之类的形状。 查看更多

position 、color同上;
rotation 所有实体都具备的旋转组件,定义了一个实体的方向。 查看更多
width 实体的属性,如果定义一个视频的纹理,表示视频的宽度(像素为单位),组件映射是material.width。
height 实体的属性,如果定义一个视频的纹理,表示视频的高度(像素为单位),组件映射是material.height。
depth 实体的属性,box实体在Z轴的深度(单位m),组件映射是geometry.depth。

cylinder经常用来创建管子和弯曲表面。 查看更多

plane使用几何组件的类型创建平坦表面。 查看更多

是为一个场景增加一个背景颜色或者360°的图片。sky是一个有颜色或者纹理映射在内部的球体。 查看更多

A-Frame代表着由 元素定义的实体。 查看更多

确定了用户看到什么。我们可以通过修改camera实体的position和rotation来改变视口。 查看更多

你可能感兴趣的:(vr-开发)