﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-CrackRen-随笔分类-iPhone</title><link>http://www.blogjava.net/CrackRen/category/49910.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 20 Oct 2012 20:37:04 GMT</lastBuildDate><pubDate>Sat, 20 Oct 2012 20:37:04 GMT</pubDate><ttl>60</ttl><item><title>屏蔽CCMenu按钮响应</title><link>http://www.blogjava.net/CrackRen/archive/2012/10/20/389913.html</link><dc:creator>CrackRen</dc:creator><author>CrackRen</author><pubDate>Sat, 20 Oct 2012 04:07:00 GMT</pubDate><guid>http://www.blogjava.net/CrackRen/archive/2012/10/20/389913.html</guid><wfw:comment>http://www.blogjava.net/CrackRen/comments/389913.html</wfw:comment><comments>http://www.blogjava.net/CrackRen/archive/2012/10/20/389913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/CrackRen/comments/commentRss/389913.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/CrackRen/services/trackbacks/389913.html</trackback:ping><description><![CDATA[<br /> <div id="xunlei_com_thunder_helper_plugin_d462f475-c18e-46be-bd10-327458d045bd"></div><p>屏蔽方法:</p>
<p>&nbsp;</p>
<p>进入新的CCLayer时:</p>
<p>[[CCDirector sharedDirector].touchDispatcher addTargetedDelegate:self priority:kCCMenuHandlerPriority swallowsTouches:YES];</p>
<p>&nbsp;</p>
<p>离开此CCLayer时调用</p>
<p>[[CCDirector sharedDirector].touchDispatcher removeDelegate:self];</p>
<p>&nbsp;</p>
<p>重写方法</p>
<p>- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event;</p>
<p>&nbsp;</p>
<p>解释:</p>
<p>由于CCMenu 按钮接受按键的优先级为-128(值越小优先级越高)，所有不论处在那一层都会接收到点击&nbsp;</p>
<p>[[CCDirector sharedDirector].touchDispatcher addTargetedDelegate:self priority:kCCMenuHandlerPriority swallowsTouches:YES];</p>
<p>priority: 优先级 kCCMenuHandlerPriority(-128)</p>
<p>swallowsToucher: 是否吃掉按钮不叫其他层再接收了&nbsp; 如果为NO其他层还是一样会接收到Touch数据</p>
<p>&nbsp;</p>
<p>注意离开此CCLayer时一定要调用</p>
<p>[[CCDirector sharedDirector].touchDispatcher removeDelegate:self];</p>
<p>否则下面层将不再接收按键</p><img src ="http://www.blogjava.net/CrackRen/aggbug/389913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/CrackRen/" target="_blank">CrackRen</a> 2012-10-20 12:07 <a href="http://www.blogjava.net/CrackRen/archive/2012/10/20/389913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CCSprite各种动作介绍和使用</title><link>http://www.blogjava.net/CrackRen/archive/2011/10/14/361961.html</link><dc:creator>CrackRen</dc:creator><author>CrackRen</author><pubDate>Fri, 14 Oct 2011 05:18:00 GMT</pubDate><guid>http://www.blogjava.net/CrackRen/archive/2011/10/14/361961.html</guid><wfw:comment>http://www.blogjava.net/CrackRen/comments/361961.html</wfw:comment><comments>http://www.blogjava.net/CrackRen/archive/2011/10/14/361961.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/CrackRen/comments/commentRss/361961.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/CrackRen/services/trackbacks/361961.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<pre name="code" class="c">// 触摸屏
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{

    for( UITouch *touch in touches ) {
		CGPoint location = [touch locationInView: [touch view]];
		location = [[CCDirector sharedDirector] convertToGL: location];

        // 各种动作
        
        // 瞬时动作
        // 设置坐标
        id action0 = [CCPlace actionWithPosition:ccp(240,160)];
        // 隐藏
        id action1 = [CCHide action];
        // 显示
        id action2 = [CCShow action];
        // 隐藏/显示
        id action3 = [CCToggleVisibility action];
        
        // 延时动作
        // 移动
        id action4 = [CCMoveTo actionWithDuration:2 position:ccp(0,0)];
        id action5 = [CCMoveBy actionWithDuration:2 position:ccp(100,100)];
        // 弹跳
        id action6 = [CCJumpTo actionWithDuration:2 position:ccp(0,200) height:30 jumps:5];
        id action7 = [CCJumpBy actionWithDuration:2 position:ccp(100, 0) height:30 jumps:5];
        // 贝塞尔移动
        ccBezierConfig bezier;
        bezier.controlPoint_1 = ccp(0, 0);
        bezier.controlPoint_2 = ccp(100, 300);
        bezier.endPosition = ccp(0,100);
        id action8 = [CCBezierTo actionWithDuration:3 bezier:bezier];
        id action9 = [CCBezierBy actionWithDuration:3 bezier:bezier];
        // 缩放
        id action10 = [CCScaleTo actionWithDuration:2 scale:4];
        id action11 = [CCScaleBy actionWithDuration:2 scale:0.5];
        // 旋转
        id action12 = [CCRotateTo actionWithDuration:2 angle:180];
        id action13 = [CCRotateBy actionWithDuration:2 angle:-180];
        // 闪烁
        id action14 = [CCBlink actionWithDuration:3 blinks:5];
        // 色调变化
        id action15 = [CCTintTo actionWithDuration:2 red:255 green:0 blue:0];
        id action16 = [CCTintBy actionWithDuration:0.5 red:0 green:255 blue:255];
        // 淡化到/淡入/淡出
        id action17 = [CCFadeTo actionWithDuration: 1 opacity:80];
        id action18 = [CCFadeIn actionWithDuration:1.0f];
        id action19 = [CCFadeOut actionWithDuration:1.0f];
        
        // 动画顺序播放
        CCAnimation *animation = [CCAnimation animation];
        [animation setDelay:2];
        // 这里就添加两帧，需要自己添加
        [animation addFrameWithTexture:sprTest.texture rect:CGRectMake(0, 0, 44, 34)];
        [animation addFrameWithTexture:sprTest.texture rect:CGRectMake(0, 34, 44, 34)]; 
        id action20 = [CCAnimate actionWithAnimation: animation];
        
        // 组合动作
        // 动画序列
        id action21 = [CCSequence actions:action19, action18, nil];
        // 重复动作
        id action22 = [CCRepeat actionWithAction:action21 times:10];
        // 延时动作
        id action23 = [CCDelayTime actionWithDuration:1];
        // 同时动作
        id action24 = [CCSpawn actions:action0, action4, action21, nil];
        // 无限循环动作
        id action25 = [CCRepeatForever actionWithAction:action21];
        
        // 扩展动作
        // 回调动作
        id acf0 = [CCCallFunc actionWithTarget:self selector:@selector(CallBack1)];
        // 回调动作，传递动画自身指针
        id acf1 = [CCCallFuncN actionWithTarget:self selector:@selector(CallBack2:)];  
        // 回调动作，传递动画自身指针已经一个参数
        id acf2 = [CCCallFuncND actionWithTarget:self selector:@selector(CallBack3:data:) data:(void*)2];
        id action26 = [CCSequence actions:action19, action18, acf0, action23, action0, nil];
        // 反转动作，只能用在有方向有顺序的动作上
        id action27 = [action9 reverse];

        // 速度变化
        //id ac = [CCSequence actions:action9,action27,nil];
        id actiontest = [CCMoveBy actionWithDuration:0.5 position:ccp(200,0)];
        id  ac = [CCSequence actions:actiontest,actiontest, nil];
        // 渐快
        id action28 = [CCEaseIn actionWithAction:ac rate:3];
        // 渐慢
        id action29 = [CCEaseOut actionWithAction:ac rate:3];
        // 先渐快再渐慢
        id action30 = [CCEaseInOut actionWithAction:ac rate:3];
        // 正弦波移动
        id action31 = [CCEaseSineIn actionWithAction:ac];
        id action32 = [CCEaseSineOut actionWithAction:ac];
        id action33 = [CCEaseSineInOut actionWithAction:ac];
        // 由极慢至极快
        id action34 = [CCEaseExponentialIn actionWithAction:ac];
        // 由极快到极慢
        id action35 = [CCEaseExponentialOut actionWithAction:ac];
        // 由极慢至极快 再由极快到慢
        id action36 = [CCEaseExponentialInOut actionWithAction:ac];
        // 手动设定速度,可通过SetSpeed不断调整
        id action37 = [CCSpeed actionWithAction:ac speed:(CCRANDOM_0_1() * 5)];

        [sprTest runAction:action37];
    
	}  
}
// 回调函数1
- (void) CallBack1
{
	[sprTest runAction:[CCTintBy actionWithDuration:2 red:255 green:0 blue:255]];	
}

