diff options
author | chai <chaifix@163.com> | 2018-11-14 00:51:15 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-11-14 00:51:15 +0800 |
commit | 0bfff69053e27fbb6e541a6b8afa6c8e61a62403 (patch) | |
tree | d3bd41f8defef8e08f80850d56eaf7a50de3c05a /bin/game/main.lua | |
parent | d2058dce75ceb67f27c50e9f27d755a4d30c9003 (diff) |
*shared 增加依赖
Diffstat (limited to 'bin/game/main.lua')
-rw-r--r-- | bin/game/main.lua | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/bin/game/main.lua b/bin/game/main.lua new file mode 100644 index 0000000..2c9036f --- /dev/null +++ b/bin/game/main.lua @@ -0,0 +1,93 @@ +io.stdout:setvbuf("no") +local shader = [[ +#VERTEX_SHADER +Vertex vert(Vertex v) +{ + return v; +} +#END_VERTEX_SHADER +#FRAGMENT_SHADER +Color frag(Color col, Texture tex, Vertex v) +{ + return col; +} +#END_FRAGMENT_SHADER +]] + +local shader2 = [[ +#VERTEX_SHADER +Vertex vert(Vertex v) +{ + return v; +} +#END_VERTEX_SHADER +#FRAGMENT_SHADER +Color frag(Color col, Texture tex, Vertex v) +{ + Color c = texel(tex, v.uv); + return c; +} +#END_FRAGMENT_SHADER +]] +music = nil +local tex = nil +local shader_program = nil +local shader_program2 = nil +local timer = nil +local tb = {x = 1, y = 2} +local t = 0 +local spr = nil +function jin.core.onLoad() + jin.graphics.setClearColor(100, 100, 100, 255) + shader_program = jin.graphics.newShader(shader) + shader_program2 = jin.graphics.newShader(shader2) + tex = jin.graphics.newTexture("1.png") + spr = jin.graphics.newSprite() + spr:setShader(shader_program2) + spr:setGraphic(tex) + tex = nil + spr:setScale(1, 1) + spr:setOrigin(jin.graphics.SpriteOrigin.MIDDLERIGHT) + music = jin.audio.newSource("forest.ogg") + music:setVolume(0.5) + music:setLoop(true) + music:play() + jin.graphics.clear() + jin.graphics.showWindow() + timer = jin.time.newTimer() + local h = timer:every(0.5, function(sp) + local x, y = spr:getPosition() + spr:setPosition(x + 1, y) + end, spr) + timer:after(3, function(p) + --timer:cancel(h) + end, h) +end +local stop = false + +function jin.core.onEvent(e) + if e.type == "Quit" then + jin.core.stop() + end +end + +function jin.core.onUpdate() + tb.x = t + t = t + jin.time.getDelta() +end + +function jin.core.onDraw() + timer:update(jin.time.getDelta()) + jin.graphics.useShader(shader_program) + jin.graphics.setColor(255, 0, 255, 255) + jin.graphics.rect(jin.graphics.RenderMode.FILL, 30, 50, 100, 200) + jin.graphics.setColor(255, 255, 255, 255) + jin.graphics.unuseShader() + spr:render() + --jin.graphics.useShader(shader_program2) + --jin.graphics.draw(tex, 0, 0,0.2, 0.2) + --jin.graphics.unuseShader() + if stop then + jin.graphics.print("Quit", 100, 300) + end +end
\ No newline at end of file |