// // GameObject.m // Cart Collect // // Created by iD Student Account on 7/19/11. // Copyright 2011 __MyCompanyName__. All rights reserved. // #import "FallingObject.h" #import "GameMode.h" @implementation FallingObject @synthesize sprite, weight, delegate; - (id)init { self = [super init]; if (nil != self) { } return self; } - (BOOL)tick { GameMode* gameLayer = ((GameMode*) sprite.parent); // Move objects down sprite.position = ccp(sprite.position.x, sprite.position.y-weight); // Cart collision detection CGSize first = [gameLayer.cart.sprite boundingBox].size; CGSize second = [sprite boundingBox].size; if (gameLayer.cart.sprite.position.x > (sprite.position.x - second.width/2 - first.width/2)) { if (gameLayer.cart.sprite.position.x < (sprite.position.x + second.width/2 + first.width/2)) { if (gameLayer.cart.sprite.position.y > (sprite.position.y - second.height/2 - first.height/2)) { if (gameLayer.cart.sprite.position.y < (sprite.position.y + second.height/2 + first.height/2)) { [self collideWithCart]; if ((delegate != nil) && ([delegate respondsToSelector:@selector(didCatchItem:)])) { [delegate didCatchItem:self]; } if ((delegate != nil) && ([delegate respondsToSelector:@selector(didDestroyItem:)])) { [delegate didDestroyItem:self]; } return YES; } } } } // Collision detection with floor if (sprite.position.y - (sprite.contentSize.height/2) < 0) { [self collideWithFloor]; if ((delegate != nil) && ([delegate respondsToSelector:@selector(didMissItem:)])) { [delegate didMissItem:self]; } if ((delegate != nil) && ([delegate respondsToSelector:@selector(didDestroyItem:)])) { [delegate didDestroyItem:self]; } return YES; } return NO; } - (void)collideWithCart { } - (void)collideWithFloor { } - (void)dealloc { [sprite.parent removeChild:sprite cleanup:YES]; [delegate release]; [super dealloc]; } @end>author
path: root/libs/cocos2d/CCTMXObjectGroup.h
blob: 02feadf25f2eb77dae0937b0f9bd2005b04c4be2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
 * cocos2d for iPhone: http://www.cocos2d-iphone.org
 *
 * Copyright (c) 2010 Neophit
 * 
 * Copyright (c) 2010 Ricardo Quesada
 * Copyright (c) 2011 Zynga Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 *
 * TMX Tiled Map support:
 * http://www.mapeditor.org
 *
 */

#import "CCNode.h"


@class CCTMXObjectGroup;


/** CCTMXObjectGroup represents the TMX object group.
@since v0.99.0
*/
@interface CCTMXObjectGroup : NSObject
{
	NSString			*groupName_;
	CGPoint				positionOffset_;
	NSMutableArray		*objects_;
	NSMutableDictionary	*properties_;
}

/** name of the group */
@property (nonatomic,readwrite,retain) NSString *groupName;
/** offset position of child objects */
@property (nonatomic,readwrite,assign) CGPoint positionOffset;
/** array of the objects */
@property (nonatomic,readwrite,retain) NSMutableArray *objects;
/** list of properties stored in a dictionary */
@property (nonatomic,readwrite,retain) NSMutableDictionary *properties;

/** return the value for the specific property name */
-(id) propertyNamed:(NSString *)propertyName;

/** return the dictionary for the specific object name.
 It will return the 1st object found on the array for the given name.
 */
-(NSMutableDictionary*) objectNamed:(NSString *)objectName;

@end