123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- this.init = function(){
- this.height = this.height ? this.height : 0.3;
- this.width = this.width? this.width : 0.4;
- this.class = "clickable intersectable";
- this.baseColor = this.baseColor ? this.baseColor : 'white';
- this.hoverColor = this.hoverColor ? this.hoverColor : 'green';
- this.clickColor = this.clickColor ? this.clickColor : 'blue';
- let material = {
- "extends": "proxy/aframe/aMaterialComponent.vwf",
- "type": "component",
- "properties": {
- "transprent": true,
- "opacity": 0.3,
- "color": "white",
- "side": "double"
- }
- }
- let cursorListener = {
- "extends": "proxy/aframe/app-raycaster-listener-component.vwf",
- "type": "component"
- }
- let raycasterListener = {
- "extends": "proxy/aframe/app-raycaster-listener-component.vwf",
- "type": "component"
- }
- let textNode = {
- "extends": "proxy/aframe/atext.vwf",
- "properties": {
- "value": this.text,
- "color": "white",
- "position": [-this.width/2, 0, 0],
- "width": this.width*10
- }
- }
- this.children.create('material', material);
- this.children.create('cursor-listener', cursorListener);
- this.children.create('raycaster-listener', raycasterListener);
- this.children.create('textNode', textNode);
- }
- this.intersectEventMethod = function(){
- this.material.opacity = 0.6;
- this.material.color = this.hoverColor
- }
- this.clearIntersectEventMethod = function(){
- this.material.opacity = 0.3;
- this.material.color = this.baseColor
- }
- this.mousedownAction = function(point, controllerID){
- this.triggerdownAction(point, controllerID);
- }
- this.mouseupAction = function(point, controllerID){
- this.triggerupAction(point, controllerID);
- }
- this.triggerdownAction = function(point, controllerID){
- this.material.color = this.clickColor;
- let target = this.target ? this.getScene().findNode(this.target) :
- this.parent;
- target.doButtonTriggerdownAction(this.id, controllerID, point);
- }
- this.triggerupAction = function(point, controllerID){
- this.material.color = this.baseColor;
- let target = this.target ? this.getScene().findNode(this.target) :
- this.parent;
- target.doButtonTriggerupAction(this.id, controllerID);
-
- }
|