quick-cocosdx 多点触摸实现缩放 基于2.2.1版

来源:互联网 发布:淘宝咸鱼网在哪里 编辑:程序博客网 时间:2024/06/05 16:11

quick 多点触控 直接上代码lua代码如下 可以实现背景的缩放

function OfficeScene:duodian()    self.scaleTemp = 1    self.bgDuodian = display.newSprite('office/officebg.png', display.cx, display.cy):addTo(self)    local function onTouch(event, points)        if event == 'began' and #points >5 then            self.dx1 = math.abs(points[1] -points[4])            self.dy1 = math.abs(points[2] - points[5])        end        if event == 'moved' and #points >5 then            self.dx2 = math.abs(points[1] -points[4])            self.dy2 = math.abs(points[2] - points[5])            --这里只比较了两个手指x的距离的绝对值来判断缩放            local scale = (self.dx2 - self.dx1)/100            --print(scale)                        self.scaleTemp = self.scaleTemp + scale            if self.scaleTemp < 0.5 or self.scaleTemp > 2 then --缩放大于 0.5 或者 大于 2 就不能够在缩放                self.scaleTemp = self.scaleTemp - scale            else                self.bgDuodian:setScale(self.scaleTemp)            end            self.dx1 = self.dx2            self.dy1 = self.dy2        end        -- print(#points)    end         local layer = display.newLayer()    layer:addTouchEventListener(onTouch, true)    layer:setTouchEnabled(true) -- 注册后还必须启用触摸         self:addChild(layer) -- 还要将 CCLayer 对象加入场景或其他显示对象中end

要开启多点触控还要注意的是要在iOS中开启多点触控

把AppController.mm代码中的

     [__glView setMultipleTouchEnabled:YES];

这一句的注视去掉然后就这么简单的实现多点触摸啦
0 0