| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 'atomic component';
- var halfWidth = Atomic.graphics.width * Atomic.PIXEL_SIZE * 0.5;
- var halfHeight = Atomic.graphics.height * Atomic.PIXEL_SIZE * 0.5;
- //Light component
- exports.component = function(self) {
- //Link to the current node
- var node = self.node;
- //Get PointLight2D component and set its color
- var light = node.getComponent("PointLight2D");
- light.color = [.1 + Math.random() * .9, .1 + Math.random() * .9, .1 + Math.random() * .9, 1];
- var x = -halfWidth + (halfWidth * 2) * Math.random();
- var y = -halfHeight + (halfHeight * 2) * Math.random();
- //Set position of the current node in the 2D space
- node.position2D = [x, y];
- var movex = -2 + (Math.random() * 4);
- var movey = -2 + (Math.random() * 4);
- // Update function calls one per each frame
- self.update = function(timeStep) {
- var prev = node.position2D;
- //translate node in 2D space on X and Y values
- node.translate2D([movex * timeStep, movey * timeStep]);
- var p = node.position2D;
- if (p[0] < -halfWidth || p[0] > halfWidth) {
- node.position2D = prev;
- movex = -movex;
- }
- if (p[1] < -halfHeight || p[1] > halfHeight) {
- node.position2D = prev;
- movey = -movey;
- }
- };
- };
|