<https://lh3.googleusercontent.com/-FrjglpaDPRs/U0DZZ1cTn9I/AAAAAAAAAAQ/29x4jM-0S_s/s1600/unresponsive%2Bscript3.JPG>
I'm currently trying to get this tutorial I've found
<http://www.aaroncox.net/tutorials/2dtutorials/sdlsprites.html>on SDL to
work with Emscripten but I think I might be running into problems with the
browser's event model:
Here's the code:
#include <SDL/SDL.h>
> #include <emscripten.h>
>
> const int WINDOW_WIDTH = 640;
> const int WINDOW_HEIGHT = 480;
> const char* WINDOW_TITLE = "SDL Start";
>
> void one_iter() {
> SDL_Init( SDL_INIT_VIDEO );
>
> SDL_Surface* screen = SDL_SetVideoMode( WINDOW_WIDTH,
> WINDOW_HEIGHT, 0,
> SDL_HWSURFACE | SDL_DOUBLEBUF );
> SDL_WM_SetCaption( WINDOW_TITLE, 0 );
>
> SDL_Surface* bitmap = SDL_LoadBMP("bat.bmp");
>
> // Part of the bitmap that we want to draw
> SDL_Rect source;
> source.x = 24;
> source.y = 63;
> source.w = 65;
> source.h = 44;
>
> // Part of the screen we want to draw the sprite to
> SDL_Rect destination;
> destination.x = 100;
> destination.y = 100;
> destination.w = 65;
> destination.h = 44;
>
> SDL_Event event;
> bool gameRunning = true;
>
> while (gameRunning)
> {
> if (SDL_PollEvent(&event))
> {
> if (event.type == SDL_QUIT)
> {
> gameRunning = false;
> }
> }
>
> SDL_BlitSurface(bitmap, &source, screen, &destination);
>
> SDL_Flip(screen);
> }
>
> SDL_FreeSurface(bitmap);
>
> SDL_Quit();
> }
>
> int main(int argc, char **argv)
> {
> emscripten_set_main_loop(one_iter, 60, 1);
>
> return 0;
> }
>
I've read the Wiki on emscripten browser
environment<https://github.com/kripken/emscripten/wiki/Emscripten-browser-environment>so
I figured I had to use *emscripten_set_main_loop
*to make SDL_Quit() work and give control back to the browser and keep it
from freaking out. But as you can see it didn't work. Can anyone point to
me what I'm doing wrong? Any guidance here would be appreciated.
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.