aboutsummaryrefslogtreecommitdiff
path: root/bin/game/main.lua
diff options
context:
space:
mode:
Diffstat (limited to 'bin/game/main.lua')
-rw-r--r--bin/game/main.lua42
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)