summary refs log tree commit diff stats
path: root/Classes/Cart.m
diff options
context:
space:
mode:
authorStarla Insigna <starla4444@gmail.com>2011-08-09 21:36:09 -0400
committerStarla Insigna <starla4444@gmail.com>2011-08-09 21:36:09 -0400
commit002dc99a071a4a8f7d2afc15d1fdf2ae0312faed (patch)
tree82808d85a131ed0f970b374828a3e80ee1fb8d35 /Classes/Cart.m
parent1ed37fda409479769c8d110aa22d5dadc9d2cb85 (diff)
downloadcartcollect-002dc99a071a4a8f7d2afc15d1fdf2ae0312faed.tar.gz
cartcollect-002dc99a071a4a8f7d2afc15d1fdf2ae0312faed.tar.bz2
cartcollect-002dc99a071a4a8f7d2afc15d1fdf2ae0312faed.zip
Abstracted a lot of GameLayer's functionality out
In order to prepare for tutorial mode (and eventually, the other game modes), a lot of GameLayer's functionality (reading the accelerometer, moving the cart, moving falling objects, reacting to collisions…) has been abstracted out to FallingObject and subclasses of FallingObject, as well as a new Cart class, and GameMode, a new superclass of GameLayer. The only things that were not abstracted out that probably will be in the future are the pause functionality and the tutorial bubble functionality (which will in fact be moved to the tutorial mode class).

A lot of work was also done to cut down on compiler warnings and a lot of #imports were moved from header files to implementation files because I realized THAT'S HOW YOU'RE SUPPOSED TO DO IT.

Refs #193
Diffstat (limited to 'Classes/Cart.m')
-rw-r--r--Classes/Cart.m45
1 files changed, 45 insertions, 0 deletions
diff --git a/Classes/Cart.m b/Classes/Cart.m new file mode 100644 index 0000000..3046be3 --- /dev/null +++ b/Classes/Cart.m
@@ -0,0 +1,45 @@
1//
2// Cart.m
3// Cart Collect
4//
5// Created by Starla Insigna on 8/9/11.
6// Copyright 2011 Four Island. All rights reserved.
7//
8
9#import "Cart.h"
10
11@implementation Cart
12
13@synthesize sprite;
14
15- (id)initWithSprite:(CCSprite*)m_sprite
16{
17 self = [super init];
18
19 if (nil != self)
20 {
21 sprite = m_sprite;
22 }
23
24 return self;
25}
26
27- (void)tick
28{
29 // Move the cart based on acceleration gathered from accelerometer
30 sprite.position = ccp(MIN(MAX(sprite.position.x+accelX, 16),464), sprite.position.y);
31}
32
33- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
34{
35 static float prevY=0;
36
37#define kFilterFactor 0.05f
38
39 float accelY = -((float) acceleration.y * kFilterFactor + (1- kFilterFactor)*prevY);
40
41 prevY = accelY;
42 accelX = accelY * 750;
43}
44
45@end