Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
wiki2:chipmunk [2014/12/12 15:31] alfred |
wiki2:chipmunk [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 7: | Línea 7: | ||
| * Dynamic bodies are bodies that can move – you’ll be using these most of the time. | * Dynamic bodies are bodies that can move – you’ll be using these most of the time. | ||
| * Static bodies are bodies that never move – these are good to use for the ground in your game and other permanent fixtures. | * Static bodies are bodies that never move – these are good to use for the ground in your game and other permanent fixtures. | ||
| - | |||
| For each Chipmunk body, you can specify how much mass it has. The more mass a shape has, the harder it is to move around and the heavier it becomes. | For each Chipmunk body, you can specify how much mass it has. The more mass a shape has, the harder it is to move around and the heavier it becomes. | ||
| Línea 19: | Línea 18: | ||
| To define which areas of a body interact with the rest of the world and those different surfaces, you need to add one or more Shapes to a body. There are 3 types of shapes available with Chipmunk: circle, segment and poly. Combining those 3 shape types you can define almost any area of interaction imaginable for your bodies. Obviously, shapes added to the same body don't produce collisions between themselves. | To define which areas of a body interact with the rest of the world and those different surfaces, you need to add one or more Shapes to a body. There are 3 types of shapes available with Chipmunk: circle, segment and poly. Combining those 3 shape types you can define almost any area of interaction imaginable for your bodies. Obviously, shapes added to the same body don't produce collisions between themselves. | ||
| + | |||
| + | |||
| + | ==== Code ==== | ||
| + | === C++ === | ||
| + | |||
| + | <code cpp> | ||
| + | // Create our ball's body with 100 mass and infinite moment | ||
| + | cpBody *ballBody = cpBodyNew(100.0, INFINITY); | ||
| + | // Set the initial position | ||
| + | ballBody->p = cpv(160, 250); | ||
| + | // Add the body to the space | ||
| + | cpSpaceAddBody(space, ballBody); | ||
| + | </code> | ||
| + | |||
| + | === Python === | ||
| + | |||
| + | ===== Movement ===== | ||
| + | The main method of changing things on Chipmunk, just like in the real world, is to use and apply Forces. A force is a vector , you tell the strength along the XX and YY axis. To help working with vectors, Chipmunk comes with a library called cpVect that allows you to do the most common operations like multiplying vectors or projecting two vectors. | ||