cocos2d anchor point 錨點解析(轉)
anchor point 究竟是怎麼回事? 之所以造成不容易理解的是因為我們平時看待一個圖片是 以圖片的中心點 這一個維度來決定圖片的位置的。而在cocos2d中決定一個 圖片的位置是由兩個維度 一個是 position 也就是圖片的中心點 另外一個是anchor point。只要我們搞清楚他們的關係,自然就迎刃而解。
他們的關係是這樣的:<wbr></wbr>
actualPosition.x = position.x + width*(0.5 - anchor_point.x); acturalPosition.y = position.y + height*(0.5 - anchor_point.y)
actualPosition 是sprite實際上在螢幕顯示的位置, poistion是 程式設定的, achor_point也是程式設定的。
具體看下面的例子一:
<wbr></wbr>
- CCSprite<wbr>*</wbr>sprite<wbr>=<wbr>[CCSprite<wbr>spritewithFile:@"blackSquare.png"];<wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- sprite.position=ccp(0,0);<wbr><wbr></wbr></wbr>
- sprite.anchorPoint=ccp(0,0);<wbr><wbr></wbr></wbr>
- [self<wbr>addChild:sprite];<wbr><wbr></wbr></wbr></wbr>
具體效果如下:
根據上面的公式: 假設精靈的width = height = 10.
actualPosition.x = 0 + 10*(0.5 - 0) = 5; actualPosition.y <wbr>= 0 + 10*(0.5 - 0) = 5;<wbr></wbr></wbr>
(5, 5) 這個結果正是現在圖片的在螢幕上的實際位置。
例子 二:
<wbr></wbr>
- CCSprite<wbr>*</wbr>sprite<wbr>=<wbr>[CCSprite<wbr>spritewithFile:@"blackSquare.png"];<wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- sprite.position=ccp(0,0);<wbr><wbr></wbr></wbr>
- sprite.anchorPoint=ccp(-1,-1);<wbr><wbr></wbr></wbr>
- [self<wbr>addChild:sprite];<wbr><wbr></wbr></wbr></wbr>
具體效果如下:
<wbr></wbr>
根據上面的公式: 假設精靈的width = height = 10.
actualPosition.x = 0 + 10*(0.5 - (-1)) = 15; actualPosition.y <wbr>= 0 + 10*(0.5 - (-1)) = 15;<wbr></wbr></wbr>
(15, 15) 這個結果正是現在圖片的在螢幕上的實際位置。
例子三
<wbr></wbr>
- CCSprite<wbr>*</wbr>sprite<wbr>=<wbr>[CCSprite<wbr>spritewithFile:@"blackSquare.png"];<wbr><wbr></wbr></wbr></wbr></wbr></wbr>
- sprite.anchorPoint=ccp(1,1);<wbr><wbr></wbr></wbr>
- sprite.position=ccp(sprite.contentSize.width<wbr>,<wbr>sprite.contentSize.height);<wbr><wbr></wbr></wbr></wbr></wbr>
- [self<wbr>addChild:sprite];<wbr><wbr></wbr></wbr></wbr>
根據上面的公式: 假設精靈的width = height = 10.
actualPosition.x = 10 + 10*(0.5 - (1)) = 5; actualPosition.y <wbr>= 10 + 10*(0.5 - (1)) = 5;<wbr></wbr></wbr>
(5, 5) 這個結果正是現在圖片的在螢幕上的實際位置。
相關文章
- HTML 錨點定位HTML
- 錨點的使用
- 浮點型(Floating-Point Types)(轉)
- jQuery-錨點動畫jQuery動畫
- 微信小程式-錨點定位微信小程式
- iOS錨點的講解iOS
- css 錨點定位 -- scrollIntoViewCSSView
- VuePress 部落格優化之中文錨點跳轉問題Vue優化
- C#影象顯示實現拖拽、錨點縮放功能【轉】C#
- angular中使用a標籤的錨點Angular
- angularjs 錨點操作服務 $anchorScrollAngularJS
- 網易成立海外新工作室Anchor Point Studios,約空缺100個崗位iOS
- 閃回還原點restore pointREST
- 不動點迭代(Fixed Point Iteration)
- 地圖自定義錨點+覆蓋物地圖
- html中的錨點介紹和使用HTML
- 使用錨點跳轉時出現位置偏差原因及解決辦法
- J2ME:clip視窗可使用anchor--轉(轉)
- 有關於錨點的程式碼實現
- 『IOS』使用優雅的錨點開發iosiOS
- 對話#25:Getting to the Point (轉)
- Orace Flash Restore Point(閃回還原點)REST
- scrollIntoView()實現通訊錄功能-錨點定位View
- XML 程式設計思想: XML 語義錨(轉)XML程式設計
- ant design 錨點採坑一 無滾動效果
- 潘柱廷:網路安全需要堅實的“錨點”
- jQuery實現的錨點平滑定位程式碼例項jQuery
- 李沐動手學習深度學習 錨框部分程式碼解析深度學習
- cocos2d - JS 進階主題 call() 、apply() 和 bind() 解析JSAPP
- Winform Anchor和Dock屬性ORM
- 功能點分析(Function Point Analysis)學習筆記(一)Function筆記
- 功能點分析(Function Point Analysis)學習筆記(二)Function筆記
- 功能點分析(Function Point Analysis)學習筆記(三)Function筆記
- 功能點分析(Function Point Analysis)學習筆記(四)Function筆記
- 點雲分割網路---Point Transformer V1ORM
- 點雲分割網路---Point Transformer V3ORM
- RESTORE POINTREST
- Cocos2D遊戲開發中文版重點摘取遊戲開發