Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pjvds/iPong
Simple pong game running on IOS using ObjC and Cocos2D Box2D
https://github.com/pjvds/iPong
Last synced: about 1 month ago
JSON representation
Simple pong game running on IOS using ObjC and Cocos2D Box2D
- Host: GitHub
- URL: https://github.com/pjvds/iPong
- Owner: pjvds
- License: zlib
- Created: 2011-03-21T21:43:23.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2011-04-05T20:18:06.000Z (over 13 years ago)
- Last Synced: 2024-04-08T15:51:53.065Z (8 months ago)
- Language: Objective-C
- Homepage:
- Size: 874 KB
- Stars: 95
- Watchers: 15
- Forks: 51
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.box2d
Awesome Lists containing this project
- awesome - iPong - Simple pong game running on IOS using ObjC and Cocos2D Box2D (etc)
- awesome - iPong - Simple pong game running on IOS using ObjC and Cocos2D Box2D (etc)
README
# iPong
A simple pong implementation that runs on IOS.# Tech stuff
The following stuff is used to create this Pong implementation for IOS:* XCode 4.x
* Objective C
* Cocos2D
* Box2D
* Freetime in an hotel in Rotterdam# Project structure
All real logic and non scaffolding code can be found in three classes.## iPongLayer
Main entry point. Bootstraps all the game objects and is the layer where the game is drawn on. It also holds and manages the game score.## Paddle
The paddle game object. Contains logic to move itself on touch.## Ball
The ball game object. It contains logic to respawn.# What you need to know about Box2D
Box2D works with several fundamental objects. We briefly define these objects here and more details are given later in this document.## world
A physics world is a collection of bodies, fixtures, and constraints that interact together. Box2D supports the creation of multiple worlds, but this is usually not necessary or desirable.## shape
A 2D geometrical object, such as a circle or polygon.## rigid body
A chunk of matter that is so strong that the distance between any two bits of matter on the chunk is completely constant. They are hard like a diamond. In the following discussion we use body interchangeably with rigid body.## fixture
A fixture binds a shape to a body and adds material properties such as density, friction, and restitution.## constraint
A constraint is a physical connection that removes degrees of freedom from bodies. In 2D a body has 3 degrees of freedom (two translation coordinates and one rotation coordinate). If we take a body and pin it to the wall (like a pendulum) we have constrained the body to the wall. At this point the body can only rotate about the pin, so the constraint has removed 2 degrees of freedom.## contact constraint
A special constraint designed to prevent penetration of rigid bodies and to simulate friction and restitution. You do not create contact constraints; they are created automatically by Box2D.## joint
This is a constraint used to hold two or more bodies together. Box2D supports several joint types: revolute, prismatic, distance, and more. Some joints may have limits and motors.## joint limit
A joint limit restricts the range of motion of a joint. For example, the human elbow only allows a certain range of angles.## joint motor
A joint motor drives the motion of the connected bodies according to the joint's degrees of freedom. For example, you can use a motor to drive the rotation of an elbow.# Code Fest
I created this for the Devnology [Code Fest][1]. using XCode, ObjC and the Cocos2D Box2d framework.[1]: http://devnology.nl/en/meetings/details/33-the-legacy-code-fest