From ac961094bda9133444bb172cdd8ce32c8388ab3c Mon Sep 17 00:00:00 2001 From: JimMarlowe Date: Wed, 28 Dec 2016 10:54:07 -0800 Subject: [PATCH 1/2] fix both butterfly examples --- .../CSharp/Resources/Components/Spawner.cs | 21 +++++++++++++++++++ .../JavaScript/Resources/Scripts/main.js | 3 +++ 2 files changed, 24 insertions(+) diff --git a/Butterflies/CSharp/Resources/Components/Spawner.cs b/Butterflies/CSharp/Resources/Components/Spawner.cs index dc279bd..12df524 100644 --- a/Butterflies/CSharp/Resources/Components/Spawner.cs +++ b/Butterflies/CSharp/Resources/Components/Spawner.cs @@ -21,6 +21,12 @@ void Update(float timeStep) 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 @@ void createButterflyNode(Vector2 pos) } + 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(); + + pex.SetEffect(GetSubsystem().GetResource ("Particles/particle.pex")); + + } Viewport viewport; diff --git a/Butterflies/JavaScript/Resources/Scripts/main.js b/Butterflies/JavaScript/Resources/Scripts/main.js index 5ca54dd..3dc74ba 100644 --- a/Butterflies/JavaScript/Resources/Scripts/main.js +++ b/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"); From f8004ab32d0452c84bab6e7643a8948e69934a6a Mon Sep 17 00:00:00 2001 From: JimMarlowe Date: Thu, 29 Dec 2016 06:29:46 -0800 Subject: [PATCH 2/2] fix butterfly pr issues --- .../CSharp/Resources/Components/Spawner.cs | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Butterflies/CSharp/Resources/Components/Spawner.cs b/Butterflies/CSharp/Resources/Components/Spawner.cs index 12df524..60e5a36 100644 --- a/Butterflies/CSharp/Resources/Components/Spawner.cs +++ b/Butterflies/CSharp/Resources/Components/Spawner.cs @@ -20,13 +20,13 @@ void Update(float timeStep) 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(); + } + else if (input.GetMouseButtonDown(Constants.MOUSEB_RIGHT)) + { + var mousePos = input.GetMousePosition(); - createButterflyParticle(new Vector2(mousePos.X, mousePos.Y)); - } + createButterflyParticle(new Vector2(mousePos.X, mousePos.Y)); + } } @@ -44,21 +44,21 @@ void createButterflyNode(Vector2 pos) } - void createButterflyParticle(Vector2 pos) - { - //project mouse screen position to the world position - var screenPos = viewport.ScreenToWorldPoint((int) pos.X, (int) pos.Y, 0); + 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"); + //create particle emitter + var emitter = Scene.CreateChild("ButterflyEmitter"); - emitter.Position2D = new Vector2(screenPos.X, screenPos.Y); + emitter.Position2D = new Vector2(screenPos.X, screenPos.Y); - var pex = emitter.CreateComponent(); + var pex = emitter.CreateComponent(); - pex.SetEffect(GetSubsystem().GetResource ("Particles/particle.pex")); + pex.SetEffect(GetSubsystem().GetResource ("Particles/particle.pex")); - } + } Viewport viewport;