判斷兩個區域是否重疊


//CGRectContainsRect(<#CGRect rect1#>, <#CGRect rect2#>)判斷兩個區域是否重疊

判斷給定的點是否被一個CGRect包含,可以用CGRectContainsPoint函數

BOOL contains = CGRectContainsPoint(CGRect rect, CGPoint point);

判斷一個CGRect是否包含再另一個CGRect里面,常用與測試給定的對象之間是否又重疊

BOOL contains = CGRectContainsRect(CGRect rect1, CGRect rect2);

判斷兩個結構體是否有交錯.可以用CGRectIntersectsRect

BOOL contains = CGRectIntersectsRect(CGRect rect1, CGRect rect2);

float float_ = CGRectGetMaxX(CGRect rect);返回矩形右邊緣的坐標

CGRectGetMaxY返回矩形頂部的坐標

CGRectGetMidX返回矩形中心X的坐標

CGRectGetMidY返回矩形中心Y的坐標

CGRectGetMinX返回矩形左邊緣的坐標

CGRectGetMinY返回矩形底部的坐標

CGRectContainsPoint 看參數說明,一個點是否包含在矩形中,所以參數為一個點一個矩形


//爆炸圖片數組創建

boomImageArray= [[NSMutable Arrayalloc]init];

for(inti = 0; i < 5 ; i++) {

UIImage* image = [UIImage imageNamed:[NSString stringWithFormat:@"bz%d",i+1]];

[boomImage ArrayaddObject:image];

}

for(UIImageView *_emenyPlane in emenyPlaneArray) {

//敵機與子彈的碰撞

for(UIImageView *_myBullet in myBulletArray) {

//CGRectContainsRect(<#CGRect rect1#>, <#CGRect rect2#>)判斷兩個區域是否重疊

if(CGRectContainsPoint(_emenyPlane.frame, _myBullet.center)){

UIImageView *boomImageView = [[UIImageView alloc] initWithFrame:_emenyPlane.frame];

[self.view addSubview:boomImageView];

boomImageView.alpha= 0.8;

boomImageView.animationDuration= 0.5;

boomImageView.animationImages=boomImageArray;

boomImageView.animationRepeatCount= 1;

[boomImageView startAnimating];

//_emenyPlane.frame = CGRectMake(0, -40, 40, 40);

_emenyPlane.tag= 100;

//_myBullet.frame = CGRectMake(_MyPlane1.frame.origin.x+25,-10, 5, 10);

//_myBullet.tag = 100;

//延遲時間去執行移除視圖操作

[self performSelector:@selector(removeBoomView:) withObject:boomImageView afterDelay:0.5];

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • UIView(控件) 功能一:界面顯示1. 屏幕上顯示的所有UI元素都叫做控件,也有人叫做視圖、組件;按鈕(UIB...
    翻這個墻閱讀 656評論 0 0
  • IOS開發幾何類方法總結CGGeometry.h文件是用C語言實現的一個封裝了許多常用幾何方法的文件。一、幾個常用...
    飄搖的水草閱讀 961評論 0 0
  • 在iOS 開發中 我們有時需要判斷兩個UI控件是否有重合而來處理一些邏輯 舉個簡單的例子 看下圖圖片選擇器 上面是...
    毛大虎閱讀 3,683評論 0 3
  • 好久沒來簡書,竟不知道怎么發文字了。找了半天
    佟語歆閱讀 213評論 0 1
  • 第8天·21天告別拖延 #玩卡不卡·每日一抽#每一位都可以通過這張卡片覺察自己: 1、直覺他叫什么名字?文靜 2、...
    玉霞光閱讀 174評論 0 0