首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS 判斷數組是否包含特定 UIImage 對象

     編輯:程式設計綜合問答

錯誤代碼

for (platforms in platforms) { // 語法錯誤,且 platforms 既是數組又是循環變量
    if (CGRectIntersectsRect(ball.frame, platforms.frame)) { ... }
}

正確做法:使用 containsObject:

NSMutableArray *platforms = [NSMutableArray array];
[platforms addObject:platform1];
[platforms addObject:platform2];
// ... 添加更多

if ([platforms containsObject:platform1]) {
    NSLog(@"platform1 存在於數組中");
} else {
    NSLog(@"不存在");
}

碰撞檢測正確邏輯

若需檢測小球與所有平台碰撞:

for (UIView *platform in platforms) {
    if (CGRectIntersectsRect(ball.frame, platform.frame)) {
        // 發生碰撞
        break;
    }
}

性能優化

  • 平台數量大時,考慮空間分區(QuadTree)或只檢測可視區域內平台。
  • SpriteKit / SceneKit 內建物理引擎更高效。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved