官术网_书友最值得收藏!

Compiling gameloop.html

Now that we have written our code, we can go ahead and compile our game loop app. Before you run this command, I want to reiterate that you need to have downloaded the project from GitHub (https://github.com/PacktPublishing/Hands-On-Game-Development-with-WebAssembly) because you will need the PNG files located in the /Chapter06-game-loop/sprites folder in order to build this project.

Once you have your folders set up properly, compile the app with the following command:

emcc game_loop.c -o gameloop.html --preload-file sprites -s NO_EXIT_RUNTIME=1 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS=["png"] -s EXTRA_EXPORTED_RUNTIME_METHODS="['cwrap', 'ccall']" -s USE_SDL=2

Serve the directory where you compiled it with a web server, or build and run it with emrun, and it should look like this when loaded into a web browser:

  The screenshot  gameloop.html
It is important to remember that you must run WebAssembly apps using a web server, or with emrun.  If you would like to run your WebAssembly app using emrun, you must compile it with the  --emrun  flag.  The web browser requires a web server to stream the WebAssembly module.  If you attempt to open an HTML page that uses WebAssembly in a browser directly from your hard drive, that WebAssembly module will not load.

After the app has compiled, you should be able to move the spaceship around the canvas using the arrow keys. Now that we have a basic game loop, in the next section, we will be adding some game objects to our app, making it more of a game.

主站蜘蛛池模板: 广昌县| 晋宁县| 廊坊市| 黔西| 宣威市| 哈尔滨市| 津南区| 米脂县| 桐乡市| 丰都县| 温泉县| 婺源县| 水富县| 泽州县| 和平县| 锡林浩特市| 深水埗区| 特克斯县| 保康县| 淳化县| 普格县| 永善县| 永平县| 遵义县| 黄冈市| 濉溪县| 灵璧县| 五台县| 巴东县| 秭归县| 太康县| 蒙阴县| 确山县| 枞阳县| 无极县| 罗城| 靖州| 阿克陶县| 剑阁县| 彭州市| 甘南县|