# A-Frame & VWF simple scene # Copyright 2017 Krestianstvo.org project --- extends: http://vwf.example.com/aframe/ascene.vwf properties: transparent: true children: fog: extends: http://vwf.example.com/aframe/aSceneFogComponent.vwf type: "component" properties: fogType: "linear" fogColor: "#ECECEC" far: 9 near: 0 sky: extends: http://vwf.example.com/aframe/asky.vwf properties: children: material: extends: http://vwf.example.com/aframe/aMaterialComponent.vwf properties: color: "#ECECEC" side: "back" fog: false light1: extends: http://vwf.example.com/aframe/alight.vwf properties: type: "ambient" color: "#BBB" light2: extends: http://vwf.example.com/aframe/alight.vwf properties: type: "directional" color: "#FFF" intensity: 0.6 position: "-0.5 1 1" spaceText: extends: http://vwf.example.com/aframe/atext.vwf properties: value: "Virtual World Framework & A-Frame" color: "#b74217" position: "-2 2.5 -2" spaceText2: extends: http://vwf.example.com/aframe/atext.vwf properties: value: "Project by Krestianstvo.org" color: "#305b32" position: "1 3 -4" box: extends: http://vwf.example.com/aframe/abox.vwf properties: position: "-1 0.5 -3" rotation: "0 -30 0" depth: 2 height: 1 width: 1 class: "clickable intersectable" children: material: extends: http://vwf.example.com/aframe/aMaterialComponent.vwf properties: color: "#3c7249" transparent: true raycaster-listener: extends: http://vwf.example.com/aframe/app-raycaster-listener-component.vwf type: "component" cursor-listener: extends: http://vwf.example.com/aframe/app-cursor-listener-component.vwf type: "component" events: clickEvent: intersectEvent: clearIntersectEvent: methods: clickEventMethod: body: | let genColor = this.generateColor(); this.material.color = genColor intersectEventMethod: body: | this.material.opacity = 0.7 clearIntersectEventMethod: body: | this.material.opacity = 1.0 generateColor: body: | var letters = '0123456789ABCDEF'; var color = '#'; for (var i = 0; i < 6; i++) { color += letters[Math.floor(this.random() * 16)]; } return color sphere: extends: http://vwf.example.com/aframe/asphere.vwf properties: position: "1 1.25 -4" radius: 1 children: material: extends: http://vwf.example.com/aframe/aMaterialComponent.vwf properties: color: "#e0e014" wireframe: true box2: extends: http://vwf.example.com/aframe/abox.vwf properties: position: "2 -0.75 0" depth: 1 children: material: extends: http://vwf.example.com/aframe/aMaterialComponent.vwf properties: color: "#2167a5" interpolation: extends: http://vwf.example.com/aframe/interpolation-component.vwf properties: enabled: true methods: run: body: | var time = vwf.now; let rot = this.rotation; //AFRAME.utils.coordinates.parse(this.rotation); let pos = this.position; //AFRAME.utils.coordinates.parse(this.position); this.position = [pos[0], pos[1], Math.sin(time)]; this.rotation = [rot[0], rot[1], Math.sin(time)*100]; this.future( 0.01 ).run(); methods: initialize: body: | var runBox = vwf.find("", "/sphere/box2")[0]; console.log(runBox); vwf.callMethod(runBox, "run");