Browse Source

fix both butterfly examples

JimMarlowe 9 years ago
parent
commit
ac961094bd

+ 21 - 0
Butterflies/CSharp/Resources/Components/Spawner.cs

@@ -21,6 +21,12 @@ public class Spawner : CSComponent
             for (var i = 0; i < 10; i++)
                 createButterflyNode(new Vector2(mousePos.X, mousePos.Y));
         }        
+		else if (input.GetMouseButtonDown(Constants.MOUSEB_RIGHT))
+		{
+			var mousePos = input.GetMousePosition();
+
+			createButterflyParticle(new Vector2(mousePos.X, mousePos.Y));
+		}        
 
     }
 
@@ -38,6 +44,21 @@ public class Spawner : CSComponent
 
     }
 
+	void createButterflyParticle(Vector2 pos)
+	{
+		//project mouse screen position to the world position
+		var screenPos = viewport.ScreenToWorldPoint((int) pos.X, (int) pos.Y, 0);
+
+		//create particle emitter
+		var emitter = Scene.CreateChild("ButterflyEmitter");
+
+		emitter.Position2D = new Vector2(screenPos.X, screenPos.Y);
+
+		var pex = emitter.CreateComponent<ParticleEmitter2D>();
+
+		pex.SetEffect(GetSubsystem<ResourceCache>().GetResource<ParticleEffect2D> ("Particles/particle.pex"));
+
+	}
     Viewport viewport;
 
 

+ 3 - 0
Butterflies/JavaScript/Resources/Scripts/main.js

@@ -3,6 +3,9 @@
 // create a scene
 var scene = new Atomic.Scene();
 
+// assign scene into global so it's not GC'd
+Atomic.Player.currentScene = scene;
+
 // create an octree component
 scene.createComponent("Octree");