// 回调函数2
- (void) CallBack2:(id)sender
{
    [sender runAction:[CCTintBy actionWithDuration:1 red:255 green:0 blue:255]];
}

// 回调函数3
-(void) CallBack3:(id)sender data:(void*)data
{
	[sender runAction:[CCTintBy actionWithDuration:(NSInteger)data red:255 green:0 blue:255]];	
}</pre>&nbsp;<img src ="http://www.blogjava.net/CrackRen/aggbug/361961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/CrackRen/" target="_blank">CrackRen</a> 2011-10-14 13:18 <a href="http://www.blogjava.net/CrackRen/archive/2011/10/14/361961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Scene切换特效</title><link>http://www.blogjava.net/CrackRen/archive/2011/10/11/361962.html</link><dc:creator>CrackRen</dc:creator><author>CrackRen</author><pubDate>Tue, 11 Oct 2011 05:57:00 GMT</pubDate><guid>http://www.blogjava.net/CrackRen/archive/2011/10/11/361962.html</guid><wfw:comment>http://www.blogjava.net/CrackRen/comments/361962.html</wfw:comment><comments>http://www.blogjava.net/CrackRen/archive/2011/10/11/361962.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/CrackRen/comments/commentRss/361962.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/CrackRen/services/trackbacks/361962.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p>&nbsp;</p>
<pre name="code" class="c">   //
    -(void) startMenu:(id) sender
    {
        CCScene* scenec = [CCTestScene scene];
        //部落格－－－－－－
        //CCTransitionTurnOffTiles *transitionScene = [CCTransitionTurnOffTiles transitionWithDuration:3 scene:scenec];
        //近远－远近－－－－－
        //CCTransitionShrinkGrow *transitionScene = [CCTransitionShrinkGrow transitionWithDuration:3 scene:scenec];
        //另一个layout左侧进入（视觉感觉是屏幕右移）
        //CCTransitionSlideInL *transitionScene = [CCTransitionSlideInL transitionWithDuration:3 scene:scenec];
        //另一个layout右侧进入（视觉感觉是屏幕左移）
        //CCTransitionSlideInR *transitionScene = [CCTransitionSlideInR transitionWithDuration:3 scene:scenec];
        //另一个layout上侧进入（视觉感觉是屏幕下移）
        //CCTransitionSlideInT *transitionScene = [CCTransitionSlideInT transitionWithDuration:3 scene:scenec];
        //另一个layout下侧进入（视觉感觉是屏幕上移）
        //CCTransitionSlideInB *transitionScene = [CCTransitionSlideInB transitionWithDuration:3 scene:scenec];
        //当前屏幕被分为3列，两则下移，中间上移
        //CCTransitionSplitCols *transitionScene = [CCTransitionSplitCols transitionWithDuration:3 scene:scenec];
        //当前屏幕被分为3列，两则左移，中间右移
        //CCTransitionSplitRows *transitionScene = [CCTransitionSplitRows transitionWithDuration:3 scene:scenec];
        //扇形转换－－－－－
        //CCTransitionRadialCW *transitionScene = [CCTransitionRadialCW transitionWithDuration:3 scene:scenec];
        //平面旋转－－－－－
        //CCTransitionRotoZoom *transitionScene = [CCTransitionRotoZoom transitionWithDuration:3 scene:scenec];
        //近－远－跳动－－－－－－
        //CCTransitionJumpZoom *transitionScene = [CCTransitionJumpZoom transitionWithDuration:3 scene:scenec];
        //立体反转（X轴）－－(还有种从近到远，从远到近的感觉)－－－－－－－－
        //CCTransitionZoomFlipX *transitionScene = [CCTransitionZoomFlipX transitionWithDuration:3 scene:scenec];
        //立体反转（Y轴）－(还有种从近到远，从远到近的感觉)－－－－－－－
        //CCTransitionZoomFlipY *transitionScene = [CCTransitionZoomFlipY transitionWithDuration:3 scene:scenec];
        //立体反转（X,Y轴）－－－(还有种从近到远，从远到近的感觉)－－－－－
        //CCTransitionZoomFlipAngular *transitionScene = [CCTransitionZoomFlipAngular transitionWithDuration:3 scene:scenec];
        //另外一个layout左侧进入覆盖当前layout
        //CCTransitionMoveInL *transitionScene = [CCTransitionMoveInL transitionWithDuration:3 scene:scenec];
        //另外一个layout右侧进入覆盖当前layout
        //CCTransitionMoveInR *transitionScene = [CCTransitionMoveInR transitionWithDuration:3 scene:scenec];
        //另外一个layout上侧进入覆盖当前layout
        //CCTransitionMoveInT *transitionScene = [CCTransitionMoveInT transitionWithDuration:3 scene:scenec];
        //另外一个layout下侧进入覆盖当前layout
        //CCTransitionMoveInB *transitionScene = [CCTransitionMoveInB transitionWithDuration:3 scene:scenec];
        //立体反转（X轴）－－2D平面反转，没有远近感
        //CCTransitionFlipX *transitionScene = [CCTransitionFlipX transitionWithDuration:3 scene:scenec];
        //立体反转（Y轴）－－2D平面反转，没有远近感
        //CCTransitionFlipY *transitionScene = [CCTransitionFlipY transitionWithDuration:3 scene:scenec];
        //立体反转（X,Y轴）－－2D平面反转，没有远近感
        //CCTransitionFlipAngular *transitionScene = [CCTransitionFlipAngular transitionWithDuration:3 scene:scenec];
        //实体－透明－实体(默认无颜色，可以附带颜色)
        //CCTransitionFade* transitionScene = [CCTransitionFade transitionWithDuration:3 scene:scenec withColor:ccWHITE];
        //另外一个直接渐变覆盖当前layout
        //CCTransitionCrossFade *transitionScene = [CCTransitionCrossFade transitionWithDuration:3 scene:scenec];
        //移动（方格状）部落格，从左下往右上
        //CCTransitionFadeTR *transitionScene = [CCTransitionFadeTR transitionWithDuration:3 scene:scenec];
        //移动（方格状）部落格，从右上往左下
        CCTransitionFadeBL *transitionScene = [CCTransitionFadeBL transitionWithDuration:3 scene:scenec];
        //移动（长矩形，宽度是屏幕宽）部落格，从下往上
        //CCTransitionFadeUp *transitionScene = [CCTransitionFadeUp transitionWithDuration:3 scene:scenec];
        //移动（长矩形，宽度是屏幕宽）部落格，从上往下
        //CCTransitionFadeDown *transitionScene = [CCTransitionFadeDown transitionWithDuration:3 scene:scenec];
        [[CCDirector sharedDirector] replaceScene: transitionScene];
    }</pre>&nbsp;&nbsp;<img src ="http://www.blogjava.net/CrackRen/aggbug/361962.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/CrackRen/" target="_blank">CrackRen</a> 2011-10-11 13:57 <a href="http://www.blogjava.net/CrackRen/archive/2011/10/11/361962.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>