Cocos2dx-lua制作遮罩
cocos2dx的资源文件有两种存在方式(只代表我在实战项目中用到的):单个图片文件和plist文件 因项目原因一个项目中两种资源形式并存,所以在生成CCSprite时,涉及两种构建的方式,构建ccsprite的方式不同,对应生成遮罩的方法也不同。Cocos2dx-lua 中提供了生成遮罩的方法,但是在具体的项目中,未必能满足项目的需求。我所参于的项目是模拟经营类的,需要根据不同图片,动态生成遮罩,所以使用display.newMaskedSprite(__mask,__pic)时就无法满足项目需求。接下来我把display.newMaskedSprite改进方法简单介绍下。 首先生成遮罩的Texture,这个核心代码不变,使用display.newMaskedSprite提供的代码: local __mb = ccBlendFunc() local __pb = ccBlendFunc() local __maskSprite = display.newSprite(__mask):align(display.LEFT_BOTTOM,0) local __picSprite = display.newSprite(__pic):align(display.LEFT_BOTTOM,0) local __maskSize = __maskSprite:getContentSize() 接下来就是如何将生成的Texture应用在原有的CCSprite中: 1、display.newSprite(单个图片的绝对径) wallSprite:setTexture(__canva:getSprite():getTexture()) 2、display.newSprite(plist中定义的图片key值) local frame = CCSpriteFrame:createWithTexture(__canva:getSprite():getTexture(),CCRectMake(0,__maskSize.width,__maskSize.height)) wallSprite:setDisplayFrame(frame) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby – 如何使用nokogiri方法.xpath和.at_xpath
- ReactiveCocoa入门教程之信号的使用
- cocos2d 移植android 5.0系统上黑屏而不闪退
- c# – ConcurrentDictionary和ConcurrentQueue的这种组合是
- ruby-on-rails – 我可以从Grails学到什么?
- sqlite – 在sqlalchemy.exc.IntegrityError :( IntegrityE
- c# – 正则表达式重复
- flex 如何在validation标签里面写正则表达定义
- c – 没有新运算符的Subdivide Quadtree
- 正则表达式中各种字符的含义