博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iphone-common-codes-ccteam源代码 CCPoint.m
阅读量:6836 次
发布时间:2019-06-26

本文共 2514 字,大约阅读时间需要 8 分钟。

// //  CCPoint.m //  CCFC // //  Created by xichen on 11-12-17. //  Copyright 2011年 ccteam. All rights reserved. // #import "CCPoint.h" #import "CCCommon.h" #import "CCNSNumber.h" @implementation CCPoint - (id)initWithX:(CGFloat)aX withY:(CGFloat)aY {
COMMON_INIT_BEGIN x = aX; y = aY; COMMON_INIT_END } + (id)pointWithX:(CGFloat)aX withY:(CGFloat)aY {
CCPoint *p = [[CCPoint alloc] initWithX:aX withY:aY]; if(p == nil) return nil; return [p autorelease]; } - (id)initWithCGPoint:(CGPoint)point {
COMMON_INIT_BEGIN x = point.x; y = point.y; COMMON_INIT_END } + (id)pointWithCGPoint:(CGPoint)point {
CCPoint *p = [[CCPoint alloc] initWithCGPoint:point]; if(p == nil) return nil; return [p autorelease]; } - (void)dealloc {
[super dealloc]; } - (BOOL)isEqualTo:(CCPoint *)anotherPoint {
return (FLOAT_EQUAL_TO_FLOAT(x, anotherPoint->x) && FLOAT_EQUAL_TO_FLOAT(y, anotherPoint->y)); } - (BOOL)isEqualToCGPoint:(CGPoint)point {
return (FLOAT_EQUAL_TO_FLOAT(x, point.x) && FLOAT_EQUAL_TO_FLOAT(y, point.y)); } - (BOOL)isZero {
return (FLOAT_EQUAL_TO_ZERO(x) && FLOAT_EQUAL_TO_ZERO(y)); } - (void)setX:(CGFloat)newX withY:(CGFloat)newY {
x = newX; y = newY; } - (BOOL)isInRect:(CGRect)rect {
CGFloat rectX = rect.origin.x; CGFloat rectY = rect.origin.y; CGFloat rectWidth = rect.size.width; CGFloat rectHeight = rect.size.height; if(x < rectX ||(x > rectX + rectWidth) || y < rectY || y > rectY + rectHeight) {
return FALSE; } return TRUE; } //判断某个点是否在某个区域里 + (BOOL)isInRect:(CGPoint)p rect:(CGRect)rect {
CGFloat rectX = rect.origin.x; CGFloat rectY = rect.origin.y; CGFloat rectWidth = rect.size.width; CGFloat rectHeight = rect.size.height; CGFloat pX = p.x; CGFloat pY = p.y; if(pX < rectX ||(pX > rectX + rectWidth) || pY < rectY || pY > rectY + rectHeight) {
return FALSE; } return TRUE; } - (CGPoint)toCGPoint {
return CGPointMake(x, y); } // get the distance of two CCPoint - (CGFloat)distanceToCCPoint:(CCPoint *)anotherPoint {
return sqrt((x - anotherPoint->x) * (x - anotherPoint->x) + (y - anotherPoint->y) * (y - anotherPoint->y)); } @end

 

可能有更新:

 googlecode链接地址:
 github地址:

 

转载于:https://www.cnblogs.com/ccteam/archive/2012/01/03/2310951.html

你可能感兴趣的文章
Linux的快速入门
查看>>
利用 Dolby® Digital Plus 提供优质音频体验
查看>>
【转载】27.SpringBoot和SpringMVC的区别
查看>>
Spring Mvc 实例
查看>>
MySQL深入理解
查看>>
三步快速解决dll冲突问题
查看>>
vue
查看>>
[JSOI2007]文本生成器
查看>>
Python基础算法综合:加减乘除四则运算方法
查看>>
《一面》
查看>>
sed命令详解
查看>>
【cl】找不到火狐Cannot find firefox binary in PATH
查看>>
移动端无法复制:使用clipboard.js碰到的一个小问题
查看>>
程序员常去的103个网站
查看>>
联想的amd电脑,Debian8.8开机后亮度值始终最大,尝试过各种方法,始终无法解决,最后debian8.8在安装开源驱动后,成功调节...
查看>>
debian8修改kde桌面语言
查看>>
PHP对于数据库的基本操作——更新数据
查看>>
How HashMap works in Java
查看>>
洛谷P2057 善意的投票
查看>>
UVa11401 Triangle Counting
查看>>