在这里实现一个简单的转盘效果供大家参考:

local index = math.random(1,5)
local degree = 360 - (index - 1) * 120 + 360 * 3
local action1 = cc.EaseSineIn:create(cc.RotateBy:create(1, 360))
local action2 = cc.EaseSineOut:create(cc.RotateBy:create(2, degree))

self.zhuanpan:runAction(cc.Sequence:create(cc.DelayTime:create(2),action1,action2,
cc.CallFunc:create(function ()
        cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.myScheduler)     
end)))
if nil ~= self.myScheduler  then
    cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.myScheduler)  
end
local angle1 = 0
local angle2 = self.zhuanpan:getRotation()
local function callback()
    local angle2 = self.zhuanpan:getRotation()
    if angle3 - angle2 >= angle1 then
         angle1 = angle1 + 120
    end     
end
local scheduler = cc.Director:getInstance():getScheduler()
self.myScheduler = scheduler:scheduleScriptFunc(callback, 1/60, false)

Logo

这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!

更多推荐