Hands-On Game Development with WebAssembly
上QQ阅读APP看书,第一时间看更新

Compiling sprite.html

We can now compile our sprite WebAssembly app by using the emcc command. You will need the sprites folder from the Chapter02 folder on GitHub. After you have downloaded the sprites folder and placed it in your project's folder, you can compile the app with the following command:

emcc sprite_move.c --preload-file sprites -s USE_SDL=2 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS=["png"] -o sprite_move.html
It is important to remember that the app must be run from a web server, or using  emrun . If you do not run the app from a web server, or use emrun, you will receive a variety of errors when the JavaScript glue code attempts to download the WASM and data files. You should also know that IIS requires additional configuration in order to set the proper MIME types for the  .wasm  and  .data  file extensions.

We are still using the --preload-file flag, however, this time we are passing in the sprites folder instead of the fonts folder. We will continue to use the -s USE_SDL=2 flag and will be adding the -s USE_SDL_IMAGE=2 flag, which will allow us to use images with SDL that are an alternative to the .bmp file format.

To tell SDL_IMAGE which file format to use, we pass in the png format using the following -s SDL2_IMAGE_FORMATS=["png"] flag:

Figure 4.3: Screenshot of sprite_move.html