aboutsummaryrefslogtreecommitdiff
path: root/examples/animation/main.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-12-30 12:21:18 +0800
committerchai <chaifix@163.com>2018-12-30 12:21:18 +0800
commit48173231d90de6bfc193260eab6369f7c88ca742 (patch)
tree9c865f0423c69b67b4d1740b0c7aac6f453e9d6b /examples/animation/main.cpp
parentbef9adc40cf290b62697616cae2b77127d1df9a5 (diff)
-C++ examples
Diffstat (limited to 'examples/animation/main.cpp')
-rw-r--r--examples/animation/main.cpp104
1 files changed, 0 insertions, 104 deletions
diff --git a/examples/animation/main.cpp b/examples/animation/main.cpp
deleted file mode 100644
index b5ad60f..0000000
--- a/examples/animation/main.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <iostream>
-
-#include "libjin/jin.h"
-
-using namespace std;
-using namespace JinEngine::AI;
-using namespace JinEngine::Game;
-using namespace JinEngine::Math;
-using namespace JinEngine::Input;
-using namespace JinEngine::Graphics;
-using namespace JinEngine::Graphics::Shaders;
-using namespace JinEngine::Graphics::Particles;
-using namespace JinEngine::Graphics::Animations;
-using namespace JinEngine::Filesystem;
-using namespace JinEngine::Time;
-
-Timer timer;
-Timer::Handler* hnd;
-Texture* tex;
-Shader* shader;
-Animation anim;
-Animator animator;
-const char* shader_code = R"(
-#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 * col;
-}
-#END_FRAGMENT_SHADER
-)";
-const float Pi = 3.14f;
-void onLoad()
-{
- tex = Texture::createTexture("anim.png");
- shader = Shader::createShader(shader_code);
- SpriteSheet ss = SpriteSheet(tex);
- vector<Sprite*> frames = ss.createSprites(19, 1, 19, 246, 238, Origin::BottomCenter);
- anim.addFrames(frames);
- anim.setSpeed(10);
- animator.setAnimation(&anim);
-}
-
-void onEvent(Event* e)
-{
- static Application* Application = Application::get();
- if (e->type == EventType::QUIT)
- Application->stop();
-}
-
-void onUpdate(int ms)
-{
- animator.update(ms / 1000.f);
- timer.update(ms);
-}
-
-void onDraw()
-{
- shader->use();
- Mouse* m = Mouse::get();
- int x, y;
- m->getState(&x, &y);
- animator.render(x, y, 1, 1, 0);
- shader->unuse();
-}
-
-int main(int argc, char* argv[])
-{
- Application* Application = Application::get();
- Application::Setting setting;
- setting.loader = onLoad;
- setting.eventHandler = onEvent;
- setting.updater = onUpdate;
- setting.drawer = onDraw;
- Application->init(&setting);
-
- AssetDatabase::get()->mount(".");
-
- Window* wnd = Window::get();
- Window::Setting wndSetting;
- wndSetting.width = 600;
- wndSetting.height = 512;
- wndSetting.title = "Jin v0.1.1";
- wndSetting.fps = 60;
- wndSetting.vsync = false;
- wndSetting.fullscreen = false;
- wndSetting.resizable = false;
- wndSetting.icon = ".";
- wnd->init(&wndSetting);
- wnd->show();
-
- Application->run();
-
- Application->quit();
- wnd->quit();
-
- return 0;
-} \ No newline at end of file