国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

iOS Game 模板碰撞檢測的一些細節

2019-11-02 15:44:21
字體:
來源:轉載
供稿:網友

   我們把需要檢測碰撞的物理設置物理體(以下我們把這個物理體稱作xx)

  xx.physicsBody=SKPhysicsBody(rectangleOfSize:CGSize(x:100,y:100))

  然后給這個物理體設置一個標識(BitMaskType是自己新建的一個類)

  xx.physicsBody?.categoryBitMask=BitMaskType.xx

  最后設置會發生碰撞的物理(比如響應與yy發生碰撞的事件)

  xx.physicsBody?.contactTestBitMask=BitMaskType.yy

  最后添加代碼

  func didBeginContact(contact: SKPhysicsContact) {

  println("發生碰撞")

  }

  我們可以發現的確發生了碰撞(以上部分粗略描述,若有疑問請自行百度)

  有時候我們會發現兩個物理題還未碰撞,但是系統就已經響應了碰撞事件,這個時候我們不妨將物理體的size設置的相對小一些。

  有的時候兩個物理體明明已經發生碰撞了,但是系統并未響應碰撞事件,這又是

爆笑笑話大全[www.62-6.com/1/gaoxiaoduanzi/]
為什么呢?

  請注意我們的第一句代碼,也就是設置物理體大小的那一句,在這一句中我們設置了一個100*100的物理體,但是我們并未說明中心點,而默認的center為CGPoint(0,0).

  如下圖顯示:

iOS Game模板碰撞檢測的一些細節 三聯

  紅色的正方形表示你想要創建物理體,而事實上系統創建的物理體則是黃色的正方形。這個物理體在屏幕中并不顯示,但事實上是這個物理體在發生碰撞。為什么會發生這樣的情況?原因是Xcode默認的以坐標的左下角為中心創建了一個100*100的正方形。為了解決這個問題,我們修改創建物理體的代碼。

  xx.physicsBody=SKPhysicsBody(rectangleOfSize:CGSize(x:100,y:100),center:CGPoint(x:0.5, y: 0.5))

  好的在上訴代碼中我們以坐標(50,50)為中興創建了一個100*100的正方形,也就是我們想象中的紅色正方形。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂托克旗| 渝北区| 铁岭县| 武山县| 北海市| 郑州市| 铁岭市| 临朐县| 广水市| 留坝县| 娱乐| 塔城市| 阿克| 天祝| 湖南省| 徐汇区| 东阳市| 闽清县| 沛县| 乃东县| 启东市| 林西县| 道孚县| 搜索| 宜丰县| 冕宁县| 岑溪市| 海口市| 湄潭县| 阿尔山市| 郑州市| 慈溪市| 磐石市| 盐城市| 鄂托克前旗| 建湖县| 垦利县| 红河县| 广宗县| 桦南县| 名山县|