Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
111 lines (94 sloc) 2.95 KB
//
// CCCollision.h
// CCCollision
//
// Created by Shotaro Emori on 11/04/14.
//
#import "cocos2d.h"
@interface CCSprite (CCCollision)
-(void)test;
- (ccQuad2)quad_;
-(BOOL)intersects:(CCSprite *)sprite;
@end
/**
* ccQuad2の三角形版
*/
typedef struct _ccTriad2 {
ccVertex2F l;
ccVertex2F t;
ccVertex2F r;
} ccTriad2;
/**
* cocos2d用衝突判定ライブラリ
* 構造体やベクトル演算などはすべてcocos2dに依存。 
* TODO:交差は未対応
*/
@interface CCCollision : NSObject {
}
/**
* 2次元の矩形quadが点pointを含んでいるか判定する(quad ∧ point)
* @param ccQuad2
* @param CGPoint
* @returns BOOL
*/
+ (BOOL)quad:(ccQuad2)quad containsPoint:(CGPoint)point;
/**
* 2次元の矩形quad1が矩形quad2と衝突しているか判定する(quad1 ∨ quad2)
* @param ccQuad2
* @param ccQuad2
* @returns BOOL
*/
+ (BOOL)quad:(ccQuad2)quad1 intersectsQuad:(ccQuad2)quad2;
/**
* 2次元の矩形quad1が矩形quad2を含んでいるか判定する(quad1 ∧ quad2)
* @param ccQuad2
* @param ccQuad2
* @returns BOOL
*/
+ (BOOL)quad:(ccQuad2)quad1 containsQuad:(ccQuad2)quad2;
/**
* 2次元の三角形triadが点pointを含んでいるか判定する(triad ∧ point)
* @param ccTriad2
* @param CGPoint
* @returns BOOL
*/
+ (BOOL)triad:(ccTriad2)triad containsPoint:(CGPoint)point;
/**
* 2次元の三角形triad1が三角形triad2と衝突しているか判定する(triad1 ∨ triad2)
* @param ccTriad2
* @param ccTriad2
* @returns BOOL
*/
+ (BOOL)triad:(ccTriad2)triad1 intersectsTriad:(ccTriad2)triad2;
/**
* 2次元の三角形triad1が三角形triad2を含んでいるか判定する(triad1 ∧ triad2)
* @param ccTriad2
* @param ccTriad2
* @returns BOOL
*/
+ (BOOL)triad:(ccTriad2)triad1 containsTriad:(ccTriad2)triad2;
/**
* 2次元の多角形polygonが点pointを含んでいるか判定する(polygon ∧ point)
*
* @param NSValueでラップされたCGPoint型の頂点データの配列。頂点は時計回りで指定。
* @param CGPoint
* @returns BOOL
*/
+ (BOOL)polygon:(NSArray *)polygon containsPoint:(CGPoint)point;
/**
* 2次元の多角形polygon1が多角形polygon2と衝突しているか判定する(polygon1 ∨ polygon2)
*
* @param NSValueでラップされたCGPoint型の頂点データの配列。頂点は時計回りで指定。
* @param NSValueでラップされたCGPoint型の頂点データの配列。頂点は時計回りで指定。
* @returns BOOL
*/
+ (BOOL)polygon:(NSArray *)polygon1 intersectsPolygon:(NSArray *)polygon2;
/**
* 2次元の多角形polygon1が多角形polygon2を含んでいるか判定する(polygon1 ∧ polygon2)
*
* @param NSValueでラップされたCGPoint型の頂点データの配列。頂点は時計回りで指定。
* @param NSValueでラップされたCGPoint型の頂点データの配列。頂点は時計回りで指定。
* @returns BOOL
*/
+ (BOOL)polygon:(NSArray *)polygon1 containsPolygon:(NSArray *)polygon2;
@end