From 89a7d8e2923776e59130b4d5c5e5f82ed425e828 Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 25 Nov 2018 10:16:35 +0800 Subject: =?UTF-8?q?*=E7=B2=92=E5=AD=90=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/ParticleSystem.exe | Bin 1161216 -> 1161216 bytes examples/particle_system/main.cpp | 13 ++++++++++++- src/libjin/graphics/particles/je_particle.cpp | 2 +- src/lua/common/je_lua.cpp | 9 --------- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/bin/ParticleSystem.exe b/bin/ParticleSystem.exe index ec0a224..d3091da 100644 Binary files a/bin/ParticleSystem.exe and b/bin/ParticleSystem.exe differ diff --git a/examples/particle_system/main.cpp b/examples/particle_system/main.cpp index 3fd96ce..1d4bd7c 100644 --- a/examples/particle_system/main.cpp +++ b/examples/particle_system/main.cpp @@ -16,9 +16,13 @@ using namespace JinEngine::Time; ParticleSystem* p; Timer timer; Timer::Handler* hnd; -Texture* tex; Shader* shader; +Texture* tex; Sprite* spr; +Texture* tex1; +Sprite* spr1; +Texture* tex2; +Sprite* spr2; const char* shader_code = R"( #VERTEX_SHADER Vertex vert(Vertex v) @@ -39,6 +43,10 @@ void onLoad() { tex = Texture::createTexture("particle.png"); spr = new Sprite(tex, Origin::MiddleCenter); + tex1 = Texture::createTexture("texture.png"); + spr1 = new Sprite(tex1, Origin::MiddleCenter); + tex2 = Texture::createTexture("splash.png"); + spr2 = new Sprite(tex2, Origin::MiddleCenter); shader = Shader::createShader(shader_code); ParticleSystemDef def; def.maxParticleCount = 30; @@ -59,7 +67,10 @@ void onLoad() def.particleDef.linearAccelarationDef.linearAccelaration = Vector2(0, 10); + def.particleDef.spritesDef.mode = SpriteMode::RANDOM; def.particleDef.spritesDef.sprites.push_back(spr); + def.particleDef.spritesDef.sprites.push_back(spr1); + //def.particleDef.spritesDef.sprites.push_back(spr2); def.particleDef.colorDef.color = Color(255, 40, 40, 255); def.particleDef.colorDef.overTime.enable = true; diff --git a/src/libjin/graphics/particles/je_particle.cpp b/src/libjin/graphics/particles/je_particle.cpp index 761f166..6cab9db 100644 --- a/src/libjin/graphics/particles/je_particle.cpp +++ b/src/libjin/graphics/particles/je_particle.cpp @@ -152,7 +152,7 @@ namespace JinEngine if (def->spritesDef.mode == SpriteMode::ANIMATED) spriteIndex = lerp(0, n - 1, t); else - spriteIndex = rng.rand(0, n); + spriteIndex = rng.rand(0, n - 1); } life += dt; alive = life < lifeTime; diff --git a/src/lua/common/je_lua.cpp b/src/lua/common/je_lua.cpp index d53898d..a08414e 100644 --- a/src/lua/common/je_lua.cpp +++ b/src/lua/common/je_lua.cpp @@ -9,19 +9,10 @@ namespace JinEngine namespace Lua { - /// - /// Lua objects table. Map object to proxy, like objects_table[object] = proxy. - /// static const char* Jin_Lua_Objects_Table = "Jin_Objects_Table"; - /// - /// Lua modules table. Map object to proxy, like modules_table[object] = module. - /// static const char* Jin_Lua_Modules_Table = "Jin_Modules_Table"; - /// - /// Lua references table. Map object to proxy, like references[object] = ref. - /// static const char* Jin_Lua_Reference_Table = "Jin_Reference_Table"; Proxy* luax_newinstance(lua_State* L, const char* type, SharedBase* shared) -- cgit v1.1-26-g67d0