codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
SpriteZOrder=class("SpriteZOrder",function() return cc.Sprite:create() end) SpriteZOrder.ctor=function(self) self.zorder=1 local size=cc.Director:getInstance():getWinSize() self:setPosition(size.width/2,size.height/2) self:setScaleX(12) end SpriteZOrder.init=function(self,texture) self:setTexture(texture) self:setLocalZOrder(self.zorder) self:registerScriptHandler(function(tag) local scheduler=nil if tag=="enter" then scheduler=self:onEnter() elseif tag=="exit" then self:onExit(scheduler) end end) end SpriteZOrder.onEnter=function(self) cclog("<SpriteZOrder.onEnter>") local function reorderSprite() cclog("call <reorderSprite>"..os.clock()) local order=self:getLocalZOrder() if order < -1 then self.zorder=1 elseif order >10 then self.zorder=-1 end self.zorder=self.zorder+3 self:setLocalZOrder(self.zorder) end local scheduler=cc.Director:getInstance():getScheduler() scheduler:scheduleScriptFunc(reorderSprite,2,false) return scheduler end SpriteZOrder.onExit=function(self,scheduler) cclog("<SpriteZOrder.onExit>") if scheduler then cc.Director:getInstance():getScheduler():unscheduleScriptEntry(scheduler) end end SpriteZOrder.create=function(self) local sprite=self.new() sprite:init("Images/grossini.png") return sprite end return SpriteZOrder
Private
[
?
]
Run code
Submit