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

Basic Particle System

A particle system is a graphics technique where we emit a large number of sprites from an emitter and have those sprites go through a life cycle where they change in a variety of ways. We build some randomness into our sprite life cycle to create a wide range of interesting effects such as explosions, sparks, snow, dust, fire, engine exhaust, and so on. Some particle effects can interact with their environment. In our game, we are going to use particle effects to create nice-looking engine exhaust and ship explosion effects.

For this chapter, you will need to include several images in your build to make this project work. Make sure you include the /Chapter08/sprites/ folder from the project's GitHub. If you haven't yet downloaded the GitHub project, you can get it online here:  https://github.com/PacktPublishing/Hands-On-Game-Develop.

This chapter and the beginning of the next one are going to feel like a digression at first. We will be spending a lot of time in the following two chapters working on something other than our game. If you are interested in particle systems, I promise it will be worth it. When you create a particle system, you spend a lot of time tweaking them and playing with them to get them to look right. To do this directly within the game will result in a lot of compiling and testing. What we need is a tool where we can configure and test a particle system before we add it to our game. This chapter and half of the next chapter are dedicated to building this tool. If you are not interested in learning how to build the tool, you can skim the text in this chapter, and download and compile the tool from GitHub. If you are as interested in learning how JavaScript, HTML, and WebAssembly can interact in an application, this chapter and the first half of Chapter 9, Improved Particle Systems, are a good tutorial for learning how to write an application and not just a game with WebAssembly.

In this chapter, we're going to cover the following topics:

  • A brief introduction to SVG
  • Trigonometry again?
  • Adding the JavaScript
  • The simple particle emitter tool
  • The Point class
  • The Particle Class
  • The Emitter Class
  • WebAssembly interface functions
  • Compiling and testing the particle emitter
主站蜘蛛池模板: 建瓯市| 东港市| 泰兴市| 工布江达县| 息烽县| 家居| 呼玛县| 思茅市| 湄潭县| 板桥市| 中宁县| 行唐县| 兴化市| 崇明县| 缙云县| 兰西县| 调兵山市| 兴山县| 江北区| 阳东县| 金寨县| 洪泽县| 隆化县| 蓬安县| 屯昌县| 赤城县| 德令哈市| 余庆县| 济南市| 建昌县| 股票| 贵定县| 嘉兴市| 庆安县| 凤凰县| 玉溪市| 高平市| 鸡东县| 于田县| 河西区| 遂川县|