Cocos2dx-lua制作遮罩

本文介绍了在Cocos2dx-lua项目中,如何根据具体需求改进display.newMaskedSprite方法来动态生成遮罩。通过创建不同的Texture,并结合不同的图片资源类型(单个图片文件和plist文件),将生成的遮罩应用到CCSprite上,以满足模拟经营类游戏的复杂需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cocos2dx的资源文件有两种存在方式(只代表我在实战项目中用到的):单个图片文件和plist文件

因项目原因一个项目中两种资源形式并存,所以在生成CCSprite时,涉及两种构建的方式,构建ccsprite的方式不同,对应生成遮罩的方法也不同。Cocos2dx-lua 中提供了生成遮罩的方法,但是在具体的项目中,未必能满足项目的需求。我所参于的项目是模拟经营类的,需要根据不同图片,动态生成遮罩,所以使用display.newMaskedSprite(__mask, __pic)时就无法满足项目需求。接下来我把display.newMaskedSprite改进方法简单介绍下。

首先生成遮罩的Texture,这个核心代码不变,使用display.newMaskedSprite提供的代码:

          local __mb = ccBlendFunc()
          __mb.src = GL_ONE
          __mb.dst = GL_ZERO

          local __pb = ccBlendFunc()
          __pb.src = GL_DST_ALPHA
          __pb.dst = GL_ZERO

          local __maskSprite = display.newSprite(__mask):align(display.LEFT_BOTTOM,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值