Fork me on GitHub

2012年3月10日

摘要: There are some actions that let you compose actions.Sequence actionSpawn actionRepeat actionRepeatForever actionSequence 顺序顺序Action能够让你创建一系列的动作,这些动作将会按着顺序被执行。Example:id action1 = [MoveTo actionWithDuration:2 position:ccp(100,100)]; idaction2 = [MoveByactionWithDuration:2position:ccp(80,80)]; idactio 阅读全文
posted @ 2012-03-10 20:46 pengyingh 阅读(199) 评论(0) 推荐(0)
摘要: Action就好像给一个cocosNode对象的命令。这些动作通常用来改变物体的属性,例如位置,旋转,缩放等。如果这些属性在一段时间只能被修改的话,那么这中叫做IntervalAction 的Action。否则,它们叫做InstantAction的动作。例如:MoveBy 动作,在一段时间之内,改变了位置这个属性 ,也就是说它是一个IntervalAction的Action。Example:# Move a sprite 50 pixels to the right, and 10 pixels to the top over 2 seconds.[sprite runAction: [Mov 阅读全文
posted @ 2012-03-10 20:39 pengyingh 阅读(239) 评论(0) 推荐(0)
摘要: 以下有一些cocos2d的基本概念,是做一个程序所必须掌握的:ScenesDirectorLayersSpritesScenes场景场景是被一个Scene 对象实现的,或多或少的,是一个独立的程序流的一部分。一些人可把它称作是screens屏幕,或者是stages舞台。你的程序可以有很多场景,但是只有一个可以在给定的时间内的被激活的。例如,你可能有一个游戏,它有如下的场景。Intro,Menu,Level 1,Cutscene 1,Level 2,Winning cutscene,losing cutscene,High scores screen你可以定义他们中的任何一个作为独立的应用,下面 阅读全文
posted @ 2012-03-10 20:22 pengyingh 阅读(189) 评论(0) 推荐(0)
摘要: 最近好些人都有问到,cocos2d-x 对中文支持真不好。。。。。各种乱码,甚至连注释放在MAC下都乱码。解决操作步骤如下,备忘一下:1:选中有中文的那个cpp,点文件另存为,在保存这里竟然有个小箭头点之,再点编码保存再选这个编码这个cpp就UTF-8化了,然后中文就正常了,好麻烦。。。这是现在彩鸟笔者唯一能找到方便的方法,所以,把所有中文字符都扔在一个文件中吧,用#define什么的,方便使用,也方便维护啊嘎嘎2:第二种就是用iconv库了,喂喂cocos2d-x有包含这个库吧,没用过,就不阐述了,引擎作者大神说过可以哦~ 阅读全文
posted @ 2012-03-10 20:10 pengyingh 阅读(156) 评论(0) 推荐(0)
摘要: CCParticleSystem* particleSys = [CCParticleFlower node];[self addChild:particleSys];粒子系统有一个 positionType 的参数,默认是 kCCPositionTypeFree, 就是上述的自由态,不随着粒子系统位置相对变化,将其设置为 kCCPositionTypeGrouped 即可。另外还有一个 kCCPositionTypeRelative 类型, 据注释所述用境是将粒子关联到一个Sprite时,希望粒子跟随这个精灵移动。CCParticleSystem* particleSys = [CCPart 阅读全文
posted @ 2012-03-10 20:07 pengyingh 阅读(1470) 评论(0) 推荐(0)
摘要: 任何一门技术,在学习的时候都会遇到各种各样的问题,有些很初级,有些比较诡异。而且有一个特点,就是大部分人在学习过程中遇到的问题都差不多。所以,本贴的目的就是建立一个常见问题的汇总贴,把我学习过程中,网友在博客上的提问,还有群里面的问题,以FAQ的形式整理出来,供大家参考。如果大家发现存在什么问题,或者某个问题有更好的解决办法的话,欢迎留言指出。FAQ NO.1:Q:新建一个cocos2d项目,如果把横版改成竖版?A: 在RootViewController.m里面, 在shouldAutorotateToInterfaceOrientation:方法里面, 找到#elif GAME_AUTOR 阅读全文
posted @ 2012-03-10 20:05 pengyingh 阅读(344) 评论(0) 推荐(0)
摘要: 最近在了解并使用Cocos2d的一些功能以便在iPhone上画一个页面。然而,在使用其中一个CCBitmapFontAtlas类的时候发现了一些问题。 该类可以按照一定的字体风格显示字符。使用该类本身并没有什么困难和问题。然而该类所需的字体文件是需要一个.fnt文件和.png文件。当调用该类生成文字时,它会去访问.fnt文件,然后通过.fnt文件里该文字对应的坐标,到.png文件里去寻找相对应的区域,最后将该区域的图片显示到iPhone的界面上。而.fnt文件和.png文件要用Hiero软件生成。问题就在这里产生了。 第一个问题是一定要从http://www.n4te.com/hiero/.. 阅读全文
posted @ 2012-03-10 16:30 pengyingh 阅读(9224) 评论(0) 推荐(0)
摘要: 本人使用cocos2d-x与Photon做了一个简单的MMO例子,需要开2个以上的客户端才能看到多人在线的效果,该版本目前支持ios和win32平台,实现了多人同时在线的功能,希望对大家研究手机网游有所帮助。首先给大家介绍一下MMO的一些概念虚拟世界(IWorld)是一个虚拟的坐标系的空间。在这个虚拟空间的实体被称为Item。客户端定义了他们感兴趣的area(位置和范围),并且只能“看见”InterestArea边界内的items。计算哪些items进入了interestareas非常消耗CPU的资源,特别是items和interest areas频繁移动的话。加快计算的一个简单的方法:虚拟空 阅读全文
posted @ 2012-03-10 16:26 pengyingh 阅读(3805) 评论(2) 推荐(1)
摘要: 1、http://developer.apple.com/iphone/library这个是官方的代码实例2、www.cocoachina.com这个网站比较适合初期开发者,上面的版主之类的也比较热心,一般的问题都会提供帮助3、http://www.tipb.com/国外的一些文章博客,介绍iphone的特性和开发4、http://www.iphonedevsdk.com/forum/iPhoneDev SDK5、http://iphone.tgbus.com/kuihua/iphone 宝典6、http://www.iphonetw.net/forum/thread.php?fid=9台湾i 阅读全文
posted @ 2012-03-10 16:08 pengyingh 阅读(697) 评论(0) 推荐(0)
摘要: 原文链接:http://www.uichina.net/archives/Uichina239更多的GUI资源信息可以参考http://ntt.cc/2010/07/30/11-free-iphone-4-gui-psd-templates-for-designers.htmlApple don’t have any comprehensive pre-built GUI resources for app development, making it very hard to match the uniformed style of the iPhone or the iPad.You wi 阅读全文
posted @ 2012-03-10 16:05 pengyingh 阅读(1631) 评论(0) 推荐(0)
摘要: 简单列了一下他们之间的区别,希望对你们有用 阅读全文
posted @ 2012-03-10 15:48 pengyingh 阅读(429) 评论(0) 推荐(0)
摘要: #import <Foundation/Foundation.h> //自定义状态栏,状态栏显示灰色背景并【indicator message】。用于耗时操作的状态栏信息提示 //例如:访问网络时,提示正在获取网络数据,或者正在提交数据至服务器等提示 @interface CHStatusBar : UIWindow { @private UILabel *lblStatus; UIActivityIndicatorView *indicator; } -(void)show... 阅读全文
posted @ 2012-03-10 15:35 pengyingh 阅读(678) 评论(0) 推荐(0)
摘要: Andy--清风 原创,转载请注明,谢谢一、游戏场景切换在iPhone游戏开发中,游戏之间的场景开发中有很多动画可以实现,具体实现的动画如下:CCTransitionRotoZoom//从大到小画面缩小并跳动进入 CCTransitionJumpZoom//立体从左边缩小跳动进入 CCTransitionMoveInL//从左边移动进入右边 CCTransitionMoveInR//从右边移动进入左边 CCTransitionMoveInT//从上边移动到入下边 CCTransitionMoveInB//从下边移动到入上边 CCTransitionSlide... 阅读全文
posted @ 2012-03-10 15:32 pengyingh 阅读(1098) 评论(2) 推荐(1)
摘要: Andy-清风原创,转载请注明,谢谢。1.UIImageView的讲解(1)初始化UIImageView *imageView =[[UIImageView alloc] initWithFrame:CGRectMake(0.0,45.0,300,300)]; imageView.image = [UIImage imageNamed:@"a.png"];//加载入图片 [self.view addSubView:image]; 也可以这样声明:UIImage *image =[[UIImage alloc] initWithData:[NSData dataWithCon 阅读全文
posted @ 2012-03-10 15:25 pengyingh 阅读(270) 评论(0) 推荐(0)
摘要: 今天就讲下UIScrollView的一些事情,这个可以拖动的组件无论在应用还是游戏开发都会经常用到,所以我们就一定要更加熟悉它了。下面我们开始下手咯。(1)初始化一般的组件初始化都可以alloc和init来初始化,上一段代码初始化。UIScrollView *sv =[[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0,self.view.frame.size.width, 400)]; 一般的初始化也都有很多方法,都可以确定组件的Frame,或者一些属性,比如UIButton的初始化可以确定Button的类型。当然,我比较提倡大家用. 阅读全文
posted @ 2012-03-10 15:16 pengyingh 阅读(193) 评论(0) 推荐(0)
摘要: // 增加动画 // **缩放效果** id actionScale1 = [CCScaleBy actionWithDuration:2]; id actionScale2 = [CCScaleBy actionWithDuration:2 scale:2.0f]; id actionScale3 = [CCScaleBy actionWithDuration:2 scaleX:3.0f scaleY:3.0f]; // CCScaleBy 为缩放动画,actionWithDurat... 阅读全文
posted @ 2012-03-10 15:12 pengyingh 阅读(273) 评论(0) 推荐(0)
摘要: 1.菜单栏分别有文件,编辑,视图,导航,编辑器,产品,窗口和帮助栏目。我们说下我们平常用的最多的菜单栏。(1)新建文件和打开文件(2)清除内存在项目开发中,多次编译之后经常会遇到突然xcode卡死了,或者自己更改的代码在模拟器上还是没有改变时,可以选择product里面的clean,把内存清除掉。在项目基本功能实现时,最后一般都要做内存的泄漏处理,我们可以通过product里面的Analyze来处理。比如:我做的一个项目中,通过product里面的Analyze进行分析,点击左边出现的可能泄漏情况,然后通过释放之后重新编译运行看是否会出现异常,在这里要非常注意:并非xcode发现的左边里的警告 阅读全文
posted @ 2012-03-10 15:10 pengyingh 阅读(796) 评论(1) 推荐(1)
摘要: 1. 预定义:#define在object-c中,跟C语言一样都是采用#define才使用,但末尾是没有分号的;例子:#define PI 3.14在之后即可引用,这点在iphone开发中一定每个组建的tag非常好用,并且可以集合放一个定义文件中。2. 条件编译:#ifdef,#end,#elseif#ifdef,#else,#endif如我们常识认为的那样,程序会根据判断条件处理或者忽略某一个程序段。例子:#ifdef MAC_OS_X# define DATADIR “/uxnl/data”#else# define DATADIR “\usr\data”#endif3. 数组在objec 阅读全文
posted @ 2012-03-10 14:57 pengyingh 阅读(701) 评论(0) 推荐(0)
摘要: 1.@interface在java等语言编程中,创建类都是用class,但在object-c中,用@interface。例子:@interface circle :NSObject //定义名为circle的类,继承自NSObject{ ShapeColorfillColor;//定义ShapeColor类型的实例变量 fillColor; Shapebounds;//定义Shape类型的实例变量 bounds;}- (void)setFillColor:(ShapeColor)fillColor;//定义名为setFillColor的方法2.@implementation在object-c中 阅读全文
posted @ 2012-03-10 14:56 pengyingh 阅读(505) 评论(0) 推荐(0)
摘要: (1)在object-c中,用#import来代替C语言中的#include;在一般的头文件中都会用#import<Foundation/Foundation.h>;Foundation框架是一个处理用户界面之下的层中的特性,Foundation为cocoa框架的子集,cocoa框架还包括Application Kit框架。(2)NSLog此命令是向控制台显示输出语句,跟c语言的printf()很相似,比如:NSLog(@”Hello World!”);则是在控制台输出HelloWorld!双引号中的字符串前有一个@符号,这表示引用的字符串应该作为Cocoa的NSString元素来 阅读全文
posted @ 2012-03-10 14:55 pengyingh 阅读(429) 评论(0) 推荐(0)
摘要: 例子:@property(nonatomic,retain) NSString *aString;property:属性的定义,相当于C语言的setter和getter方法。assign:简单的赋值,不更改索引的计数。copy:建议一个索引计数为1的对象,然后释放旧对象;retain:释放旧对象,将旧对象的值赋予新对象,再增加新对象的索引计数1。针对具体的数据类型在属性定义应该这样选择:使用assign:对基础的数据类型,比如NSInterger,CGFloat和C数据类型(int,float,double,char等等)。使用copy:针对NSString;使用retain:针对NSObje 阅读全文
posted @ 2012-03-10 14:55 pengyingh 阅读(642) 评论(0) 推荐(1)
摘要: 在上一节我们讲了精灵表的一些知识和使用Zwoptex对图片进行了整合和生成plist文件。这一节我们应用上一节的工具重新生成一对精灵表,对精灵进行操作。1.建立工程建立完工程后,如下:2.载入文件分别载入以上4个精灵,利用zwoptex生成的plist和png文件如下:接下来把生成的plist和png导入resources文件中。3.编程在HelloWorld中的.m文件的注释掉里面其他的代码,重写如下:代码解释如下:CGSize s = [[CCDirector sharedDirector] winSize];//获取屏幕的尺寸 [[CCSpriteFrameCach... 阅读全文
posted @ 2012-03-10 14:48 pengyingh 阅读(242) 评论(0) 推荐(0)
摘要: Andy--清风原创, 转载请注明出处,谢谢!1.精灵表的分类:简单精灵表:精灵表中的图片都具有相同维度复杂精灵表:精灵表中的图片可以具有不同的维度。2.简单精灵表通过SpriteSheet类将提供的图像切割成大小相同的子图像,当一个新的精灵表被实例化时将提供切割时用到的维度,同时也将提供精灵表图像中已用的“间隔”信息。3.复杂精灵表通过PackedSpriteSheet类来解析,该类需要一个图像和控制文件的名称。通过解析该控制文件就能获得精灵表中的精灵的位置和大小。有无控制文件是基本型精灵表和复杂型精灵表间的主要区别。基本的精灵表可以通过简单的网格坐标定位每个精灵的位置,而复杂的精灵表通常精 阅读全文
posted @ 2012-03-10 13:36 pengyingh 阅读(260) 评论(0) 推荐(0)
摘要: (1)精灵指任何可以在屏幕上独立于其他东西而自由移动二维位图图像;(2)精灵表包含一个以上精灵的图像就叫精灵表。精灵表是一个图像中包含一系列以网格形式存在的精灵图像。,对每个精灵都可以通过他在大图像中的行和列位置进行访问。如下:更复杂的精灵表,可以称为打包精灵表,他是包含一系列更小子图像的图像,每一个子图像又可以是其他的精灵表或者图像。如下:复杂的精灵表,我们就无法简单的根据行和列的位置确定每个精灵的位置了,我们通过建立一个plist控制文件,来确定他们的位置。这个控制文件可以通过Zwoptex等工具生成。Zwoptex可以由分散的图像生成精灵表和控制文件。生成的控制文件如下:我们以后再介绍如 阅读全文
posted @ 2012-03-10 13:25 pengyingh 阅读(180) 评论(0) 推荐(0)
摘要: 作者:陈孝勇 | 出处:博客园 |2011/7/8 10:43:23 | 阅读653次原文地址:http://me.cookfl.com/?p=280看了cocos2d-x上的英文教程,配置起来还是很吃力,由于有很多配置需要配,而且文件夹移动也会导致配置失效,经过多次尝试,总结出了这个文章,希望能帮助还在迷惑的童鞋们R30;有什么疑问可以发邮件给我!i@cookfl.com 一起努力啦!Cocos2d-x Android配置详细教程:cygwin安装方式网上很多,这里不再赘述。下载最新的cocos2d-x :http://www.cocos2d-x.org/projects/cocos2d-x 阅读全文
posted @ 2012-03-10 13:22 pengyingh 阅读(1402) 评论(0) 推荐(0)
摘要: 作者:雲中君 | 出处:博客园 |2011/12/7 23:39:37 | 阅读7次【描述】Dragon同学一天捡到了一根非常非常巨大的树枝,于是同学就想啊,如果把这根树枝多余的分叉剔掉最后剩下一根没有分叉的木棍,用它自卫就没人敢欺负我们科学家了呀:)你的任务是,对给定树枝,求出它包含的最长木棍。【输入格式】第一行一个正整数n,表示顶点数,顶点从1至n编号。然后n – 1行每行两个正整数u, v表示u, v之间有一条边,每条边的长度为1。保证输入的是一棵树。【输出格式】只有一行,表示给定树的最长链长度。【样例输入】51 21 31 41 5【样例输出】2【分析】很明显,求树中的最长链。设f[i 阅读全文
posted @ 2012-03-10 13:15 pengyingh 阅读(190) 评论(0) 推荐(0)
摘要: 不管是多么华丽,多么耐玩的游戏,与用户第一次交互的往往却是菜单.在cocos2d里,提供了专门的CCMenu和CCMenuItem帮助开发这快捷 的实现游戏菜单.并且,借助各种动画效果,可以把游戏菜单做得很酷.这次,我们依然是从学习cocos2d的官方例子入手.官方的MenuTest例子,提供了4个层来展示各种菜单效果和用户交互的实现.我们逐个来分析一下关键代码.已经学习cocos2d好几天了,所以有些重复出现的代码,在学习笔记里会省略掉,只分析关键代码.@implementationAppController-(void)applicationDidFinishLaunching:(UIAp 阅读全文
posted @ 2012-03-10 13:09 pengyingh 阅读(502) 评论(0) 推荐(0)
摘要: 作者:JustinWong | 出处:博客园 |2011/7/28 10:33:19 | 阅读258次新的TexturePacker自动适应了cocos2d的自动补-hd。对于以往的TexturePacker版本,他所生成的.plist文件中使用的textureFileName来标识texture文件的名字,名字写的是实际的texture文件,比如-hd的plist写的是atlas-hd.png,由于cocos2d 1.0.0的CCSpriteFrameCache在加载plist时,如果调用方法没有指定texture文件的路径,则会读取plist中上面的字段,对于iphone4,则还会在后面补 阅读全文
posted @ 2012-03-10 13:08 pengyingh 阅读(256) 评论(0) 推荐(0)
摘要: Texture2D :用图象或文字创建OpenGL 2D 的TextureLabel的定义:Label *left = [Label labelWithString:@"alignment left" dimensions:CGSizeMake(480,50) alignment:UITextAlignmentLeft fontName:@"Marker Felt" fontSize:32];Label labelWithString:label显示的文字即title部分dimensions:CGSizeMake:定义label在的尺寸即宽和高align 阅读全文
posted @ 2012-03-10 13:06 pengyingh 阅读(3251) 评论(0) 推荐(0)
摘要: Cocos2d-iPhone 库采用开源的方式给我们这些业余爱好者带来的很大的方便和提高 游戏开发水平的捷径。因此,对亍 Cocos2d-iPhone 源代码的分析就至关重要。实际上, 该库的作者为了方便我们研究使用,提供了该库的主工程文件,我们可以很方便的在类库文 档加压缩的主目录下找到这个文件:cocos2d-iphone.xcodeproj。打开这个文件我们看到该工程的整体全貌:利用这个工程我们可以: ? 详绅了解作者对 cocos2d-iphone 的内部组细绋构,便亍我们阅读分析源代码更好的利用各种功能:逐一运行随着类库一起给大家的各个Test工程(在主目录的tests目录下):这些 阅读全文
posted @ 2012-03-10 12:57 pengyingh 阅读(272) 评论(0) 推荐(0)
摘要: 第一步 创建工程打开 Xcode,创建新工程:选择工程类型为:对应刚才安装的工程模板文件,这里也显示 3 个工程模板。我们选择最常用的第一个。 接下来给我们的程序一个工程的名字:T01,幵选择该工程所在的文件夹位置:保存以后一个基亍 cocos2d-iphone 的游戏框架就创建好了。第二步 浏览工程文件下图显示了我们创建的工程文件全貌:左边是整个工程文件的整体绋构和组成部件,史边是当前选中的文件内容展示。通常情 况下,除了 Class 文件夹下面放的就是我们游戏应用程序的源代码。第三步 编译运行丌用做仸何修改,我们可以直接点击“编译幵运行按钮”运行这个最为绉典的第一个示 例程序:hellow 阅读全文
posted @ 2012-03-10 12:53 pengyingh 阅读(322) 评论(0) 推荐(0)
摘要: 作者 ssmimi帖子地址http://www.cocoachina.com/bbs/read.php?tid-17254.html在bullet中一个非常普遍的应用是 针对两个物体发生碰撞时调用开发者自己提供的回调函数比如球体碰撞到另一个球体,发出声音下面是一个例子, 场景中有3种物体 球(动态),地板(静态),墙壁(静态),球碰到墙和地板发出的声音不同,所以需要设置这三种对象为不同类别,利用 collisionobj的userpointer来完成。int objclass[3] ={0,1,2};boxBody->setUserPointer(&objclass[0]);gr 阅读全文
posted @ 2012-03-10 12:47 pengyingh 阅读(482) 评论(0) 推荐(0)
摘要: 作者: 马良 (www.iphonephysics.com)原帖地址http://www.cocoachina.com/bbs/read.php?tid-10237-fpage-5.html0 前提假设计算机图形学中的物理模拟实际上只是追求视觉近似,而并非精确的物理模拟同时物理引擎从简化计算考虑, 不与渲染引擎共享对象数据采用独立的一套数据.1 架构分析物理模拟的基础是建立在一些核心几何结构之上.核心的几何概念有形 状 (shape) : shape 抽象出了几何形状的特征, 比如长方体, 球, 四面体,凸包. bullet中的形状类型非常丰富有几十种之多. 由于几何形状的特征是和具体对象无关 阅读全文
posted @ 2012-03-10 12:46 pengyingh 阅读(1901) 评论(0) 推荐(1)
摘要: 帖子地址http://www.cocoachina.com/bbs/read.php?tid-14020.html有时候你会发现使用Cocos2D运行的代码例子全是横屏显示的,如何纵向显示?横屏都在Delegate中设置了类似下面这句,如果你要纵向去掉就可[[Director sharedDirector] setDeviceOrientation:CCDeviceOrientationLandscapeLeft];或者用以下方法Director *director = [Director sharedDirector];[director setLandscape:NO];//yes横屏 n 阅读全文
posted @ 2012-03-10 12:45 pengyingh 阅读(297) 评论(0) 推荐(0)
摘要: 转自XiaoKe\'s Blog 原文地址 http://www.1vr.cn/article.asp?id=518将下面的脚本放在你项目目录下资源文件夹的Editor里.要导出地形,首先在你的场景中选中地形对象.如果没选,他将用于当前场景中可用的地 形.从Terrain菜单下选择Export To Obj... ,在分辨率窗口,选择你要四边形还是三角形网格结构.同样也可以选择要导出地形的分辨率,有高中低等等.点击Export,选择要保存的位置和文件 名.Obj文件将被导出.要注意如果选择大面积的Full地形导出,最终的Obj文件将非常大,而且也要导出很久.下面为 ExportTerr 阅读全文
posted @ 2012-03-10 12:44 pengyingh 阅读(3340) 评论(0) 推荐(0)
摘要: 原文地址http://blog.kungfusoft.com/programming/iphone/topic-328.htmlchipmunk本是一个独立的开源项目,用纯c编写.cocos2d同时整合了chipmunk和box2d两个物理引擎.相比之下,chipmunk更轻量易用,但是相关的文档很少.box2d还没开始学习,暂时不敢妄言.chipmunk的官方地址:http://code.google.com/p/chipmunk-physics/ 之所以在对cocos2d还一知半解的时候就开始学chipmunk,是因为公司最近给的项目,需要用到物理引擎.被人赶着学习也是件好事,因为俺的确是 阅读全文
posted @ 2012-03-10 12:38 pengyingh 阅读(1504) 评论(0) 推荐(0)
摘要: Box2D是一个用于游戏的2D刚体仿真库,程序员可以在他们的游戏里使用他们,也可以是的自己的物体运动的更可信。让他看起来更加接近现实。物理引擎是一个程序性的动画系统。而不是由动画师去移动物体。这一切都是建立在牛顿力学的基础之上。 Box2D最初是用c++来写的,之后有被多种语言所实现。Box2D Physics EngineBox2d中的核心概念:刚体:和我们在物理中学习的刚体的概念是一样的,两物体之间的距离都是完全不会变化的。不会发生变形。他就是Box2D中的body。形状:一个依附于body的几何结构体,同时具有物理的摩擦(friction)和恢复(restitution)的材料性质。.. 阅读全文
posted @ 2012-03-10 12:32 pengyingh 阅读(2751) 评论(0) 推荐(1)
摘要: 堆栈与队列的实际应用堆栈和队列是最基本的两个ADT,简单但是重要。先讲堆栈在计算机中的应用。堆栈:1.用于符号匹配。在编译器的语法检查中,一个过程就是检查各种括号是否匹配,比如 ([]) ,这就是匹配的,而 {[}] 就不匹配了。可以用堆栈来实现括号匹配。具体算法如下:建立一个空的堆栈。 while( 文件没有结束 ) { 读取一个字符。 if 遇到一个左括号,把它入栈。 else if 遇到右括号 then 检查堆栈,{ if 堆栈为空 then 报告错误,终止程序(括号不匹配)。 else if 堆... 阅读全文
posted @ 2012-03-10 12:24 pengyingh 阅读(16269) 评论(0) 推荐(1)
摘要: 初学Box2D ,有几个心得1.贴图。在 APE 中,不给粒子贴图,会有默认的白色粒子。如果要贴图,只要一个setDisplay 函数,就会用贴图代替默认的白色贴图。而 Box2D 压根儿没有贴图的概念。可以这么认为,Box2D 只负责数据的处理。往 box2D 的世界中输入各种数据,比如粒子大小,位置,摩擦力,重力等等,每一帧,box2D 都会返回给你每个物体的坐标,角度等等(注意返回的只是数据)。然后我们每一帧赋予贴图相应的坐标,角度,让他们动起来。实际上引擎纯粹在计算数据。然后我们操作数据。比APE 抽象吧。(可能我讲的比较抽象)2.定义粒子Box2D 粒子的设置比较麻烦,要设置 粒子的 阅读全文
posted @ 2012-03-10 12:21 pengyingh 阅读(382) 评论(0) 推荐(0)
摘要: 原文链接地址:http://www.raywenderlich.com/457/intro-to-box2d-with-cocos2d-tutorial-bouncing-balls程序截图:这个教程的目的就是让你们熟悉在cocos2d里面如何使用box2d,所采用的例子就是制作一个简单的应用,里面有一个篮球,你可以通过旋转你的iPhone来改变重力的方向,同时篮球碰到屏幕边界可以反弹。 这个教程假设你已经学过前面的教程《如何使用cocos2d来制作一个简单的iphone游戏》,或者有同等相关经验也可以。 好了,让我们开始学习Box2d物理引擎吧!创建一个空的工程 打开Xcode,选择c... 阅读全文
posted @ 2012-03-10 12:19 pengyingh 阅读(388) 评论(0) 推荐(0)
摘要: Learning cocos2d with samplesPublished byriqonMarch 3, 2010incocos2d.9CommentsArguably themost unknowncocos2dfeatureis the tests/samples.cocos2d contains almost a test for each feature that it has. These tests are grouped by component. eg:Sprite Test: It tests theCCSpriteandCCSpriteSheetfunctionalit 阅读全文
posted @ 2012-03-10 12:12 pengyingh 阅读(256) 评论(0) 推荐(0)
摘要: 原文链接地址:http://www.raywenderlich.com/505/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-22程序截图:这是《如何使用cocos2d和box2d制作一个简单的breakout游戏》的第二部分,也是最后一部分教程。如果你还没有读过第一部分,请先阅读第一个教程! 在上一个教程中,我们创建了一个屏幕盒子,球可以在里面弹跳,同时,我们可以用手指拖着paddle移动。这部分教程中,我们将添加一些游戏逻辑,当篮球碰到屏幕底部的时候,就Gameover。Box2D 和碰. 阅读全文
posted @ 2012-03-10 12:08 pengyingh 阅读(810) 评论(0) 推荐(0)
摘要: 原文链接地址:http://www.raywenderlich.com/475/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-12程序截图:box2d是一个非常强大的物理引擎库,同时它与cocos2d结合非常适合在iphone上面做游戏开发。著名的angry birds,tiny wings都是用box2d写的。你可以用它做好多事情,当然,最好的学习方法就是使用它来创建一个简单的游戏。 在这个教程中,我们将一步一步创建一个简单的breakout游戏,完成碰撞检测,篮球反弹物理效果,通过tou. 阅读全文
posted @ 2012-03-10 12:01 pengyingh 阅读(390) 评论(0) 推荐(0)
摘要: 原文链接地址:http://www.uchidacoonga.com/2011/03/simple-platformer-using-cocos2d-and-box2d-with-collision-detection/ 我收到许多网友的请求,问能不能写一个简单的超级玛利platfomer游戏教程。因为我是守承诺的人,所以这篇教程就此问世了。当然,本教程离一个完整的玛利奥游戏还相差甚远,但是,我希望它至少能给你一些启发。本教程建立在上一篇教程的基础之上,所以,在继续之前,建议你先看完上一篇教程。内容大纲?我将在本教程中覆盖下面的内容:简单的面向对象游戏设计用户输入和touch检测给游戏对象施. 阅读全文
posted @ 2012-03-10 11:52 pengyingh 阅读(635) 评论(0) 推荐(0)
摘要: 原文链接地址:http://www.uchidacoonga.com/2011/01/side-scrolling-the-background-in-box2d/ 前言:这次我要翻译的两篇教程,其实和大家比较关心的“超级玛利”有关,就是如何使用cocos2d和box2d制作一个带有滚动背景的platform游戏。但是,这两篇教程并没有教大家如何制作超级玛利。但是,一些关键技术点还是有涉及到。相信看完这两篇文章,应该能对大家有所启发。如果哪位朋友有空,能利用本教程制作一个超级玛利游戏,并且分享出来的话,那就太好了。如果能再写一篇教程,那就再好不过了。我在此再给出一些超级玛利的图片资源链接。希. 阅读全文
posted @ 2012-03-10 11:48 pengyingh 阅读(938) 评论(0) 推荐(0)
摘要: 看了些大家在論壇的討論, 似乎有不少同學有意用 OpenGL ES 寫遊戲, 但又好像不知道從那方面入手, 所以我決定為 cocoachina.com 寫幾篇教程, 和大家分享一下我在這方面的經驗, 希望對大家有點幫助, 也順便推廣一下 OpenGL ES 的應用!不過大家要注意的是, 這個教程所想包含的, 只是OpenGL ES 的入門和怎麼利用它寫 2D 遊戲, 至於本教程標題, 只是嘩眾取巧之作, 不能期望有什麼高深的學問呢 :).讓我們轉入正題吧!在官方 SDK 建立一個 OpenGL ES 的項目非常簡單, 只要選擇”New Project”, 然後用” Cocoa Touch Op 阅读全文
posted @ 2012-03-10 00:09 pengyingh 阅读(256) 评论(0) 推荐(0)

导航