欢迎来到dApps iPhone源码分享频道,在这里我们将分享一些优秀iPhone源码,致力于帮助开发者快速学习。你可以通过这些源代码学习到更多如何开发iPhone的APP。本文分享的是按钮类,感谢会员何夕的分享!
SpriteButton *button = [SpriteButton initWithNormalSprite:[CCSprite spriteWithFile:@"Icon.png"] selectedSprite:[CCSprite spriteWithFile:@"Icon.png"] target:self selector:@selector(buttonClicked:)];
button.position = ccp(240, 160);
button.tag = 1010;
[self addChild:button];
。。。。。。
CCLOG(@"button clicked");
SpriteButton *button = (SpriteButton *)[self getChildByTag:1010];
id scale = [CCScaleTo actionWithDuration:1 scale:2];
[button runAction:scale];

以下是作者原文:

用过CCMenu,但是有时候不能满足需求,一是缩放、移动等动画不方便,二是截获了触摸事件。
我想要的是桌面上手指滑动来切换屏幕的效果,即便按到应用的图标上,只要动作快,还是可以滑动切换。但如果按下时间足够长,手指滑动时将不会再切换屏幕。
本来这个问题也很困扰,幸运的是帮别人解决问题时,看CCScrollLayer的时候,发现了有用的源码,也参考了一下CCMenuItemSprite,写出了SpriteButton这个按钮。
写的过程中也明白了一些CCMenu这个东西本来不理解的东西~
错误和不足请大家指正!
使用方法很简单,就不附项目了~
看到有人下载了,说一下,这里更新了,之前有错误没考虑到,一是dealloc时,二是按钮加入到一个容器中,再加入到主CCLayer,主层才有触摸处理。
这样当触摸判定为无效的时候,应该是主层claim touch。目前设置为初始化时target传入的参数会claim touch。也可以自己写方法来指定。

[dl href=”http://vdisk.weibo.com/s/64JWi”]点击这里下载源码[/dl]