aboutsummaryrefslogtreecommitdiff
path: root/bin/game/main.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-11-14 00:51:15 +0800
committerchai <chaifix@163.com>2018-11-14 00:51:15 +0800
commit0bfff69053e27fbb6e541a6b8afa6c8e61a62403 (patch)
treed3bd41f8defef8e08f80850d56eaf7a50de3c05a /bin/game/main.lua
parentd2058dce75ceb67f27c50e9f27d755a4d30c9003 (diff)
*shared 增加依赖
Diffstat (limited to 'bin/game/main.lua')
-rw-r--r--bin/game/main.lua93
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