一個解鎖與非解鎖的動畫

function AdventureMapLayer:lockAni(missionItem, sp, isUnLockAni)----unLockAni第二個參數是解鎖時的動畫
local array = CCArray:create();
local duration_ = 0.05;
local angle = 5.0;
local rotateLeft = CCRotateBy:create(duration_,-angle);
local rotateOriginal = CCRotateBy:create(duration_,angle);
local rotateRight = CCRotateBy:create(duration_,angle);
local dt = CCDelayTime:create(0.5);--延遲0.5秒
if isUnLockAni ~= true then --非解鎖動畫
array:addObject(rotateLeft);
array:addObject(rotateOriginal);
array:addObject(rotateRight);
array:addObject(rotateLeft);
array:addObject(rotateLeft);
array:addObject(rotateOriginal);
array:addObject(rotateRight);
array:addObject(rotateLeft);
local function returnFun()
self.lockSpIsMoring = false;
return;
end
local callFunc = CCCallFunc:create(returnFun);
array:addObject(callFunc);
sp:runAction(CCSequence:create(array));
else ---解鎖動畫
local function callFNewTexture()
local frame = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("unlocked.png");
sp:setDisplayFrame(frame);
end
local function callFUnVis()
sp:setVisible(false);
local levelId = missionItem.m_levelId;
local levelconfig = FightMapConfigMgr:getInstance().mapList[levelId];
  if levelconfig.m_hasLock==1 then
  local maxLevel =  AdventureMapController:getMaxCanPlayLevelID();
   if maxLevel<levelId then
--AdventureMapController:getInstance():afterUnLock();
end
end
end
local callFuncSetNewTexture = CCCallFunc:create(callFNewTexture);
local callFuncUnVis = CCCallFunc:create(callFUnVis);
local arr = CCArray:create();
array:addObject(rotateLeft);
array:addObject(rotateOriginal);
array:addObject(rotateRight);
array:addObject(rotateLeft);
array:addObject(dt);
array:addObject(callFuncSetNewTexture);
array:addObject(dt);
array:addObject(callFuncUnVis);
sp:runAction(CCSequence:create(array));
end
end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章