Fork me on GitHub
上一页 1 ··· 93 94 95 96 97 98 99 100 101 ··· 125 下一页

2012年2月16日

摘要: 【IT168技术】最近打算写一些ObjC中比较底层的东西,尤其是 runtime 相关的。苹果已经将 ObjC runtime 代码开源了,我们可以从:http://opensource.apple.com/source/objc4/objc4-493.9/runtime/ 浏览源代码,或点此下载源代码。 从哪里入手呢?那当然是最基本的类与对象。与C++相比,ObjC中的类与对象结构要简洁与一致得多(参考《深度探索C++对象模型》,你就知道C++中类与对象结构的复杂)。本文将详细讲解ObjC中类与对象的结构,下回将讲如何在 runtime 时操作类。 我们可以在/usr/include/o.. 阅读全文
posted @ 2012-02-16 07:30 pengyingh 阅读(195) 评论(0) 推荐(0)
摘要: http://3426724.blog.51cto.com/3416724/6967231.@public,@protected,@private个人觉得@public和@protected并没有很明确的区别,在他们作用范围内的对象,如果不将对象设置成@property,则该对象相当于 protected对象,只有子类和本身可以访问该对象;如果将对象设置成@property,则可以使使用者访问该对象。@private,顾名思义, 这里声明的就是私有对象注:可以通过指针的方式访问。2.static对象(类内)我们将对象声明在类中"{"和"}"之外,也就是与 阅读全文
posted @ 2012-02-16 07:29 pengyingh 阅读(1266) 评论(0) 推荐(0)

2012年2月15日

摘要: (转自 http://woshao.com/article/f91898b24a1211e097d3000c2959fd2a/)在ObjC中,什么是深浅拷贝?深浅拷贝分别指深拷贝和浅拷贝,即mutableCopy和copy方法。copy复制一个不可变对象,而mutableCopy复制一个mutable可变对象。什么时候用到深浅拷贝?下面举几个例子说明。非容器类对象如NSString,NSNumber等一类对象示例1:12345 // 非容器类对象 NSString*str=@"origin string"; NSString*strCopy=[str copy]; NSMu 阅读全文
posted @ 2012-02-15 16:58 pengyingh 阅读(881) 评论(0) 推荐(0)
摘要: CCFadeTransition: Fade to a specific color and back.CCFadeTRTransition(three more variations): Tiles flip over to revealnew scene.CCJumpZoomTransition: Scene bounces and gets smaller, new scene does the reverse.CCMoveInLTransition(three more variations): Scene moves out, new scene moves in at the sa 阅读全文
posted @ 2012-02-15 16:57 pengyingh 阅读(186) 评论(0) 推荐(0)
摘要: CGSize size = [[CCDirector sharedDirector] winSize];// set CCMenuItemFont default properties[CCMenuItemFont setFontName:@"Helvetica-BoldOblique"];[CCMenuItemFont setFontSize:26];// 直接用文本当菜单项,CCMenuItemFont简单地创建了一个CCLabel,如果你已经有一个CCLabel,可以使用CCMenuItemLabel类 CCMenuItemFont* item1 = [CCMenuI 阅读全文
posted @ 2012-02-15 16:57 pengyingh 阅读(222) 评论(0) 推荐(0)
摘要: cocos2d充分使用了单例设计模式,这里有必要提及它是因为它是经常是讨论热点。大体上说,一个singleton是一个类,它在应用使用期中仅仅实例化一次。为了确保如此,就要使用一个既创建又访问此对象实例的静态方法。因此,你不使用alloc/init或者静态自动释放初始化器(static autorelease initializer),而是使用以shared开通的方法来访问一个单例对象。这里有一些cocos2d最常用的单例方法,并告诉你怎么访问:CCActionManager* sharedManager = [CCActionManager sharedManager];CCDirector 阅读全文
posted @ 2012-02-15 16:55 pengyingh 阅读(217) 评论(0) 推荐(0)
摘要: CCNodeCCNode是所有node的基类,它是一个抽象类,没有可视化表示形式,定义了所有node共有的属性和方法。操作子节点的一些方法:CCNode* childNode = [CCNode node];//创建一个新节点[myNode addChild:childNode z:0 tag:123];//添加子节点CCNode* retrievedNode = [myNode getChildByTag:123];//根据标签取得节点[myNode removeChildByTag:123 cleanup:YES];//根据标签删除子节点,cleanup会删除所有正在运行的动作[myNod 阅读全文
posted @ 2012-02-15 16:55 pengyingh 阅读(287) 评论(0) 推荐(0)
摘要: HelloWorldScene类是纯coocs2d代码显示Hello World标签的地方。在开始深入这个之前,你要先明白cocos2d使用了一个CCNode对象层级来确定在什么地方显示什么东西。所有node的基类是CCNode类,CCNode类是所有其他node类的父类,包括两个最基本要素:CCScene和CCLayer。CCScene是一个抽象概念,只做一件事——根据对象的像素坐标给予对象在场景中的正确位置。CCScene node一直被用作cocos2d场景层级的父对象。CCLayer类除了提供触摸和加速器输入外基本没干什么事,你通常会将作为第一个类添加到CCScene中,仅因为绝大多数 阅读全文
posted @ 2012-02-15 16:54 pengyingh 阅读(215) 评论(0) 推荐(0)

2012年2月14日

摘要: 每一个iOS应用程序都有一个实现UIApplicationDelegate协议的AppDelegate类,在HelloWorld项目里它名叫HelloWorldAppDelegate.这个AppDelegate用来通过从iOS接收消息的方式来跟踪应用程序的状态变化。例如,它可以让你确定什么时候用户接电话,或者什么时候内存将满。你的应用程序接收的第一个消息是applicationDidFinishLaunching方法。这个地方是所有启动代码都会走到的地方,也是cocos2d初始化的地方。如果你想学习更多关于AppDelegate的方法,你可以就UIApplicationDelegate协议去查 阅读全文
posted @ 2012-02-14 18:46 pengyingh 阅读(182) 评论(0) 推荐(0)
摘要: 通常调用某个动作的方法:// 创建动作 id actionTo = [CCMoveTo actionWithDuration: 2 position:ccp(s.width-40, s.height-40)];// 使用动作。(说明:tamara 是一个 CCSprite。) [tamara runAction: actionTo];瞬时动作顾名思义。瞬时动作就是不需要时间,马上就完成的动作。瞬时动作的共同基类是 InstantAction。放置 – Place效果类似于 node.Position = ccp(x, y)。之所以作为一个动作来实现是为了可以与其他动作形成一个连续动作。示例:- 阅读全文
posted @ 2012-02-14 18:45 pengyingh 阅读(288) 评论(0) 推荐(0)
上一页 1 ··· 93 94 95 96 97 98 99 100 101 ··· 125 下一页

导航