diff options
Diffstat (limited to 'examples/animation/main.cpp')
-rw-r--r-- | examples/animation/main.cpp | 104 |
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 |