利用3.0里面封装好的模板类来写,不罗嗦,直接上例子
require "extern"
StarSprite = class("StarSprite",function(fileName) return cc.Sprite:create(fileName)
 end
)
StarSprite.__index = StarSprite
StarSprite.type = 0
--around color
StarSprite.UP = "Empty"  
StarSprite.DOWN = 
"Empty"
StarSprite.LEFT = "Empty"
StarSprite.RIGHT = "Empty"
--self color
StarSprite.m_selfcolor = "Empty"
--pos in 10*10
StarSprite.m_Matrix_x = -1
StarSprite.m_Matrix_y = 
-1
--tag
StarSprite.m_tag = -1
--Be already Searched  1 找到了  2  没有找到
StarSprite.m_BeSearched = 2
function StarSprite:createByType(typenum,_type)
    local buf
    buf = 
"star_type_"..typenum..".png"
    local star = 
StarSprite.new(buf)
--star:setScale(0.4)
    
star:Init(typenum,_type)
    return star
end
function StarSprite:Init(typenum,_type)
    self.type = _type
    if 
typenum == 1 then
        self.m_selfcolor = "green"
    elseif typenum == 
2 then
        self.m_selfcolor = "blue"
    elseif typenum == 3 then
  
      self.m_selfcolor = "red"
    elseif typenum == 4 then
        
self.m_selfcolor = "purple"
    elseif typenum == 5 then
        
self.m_selfcolor = "yellow"
    else
        self.m_selfcolor = 
"Empty"
    end
    self:setScale(0.4)
    self.m_BeSearched = 2
end
function 
StarSprite:SetAroundColor(upcolor,downcolor,leftcolor,rightcolor)
     
self.UP = upcolor
     self.DOWN = downcolor
     self.LEFT = 
leftcolor
     self.RIGHT = rightcolor
end
function StarSprite:SetMatrixPos(centerx,centery)
     self.m_Matrix_x = 
centerx
     self.m_Matrix_y = centery
end
function 
StarSprite:GetMartrixPosX()
     return self.m_Matrix_x
end
function 
StarSprite:GetMartrixPosY()
     return self.m_Matrix_y
end
function StarSprite:SetStarTag(tag)
    self.m_tag = tag
end
function StarSprite:SetStarScale(scalex,scaley)
    
self:setScaleX(scalex)
    self:setScaleY(scaley) 
end
原文:http://www.cnblogs.com/lh92lxm/p/3565049.html