b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

cocos2d 水果忍者_cocos2d 现在没人用了_cocos2d开发语言(3)

电脑杂谈  发布时间:2017-05-30 19:05:07  来源:网络整理

三、高效的碰撞检测(圆与线段碰撞检测)

问题:如何判断刀光跟水果发生碰撞关系?

思路:

1、记录鼠标移动的点,把每个点连接起来,两个点组成一条线段,线段设想它有生命周期会随着时间而消逝,2、把每个水果看成一个圆形,这样一来就不用管水果在空中各种旋转的问题了,圆形再怎么旋转也还是圆形。cocos2d 水果忍者

3、把记录下来的线段数据跟飞行池中的水果进行碰撞检测

cocos2d 水果忍者_cocos2d开发语言_cocos2d 现在没人用了

代码如下:

--------鼠标移动过程中记录线段数据保存在全局数组中
function MouseLayer:_onTouchFunc(event)
    if(event.name=="began")then
        self.m_down=true
        self.tempx,self.tempy=event.x,event.y
        return true
    elseif(event.name=="ended")then
        self.m_down=false
    elseif(event.name=="moved") then
        if(self.m_down==true)then
            self.streak:setPosition(event.x,event.y)
            ---------------记录线段数据
            local line = SLine.new(self.tempx, self.tempy, event.x, event.y)
            dis=math.sqrt((self.tempx-event.y)*(self.tempx-event.x),(self.tempy-event.y)*(self.tempy-event.y))
            self.tempx=event.x
            self.tempy=event.y
            if(dis>=60) then
                local par=cc.ParticleSystemQuad:create("particles/exp.plist"):addTo(self):pos(event.x,event.y)
                par:setAutoRemoveOnFinish(true)
            end
        end
    end
end


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-50156-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 马兵
      马兵

      水军太多了

    • 孙侨硕
      孙侨硕

      可靠性下降维修成本上升是正常现象

    • 曹仲君姬平
      曹仲君姬平

      我身边成千上万的企业退休老人都和我一样

    热点图片
    拼命载入中...