aboutsummaryrefslogtreecommitdiff
path: root/bin/game/main.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-12-07 11:22:59 +0800
committerchai <chaifix@163.com>2018-12-07 11:22:59 +0800
commit150944ee9e41df2ae5ee25c7845c3f5b2bd74af0 (patch)
treeea399aeb2172132855ffa2a8c9533b9870a0e9a9 /bin/game/main.lua
parentfe16b453e093d721e60be0a12219d40635b96a3a (diff)
*私有化shared object template retain和release
Diffstat (limited to 'bin/game/main.lua')
-rw-r--r--bin/game/main.lua28
1 files changed, 26 insertions, 2 deletions
diff --git a/bin/game/main.lua b/bin/game/main.lua
index 8ff5e68..6851c45 100644
--- a/bin/game/main.lua
+++ b/bin/game/main.lua
@@ -53,17 +53,39 @@ local bitmap = nil
local sprs = {}
local animator = nil
local spr = nil
+local particle_sprite = nil
+local ps = nil
local function createAnimation(path, count, r, c, w, h, loop, speed)
local tex = jin.graphics.newTexture(path)
local ssheet = jin.graphics.newSpriteSheet(tex)
local sprs = ssheet:newSprites(count, r, c, w, h, 96, 168)
return jin.graphics.newAnimation(sprs, loop, speed)
end
-
+local Pi = 3.1415
+local tex = nil
function jin.core.onLoad()
-- bitmap = jin.graphics.newBitmap(200, 200, function(w, h, x, y)
-- return {255*math.sin(x/w),255 - 255,255*math.cos(y/w),255}
-- end)
+ 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)
+
shader_program = jin.graphics.newShader(shader)
shader_program2 = jin.graphics.newShader(shader2)
local animation = createAnimation("anim2.png", 27, 3, 10, 200, 200, true, 50)
@@ -97,11 +119,12 @@ function jin.core.onEvent(e)
end
end
-function jin.core.onUpdate()
+function jin.core.onUpdate(dt)
tb.x = t
t = t + jin.time.getDelta()
animator:update(jin.time.getDelta())
timer:update(jin.time.getDelta())
+ ps:update(dt)
end
function jin.core.onDraw()
@@ -113,6 +136,7 @@ function jin.core.onDraw()
--jin.graphics.draw(sprs[2], 150, 150, 1, 1, 0)
local x, y = jin.mouse.getPosition()
animator:render(x, y, 1, 1, 0)
+ ps:render()
--jin.graphics.print(#sprs, 10, 10)
jin.graphics.draw(spr, 100, 200, 1, 1, 0)
--jin.graphics.useShader(shader_program2)