cocos2d-x中使用CCOrbitCamera做水平翻轉


項目中需要用到水平翻轉效果,這里偷懶了…

 

首先翻轉,它只是轉到了180度,多了就覺得很奇怪了。 所以這里設定就是先從0 ~ 90度,然后再從270 ~ 360,90 – 270 視覺上是感覺不到變化的,因為它都是垂直着屏幕顯示,是向上/向下垂直,肉眼一般感知不到。所以基於這個思路實現起來就比較容易多了

function PCPalaceTributeVerLogic:FlipSpriteHandler()
local action = CCOrbitCamera:create(0.5, 1, 0, 0, 90, 0, 0)
local callback = FlipSpriteCallback
 
local seqArr = CCArray:create()
seqArr:addObject(action)
seqArr:addObject(callback)
 
local seq_action = CCSequence:create(seqArr)
 
m_spt:runAction(seq_action)
end

function PCPalaceTributeVerLogic:FlipSpriteCallback()
m_spt:SetSpriteName(m_picUrl)
  
local action = CCOrbitCamera:create(0.5, 1, 0, 270, 90, 0, 0)
local callback = FlipSpriteComplete
  
local seqArr = CCArray:create()
seqArr:addObject(action)
seqArr:addObject(callback)
 
local seq_action = CCSequence:create(seqArr)
 
m_spt:runAction(seq_action)
end
  
function PCPalaceTributeVerLogic:FlipSpriteComplete()
cclog("=========== FlipSpriteComplete")

end

----------------

上面的代碼不能直接被使用,只是思路,可以自行增減已達到效果

 

0 ~ 90 重新設置圖片,再從 270 ~ 360

static CCOrbitCamera* create(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX);

參數分別是:

旋轉的時間、起始半徑、半徑差、起始z角、旋轉z角差、起始x角、旋轉x角差

注意差值可為正、負


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM