CCMenuItemSprite 如何更改sprite 图片
来源:互联网 发布:淘宝买的衣服没有吊牌 编辑:程序博客网 时间:2024/05/20 00:16
============================================================
博文原创,转载请声明出处
电子咖啡(原id蓝岩)
============================================================
在cocos2d的游戏设置见面中,要添加控制声音开关的按钮,我的button使用CCMenuItemSprite来时显得,当开启声音时候,显示A图片,关闭时候显示B图片,这就需要修改CCMenuItemSprite的图片,方法如下:
在创建menu的时候,这只一种图片
CCSprite* audion= [CCSprite spriteWithSpriteFrameName:@"button_audio.png"]; CCSprite*audios= [CCSprite spriteWithSpriteFrameName:@"button_audio.png"]; CCMenuItemSprite* audiosa=[CCMenuItemSprite itemFromNormalSprite:audion selectedSprite:audios target:self selector:@selector(audio:)];-----
注意,在创建CCMenuItemSprite的时候,必须创建你两个CCSprite,否则会出现一下错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'child already added. It can't be added again'
----
点击按钮,会触发 audio:函数,此函数定义如下:
-(void)audio:(id)sender{ NSLog(@"send:%@",sender); CCMenuItemSprite* i=(CCMenuItemSprite*)sender; CCSprite* audion= [CCSprite spriteWithSpriteFrameName:@"button_audio_bar.png"]; CCSprite* audios= [CCSprite spriteWithSpriteFrameName:@"button_audio_bar.png"]; i.normalImage = audion; i.selectedImage=audios;}
这里我们拿到的sender是CCMenuItemSprite,转换后可以设置其normalImage,selectedImage来实现图片的修改。
其实normalImage并不是严格意义上的图片,而是 CCNode<CCRGBAProtocol>的子类,所以我们可以将其设置为CCSprite。
- CCMenuItemSprite 如何更改sprite 图片
- CCMenuItemSprite 换按钮图片用initWithNormalSprite
- Cocos2d-x CCMenuItemSprite按钮图片旋转问题
- 如何更改图片的分辨率
- 02 Sprite 图片精灵
- Cocos2dx:Sprite切换图片
- ugui Sprite更换图片
- Sprite精灵帧图片
- NGUI sprite 裁剪到其他图片sprite
- PS 如何更改 照片 背景 (没有图片)
- css sprite是什么?如何使用css sprite
- CSS如何使用sprite
- cocos2dx 更改sprite色相 饱和度 亮度
- Unity调用sprite renderer更改物体颜色
- cocos2d-x 3.2 |如何实现图片显示和精灵动画 Sprite
- J2ME Sprite() 切割图片异常
- 内联图片实现css sprite
- AndEngine实现Sprite更换图片
- [置顶] 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
- Android Service学习之AIDL实例
- android style
- UART driver
- centOS快捷键
- CCMenuItemSprite 如何更改sprite 图片
- Python SocketServer模块
- django 分页
- 如何给磁盘文件排序
- Linux下C程序进程地址空间布局
- Java之美[从菜鸟到高手演变]系列之博文阅读导航
- SQL时间戳使用之任务循环
- zoj1094-Matrix Chain Multiplication
- 对共享网络与交换网络进行监听