08 2011 档案
摘要:http://blog.sina.com.cn/s/blog_538ee4a70100o9o2.html如果要从事Leopard或更高版本的MacOS程序开发使用Objective-C 2.0的垃圾回收机制,若要从事旧版本MacOS或iPhone开发则要全部阅读本章内容一、对象生命周期程序中的对象由生命周期,其周期包括:诞生(alloc或new)、生存(接受消息和执行操作)、交友(借助方法的组合和参数)和消亡(被释放)1、引用计数Cocoa采用了一种称为引用计数(保留计数)的技术:(1)每个对象有一个与之相关联的整数,称为他的引用计数器或保留计数器(2)当代码访问某个对象时,改代码将该对象保留
阅读全文
摘要:http://blog.csdn.net/windows_star/article/details/6010347cocos2d中,layer的主要任务就是接受用户的触摸,在看本文之前,读者最好了解ios与用户交互的方式,最好也知道cocos2d中是怎么相应用户的触摸到各个layer的。 首先我们继承自标准CCSprite,并且遵循CCTargetedTouchDeleget或者CCStandadTouchDeleget view plain////TestSprite.h//touchTest////Createdbyjeffreyon10-11-12.//Copyright2010__M.
阅读全文
摘要:假设drinkDetails是一个由Object组成的Array,且Object类有个birthDate属性,我们要根据它来对Array排序。方法一- (NSComparisonResult)compare:(id)otherObject { return [self.birthDate compare:otherObject];}NSArray *sortedArray;sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(compare:)];方法二NSSortDescriptor *sortDescriptor...
阅读全文
摘要:http://blog.csdn.net/sjzsp/article/details/6314903scroll view 原理 在滚动过程当中,其实是在修改原点坐标。当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件,那么 scroll view 发送scroll view 原理 在滚动过程当中,其实是在修改原点坐标。当手指触摸后, scroll view会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移动事件,那么 scroll view 发送 tracking events 到被点击的 subview。假如在
阅读全文
摘要:源地址:http://www.cocoachina.com/blog/blog.php?do=showone&uid=4039&type=blog&cid=&itemid=927一、 HelloWorld开始之前,我假想你已经看过了HelloWorld的源代码,并看了用户手册中关于HelloWorld的相关说明,而且已经大致明白了大多数内容。其实HelloWorld已经用极其简单的语言向你描述了Box2D物理引擎的运作机制,我们可以归纳一下步骤:1、 建立一个世界,这个世界基于一个b2AABB框,并设立了一个g值和一个是否允许休眠的bool型变量。2、 建立一个
阅读全文
摘要:CCTransitionFade, //渐隐效果CCTransitionFadeTR, //碎片效果CCTransitionJumpZoom, //跳动效果CCTransitionMoveInL, //从左向右移动CCTransitionPageTurn, //翻页效果CCTransitionRadialCCW, //钟摆效果CCTransitionRotoZoom,//涡轮效果CCTransitionSceneOriented,//CCTransitionShrinkGrow, //渐远效果CCTransitionSlideInL, //左移CCTransitionSplitCols,//上
阅读全文
摘要:cocos2d中从场景切换到UIViewController视图- (void) showUIViewController:(UIViewController *) controller{ [[DirectorsharedDirector] pause]; [UIViewbeginAnimations:nil context:NULL]; [UIViewsetAnimationDuration:.5]; [UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:[[Director sharedDirector].
阅读全文
摘要:1.protocol用法 protocol顾名思义,就是联系两个东西的桥梁。翻译成中文就叫协议,protocol在实际编程中应用的比较少,但是cocoa的API中却大量用到了它。例如:cocoa编程中,如果你在UI上使用了Table View控件,最常用的一个方法numberOfRowsInTableView。它返回将要在Table View上显示条目的个数,但是这个Cocoa的API怎么使用哪?程序员直接调用么?显然不是,因为apple工程师写这个方法的时候,他们怎么知道程序员将来要在Table View上显示几行啊!那么下面我们就拿这个例子分析protocol到底是怎么工作的。 numbe
阅读全文
摘要:继承是面向对象程序设计的一个重要特性,但是继承的一些缺点也越来越多被人们意识到。因为继承有时候会破坏类的封装性,使子类可以使用父类的一些非pubic的方法。另外当继承树大到一定程度的时候相信许多程序员都不愿意看到,因为毕竟程序不仅仅是要让计算机运行的,更重要的一点就是要人能够看懂,否则这样的程序也只能束之高阁,供人膜拜了。根据研究表明继承的层次维持3层以下是最容易让人理解。 所以继承有时候并不表现的那么有用,其实在设计模式中,适配器模式就可以解释用继承是多么的糟糕。那么不用继承objective c如何扩展一个类那,那么Apple的工程师就设计了category这个新语法特性。它的功能就是实现
阅读全文
摘要:http://blog.csdn.net/mengtnt/article/details/6087536Foundation框架的架构 cocoa程序编写主要用到2个框架Foundation和ApplicationKit。其中Foundation框架主要定义了一些基础类,供程序员来使用,而Application kit主要是一些用户界面设计的类。Foundation框架中的所有类都继承自NSObject这个对象,等下会讲到这个对象,这里就暂且知道有这样一个超类就行了。Foundation框架的主要目标有一下几点:1) 为内存管理,对象的创建,消息的传递定义基本的对象。2)用Unicode编码定
阅读全文
摘要:+ (BOOL)isHeadphone{//判断耳机是否插入UInt32 propertySize = sizeof(CFStringRef);CFStringRef state = nil;AudioSessionGetProperty(kAudioSessionProperty_AudioRoute,&propertySize,&state);//return @"Headphone" or @"Speaker" and so on.//根据状态判断是否为耳机状态if ([(NSString *)state isEqualToStri
阅读全文
摘要:本文纯属转载,并为实验在游戏里做一个比较通用的提示框,这个提示框的背景是一个CCSprite。根据 提示框内容的多少,CCSprite可以自动缩放。问题是在UIView里UIImage是可以设置圆角保持的,但是在Cocos2D里怎么实现呢?根据 QuartzDemo官方例子,给出了解决方法。帖子地址 http://www.cocoachina.com/bbs/read.php?tid-17140.html代码 @interface StretchableSprite : CCSprite { } +(id)spriteWithFile:(NSString*)file size:(CGSize)
阅读全文
摘要:数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:1、 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 、反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2] double atan2 (double, double); 反正切(整圆值), 结果介于[-PI, PI] 3
阅读全文
摘要:如果一个程序,既支持iPhone又支持iPad,那么它需要包含下面几个图片:Default-Portrait.png iPad专用竖向启动画面 768x1024或者768x1004Default-Landscape.png iPad专用横向启动画面 1024x768或者1024x748Default-PortraitUpsideDown.png iPad专用竖向启动画面(Home按钮在屏幕 上面),可省略 768x1024或者768x1004Default-LandscapeLeft.png iPad专用横向启动画面,可省略 1024x768或者1024x748Default-Landscap
阅读全文
摘要:先推荐个专家博客:http://blog.csdn.net/dongfengsun/category/597201.aspxOpenGL ES游戏是这样写成的 http://cocoachina.com/bbs/read.php?tid-2687.html西蒙的教程中文版 http://www.cocoachina.com/bbs/read.php?tid-7086.htmlcocoaChina讨论区 http://www.cocoachina.com/bbs/thread.php?fid-18.htmlCocos2d中文版白皮书 http://bbs.weiphone.com/simple/
阅读全文
摘要:NSLog(@"%@:%@",NSStringFromSelector(_cmd),[[self class] description]);[[NSUserDefaults standardUserDefaults] valueForKey:@"SBFormattedPhoneNumber"];//获取本地iphone手机号码///////////////获取手机的imei#import "Message/NetworkController.h"NetworkController *ntc=[[NetworkController sh
阅读全文