//// fireworksLaunchButtonEntityScript.js//// Created by Eric Levin on 3/7/2016// Copyright 2016 High Fidelity, Inc.//// This is the chapter 2 entity script of the fireworks tutorial//// Distributed under the Apache License, Version 2.0. (function() { Script.include("../../libraries/utils.js"); var _this; Fireworks = function() { _this = this; _this.launchSound = SoundCache.getSound("https://s3-us-west-1.amazonaws.com/hifi-content/eric/Sounds/missle+launch.wav"); }; Fireworks.prototype = { startNearTrigger: function() { _this.shootFirework(_this.position); }, startFarTrigger: function() { _this.shootFirework(_this.position); }, clickReleaseOnEntity: function() { _this.shootFirework(_this.position); }, shootFirework: function(launchPosition) { Audio.playSound(_this.launchSound, { position: launchPosition, volume: 0.5 }); var smoke = Entities.addEntity({ type: "ParticleEffect", position: _this.position, velocity: {x: 0, y: 3, z: 0}, lifespan: 10, lifetime: 20, isEmitting: true, name: "Smoke Trail", maxParticles: 3000, emitRate: 80, emitSpeed: 0, speedSpread: 0, polarStart: 0, polarFinish: 0, azimuthStart: -3.14, azimuthFinish: 3.14, emitAcceleration: { x: 0, y: 0.01, z: 0 }, accelerationSpread: { x: 0.01, y: 0, z: 0.01 }, radiusSpread: 0.03, particleRadius: 0.3, radiusStart: 0.06, radiusFinish: 0.9, alpha: 0.1, alphaSpread: 0, alphaStart: 0.7, alphaFinish: 0, textures: "https://hifi-public.s3.amazonaws.com/alan/Particles/Particle-Sprite-Smoke-1.png", emitterShouldTrail: true, }); }, preload: function(entityID) { _this.entityID = entityID; _this.position = Entities.getEntityProperties(_this.entityID, "position").position; } }; // entity scripts always need to return a newly constructed object of our type return new Fireworks(); });
//
// fireworksLaunchButtonEntityScript.js
//
// Created by Eric Levin on 3/7/2016
// Copyright 2016 High Fidelity, Inc.
//
// This is the chapter 2 entity script of the fireworks tutorial
//
// Distributed under the Apache License, Version 2.0.
(function() {
Script.include("../../libraries/utils.js");
var _this;
Fireworks = function() {
_this = this;
_this.launchSound = SoundCache.getSound("https://s3-us-west-1.amazonaws.com/hifi-content/eric/Sounds/missle+launch.wav");
};
Fireworks.prototype = {
startNearTrigger: function() {
_this.shootFirework(_this.position);
},
startFarTrigger: function() {
_this.shootFirework(_this.position);
},
clickReleaseOnEntity: function() {
_this.shootFirework(_this.position);
},
shootFirework: function(launchPosition) {
Audio.playSound(_this.launchSound, {
position: launchPosition,
volume: 0.5
});
var smoke = Entities.addEntity({
type: "ParticleEffect",
position: _this.position,
velocity: {x: 0, y: 3, z: 0},
lifespan: 10,
lifetime: 20,
isEmitting: true,
name: "Smoke Trail",
maxParticles: 3000,
emitRate: 80,
emitSpeed: 0,
speedSpread: 0,
polarStart: 0,
polarFinish: 0,
azimuthStart: -3.14,
azimuthFinish: 3.14,
emitAcceleration: {
x: 0,
y: 0.01,
z: 0
},
accelerationSpread: {
x: 0.01,
y: 0,
z: 0.01
},
radiusSpread: 0.03,
particleRadius: 0.3,
radiusStart: 0.06,
radiusFinish: 0.9,
alpha: 0.1,
alphaSpread: 0,
alphaStart: 0.7,
alphaFinish: 0,
textures: "https://hifi-public.s3.amazonaws.com/alan/Particles/Particle-Sprite-Smoke-1.png",
emitterShouldTrail: true,
});
},
preload: function(entityID) {
_this.entityID = entityID;
_this.position = Entities.getEntityProperties(_this.entityID, "position").position;
}
};
// entity scripts always need to return a newly constructed object of our type
return new Fireworks();
});