Andrew Meadowsarchive remaining JS scriptsc0b446c10 years agoHistory
55 lines · 1.7 KB · JavaScript
RawDownload
////  changeColorOnHover.js//  examples/entityScripts////  Created by Brad Hefta-Gaub on 11/1/14.//  Copyright 2014 High Fidelity, Inc.////  This is an example of an entity script which when assigned to a non-model entity like a box or sphere, will//  change the color of the entity when you hover over it. This script uses the JavaScript prototype/class functionality//  to construct an object that has methods for hoverEnterEntity and hoverLeaveEntity;////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html//  ChangeColorOnHover = function(){  this.oldColor = {};  this.oldColorKnown = false;}; ChangeColorOnHover.prototype = {   storeOldColor: function(entityID) {    var oldProperties = Entities.getEntityProperties(entityID);    this.oldColor = oldProperties.color;    this.oldColorKnown = true;    print("storing old color... this.oldColor=" + this.oldColor.red + "," + this.oldColor.green + "," + this.oldColor.blue);  },    preload: function(entityID) {    print("preload");    this.storeOldColor(entityID);  },    hoverEnterEntity: function(entityID, mouseEvent) {     print("hoverEnterEntity");    if (!this.oldColorKnown) {        this.storeOldColor(entityID);    }    Entities.editEntity(entityID, { color: { red: 0, green: 255, blue: 255} });  },      hoverLeaveEntity: function(entityID, mouseEvent) {     print("hoverLeaveEntity");    if (this.oldColorKnown) {        print("leave restoring old color... this.oldColor="                     + this.oldColor.red + "," + this.oldColor.green + "," + this.oldColor.blue);        Entities.editEntity(entityID, { color: this.oldColor });    }  }};