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

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

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

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

目录

一、完美刀光实现

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

四、原创完整版源码下载

一、完美刀光实现

这里刀光的实现直接用的是MotionStreak,估计很也都用过。这里的重点是如何选择刀光图片,具体请看CCMotionStreak.cpp。或者可以直接弄一张圆形的图片上去看下移动过程中图片是如何变化的,再确认自己要的刀光图形的形状,这里我们就直接用如下的图片来做了。blade

刀光加好了感觉没生气的话,可以再加个粒子效果上去,其他的实现看代码。

这是最后的效果图:

shui2.jpg

local MouseLayer=class("MouseLayer",function()
    return display.newLayer()
end)
local SLine=import("..ui.SLine")
local app=app
local math=math
local cc=cc
local dis=0
local pairs=pairs
local lines=G_Lines
 
function MouseLayer:ctor()
 
--    cc.c3b(50, 220, 255)
    self.streak = cc.MotionStreak:create(0.3,3,30,cc.c3b(50, 220, 255), "blade.png"):addTo(self):align(display.CENTER,display.cx,display.cy)
    self.m_down=false
    self.tempx=0
    self.tempy=0
 
    self._frames=0
    self._tempFrames=0
     
    self:setTouchEnabled(true)
    self:setTouchSwallowEnabled(false)
    self:setTouchMode(cc.TOUCH_MODE_ONE_BY_ONE)
    self:addNodeEventListener(cc.NODE_TOUCH_EVENT,handler(self,self._onTouchFunc))
end
 
function MouseLayer:onEnterFrame(dt)
    for k,v in pairs(lines) do
        v:update()
    end
    if(self.m_down==true)then
        self._frames=self._frames+1
        if(dis>=60 and (self._frames-self._tempFrames)>=8) then
            self._tempFrames,self._frames=0,0
--            app:playSoundEffect("sound/cut.mp3")
        end
    end
end
 
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
 
return MouseLayer


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

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

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