|
-
- local yibinmajiangDingQueAniView = class("yibinmajiangDingQueAniView", cc.UIView)
-
- function yibinmajiangDingQueAniView:ctor()
- yibinmajiangDingQueAniView.super.ctor(self)
- self:setAnchorPoint(cc.p(0, 0))
- self._initAni = {}
- end
-
- -- 加载UI
- function yibinmajiangDingQueAniView:loadUI()
- local ui = loadUI("mj_yibinmajiang/res/ui_fangjian/mj_yibinmajiang_dingque_ani.ui")
- self.ui = ui
- self:addChild(ui)
- end
-
- function yibinmajiangDingQueAniView:onEnter()
- yibinmajiangDingQueAniView.super.onEnter(self)
- self:loadUI()
- self:initViews()
- self:initValue()
- end
-
- function yibinmajiangDingQueAniView:onExit()
- yibinmajiangDingQueAniView.super.onExit(self)
- end
-
- -- 初始化界面
- function yibinmajiangDingQueAniView:initViews()
- self:resetState()
- end
-
- -- 初始值
- function yibinmajiangDingQueAniView:initValue()
- for i = 1, 4 do
- local str = string.format('ImageView_DingQue_%d', i)
- self._initAni[i] = self.ui.Items[str]:getPosition()
- end
- end
-
- -- 定缺返回结果动画(1个1个传) dingqueValue:key = viewIndex, value = value
- function yibinmajiangDingQueAniView:showDingQueResultAniOneByOne(viewId, dingqueValue, posTable, endCallback)
- local node = self:cloneOneNode(viewId, dingqueValue)
- if not node then
- return
- end
-
- self:startAni(node, posTable, endCallback)
- end
-
- -- 播放动画
- function yibinmajiangDingQueAniView:startAni(node, posTable, endCallback)
- node:setVisible(true)
-
- local time = 0.5
- local scaleTo = 0.29
- local delayTime = 0.5
-
- local dt = cc.DelayTime:create(delayTime)
- local move = cc.MoveTo:create(time, posTable)
- local scale = cc.ScaleTo:create(time, scaleTo)
- local callback = cc.CallFunc:create(function()
- node:removeFromParent()
- if endCallback then
- endCallback()
- end
- end)
-
- if node then
- node:runAction(cc.Sequence:create(dt, cc.Spawn:create(move, scale), callback))
- end
- end
-
- -- 默认状态
- function yibinmajiangDingQueAniView:resetState()
- for i = 1, 4 do
- local str = string.format('ImageView_DingQue_%d', i)
- local node = self.ui.Items[str]
- node:setScale(1)
- node:setVisible(false)
- node:stopAllActions()
- end
- end
-
- -- 克隆获得一个节点
- function yibinmajiangDingQueAniView:cloneOneNode(viewId, dingqueValue)
- if not viewId or not dingqueValue then
- return
- end
-
- local temp = {
- [0] = 'wan',
- [1] = 'tong',
- [2] = 'tiao',
- }
-
- local str = string.format('ImageView_DingQue_%d', viewId)
- local node = self.ui.Items[str]:getCopied()
- local texturePath = string.format('mj_yibinmajiang/res/zy_fangjian/operate/yibinmajiang_dingque_operate_%s.png', temp[dingqueValue])
- node:loadTexture(texturePath)
- self.ui.Items.Layout_Ani:addChild(node)
- return node
- end
-
- return yibinmajiangDingQueAniView
|