codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
HoleLayer=class("HoleLayer",function() return cc.LayerColor:create(cc.c4b(0,60,30,255)) end) HoleLayer.ctor=function(self) local function onTouchBegin(touch,event) if self:onTouchBegin(touch,event) then return true end return false end local function onTouchMoved(touch,event) self:onTouchMoved(touch,event) end local function onTouchEnded(touch,event) self:onTouchEnded(touch,event) end local listener=cc.EventListenerTouchOneByOne:create() listener:registerScriptHandler(onTouchBegin,cc.Handler.EVENT_TOUCH_BEGAN) listener:registerScriptHandler(onTouchMoved,cc.Handler.EVENT_TOUCH_MOVED) listener:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED) local dispacher=cc.Director:getInstance():getEventDispatcher() dispacher:addEventListenerWithSceneGraphPriority(listener,self) --添加BackgrounClipping local node=require("sprite/clipping/Background") self.outerClip=node.create() --添加子弹HoleClip local hole=require("sprite/clipping/HoleClipping") self.holeClip=hole.create() self.holeClip:addContent(self.outerClip:block()) self.outerClip:addChild(self.holeClip) self:addChild(self.outerClip) end HoleLayer.onTouchBegin=function(self,touch,event) cclog("<HoleLayer.onTouchBegin>") return true end HoleLayer.onTouchMoved=function(self,touch,event) end HoleLayer.onTouchEnded=function(self,touch,event) local point=touch:getLocation() --返回的是WordSpace坐标 self.holeClip:addHole(self.holeClip:convertToNodeSpace(point)) --转换成NodeSpace --outerClip特效 local action1=cc.ScaleBy:create(0.05,0.95) local action2=cc.ScaleTo:create(0.1,1) self.outerClip:runAction(cc.Sequence:create(action1,action2)) end HoleLayer.create=function() local layer=HoleLayer.new() return layer end return HoleLayer
Private
[
?
]
Run code
Submit