diff options
Diffstat (limited to 'bin/game/main.lua')
-rw-r--r-- | bin/game/main.lua | 42 |
1 files changed, 24 insertions, 18 deletions
diff --git a/bin/game/main.lua b/bin/game/main.lua index 8de71f1..3e5182b 100644 --- a/bin/game/main.lua +++ b/bin/game/main.lua @@ -61,6 +61,7 @@ local function createAnimation(path, count, r, c, w, h, loop, speed) local sprs = ssheet:newSprites(count, r, c, w, h, 96, 168) return jin.graphics.newAnimation(sprs, loop, speed) end +local particle_sprites = {} local Pi = 3.1415 function jin.core.onLoad() -- bitmap = jin.graphics.newBitmap(200, 200, function(w, h, x, y) @@ -69,22 +70,25 @@ function jin.core.onLoad() local tex = jin.graphics.newTexture("particle.png") particle_sprite = jin.graphics.newSprite(tex, jin.graphics.SpriteOrigin.MIDDLECENTER) ps = jin.graphics.newParticleSystem() - - ps:setEmitRate(0.02); - ps:setEmitForce(80, 120); - ps:setEmitPosition({50, 50}); - ps:setEmitDirection(-Pi / 10 - Pi / 2, Pi / 10 - Pi / 2); - ps:setParticleLinearAccelaration({0, 10}); - ps:setParticleSpritesMode(jin.graphics.SpriteMode.SINGLE); - ps:setParticleColor({255, 30, 0, 255}); - ps:addParticleTransparencyPoint(1, 0); - ps:addParticleTransparencyPoint(0, 0.5); - ps:enableParticleBlendAdditive(true); - ps:setParticleLife(0.5, 2); - ps:addParticleScalePoint(3, 0); - ps:addParticleScalePoint(0, 1); - ps:addParticleSprite(particle_sprite) - + for i = 0, 10 do + local t = jin.graphics.newTexture("dust/s_dust_A_" .. i .. ".png") + local spr = jin.graphics.newSprite(t, jin.graphics.SpriteOrigin.MIDDLECENTER) + ps:addParticleSprite(spr) + end + ps:setEmitRate(0.02) + ps:setEmitForce(80, 120) + ps:setEmitPosition({0, 0}) + ps:setEmitDirection(-Pi / 10 - Pi / 2, Pi / 10 - Pi / 2) + ps:setParticleLinearAccelaration({0, 10}) + ps:setParticleSpritesMode(jin.graphics.SpriteMode.ANIMATED) + ps:setParticleColor({255, 30, 0, 255}) + ps:addParticleTransparencyPoint(1, 0) + ps:addParticleTransparencyPoint(0, 0.5) + ps:enableParticleBlendAdditive(true) + ps:setParticleLife(0.5, 2) + ps:addParticleScalePoint(3, 0) + ps:addParticleScalePoint(0, 1) + --ps:addParticleSprite(particle_sprite) shader_program = jin.graphics.newShader(shader) shader_program2 = jin.graphics.newShader(shader2) local animation = createAnimation("anim2.png", 27, 3, 10, 200, 200, true, 50) @@ -95,7 +99,7 @@ function jin.core.onLoad() -- music = jin.audio.newSource("forest.ogg") -- music:setVolume(0.5) -- music:setLoop(true) - --music:play() + -- music:play() jin.graphics.clear() jin.graphics.showWindow() timer = jin.time.newTimer() @@ -124,6 +128,8 @@ function jin.core.onUpdate(dt) animator:update(jin.time.getDelta()) timer:update(jin.time.getDelta()) ps:update(dt) + local mx, my = jin.mouse.getPosition() + ps:setPosition(mx, my) end function jin.core.onDraw() @@ -134,7 +140,7 @@ function jin.core.onDraw() jin.graphics.unuseShader() --jin.graphics.draw(sprs[2], 150, 150, 1, 1, 0) local x, y = jin.mouse.getPosition() - animator:render(x, y, 1, 1, 0) + animator:render(50, 150, 1, 1, 0) ps:render() --jin.graphics.print(#sprs, 10, 10) jin.graphics.draw(spr, 100, 200, 1, 1, 0) |