摘要: CCFiniteTimeAction:有限次动作执行类,就是按时间顺序执行一系列动作,执行完后动作结束;这里我们就是学习这个类从图中,我们可以看出动作主要分为两大类:CCActionInstanse(瞬时动作的基类)和CCActionInterval(延时动作的基类)CCActionInstanse(瞬时动作的基类):CCCallFunc :执行函数 CCFlipX/Y: X/Y翻转 CCHide :隐藏CCPlace : 设置位置CCReuseGrid :重用网格CCShow :显示CCStopGrid :停止网格 CCToggleVisibility : 可见切换CCActionInter 阅读全文
posted @ 2013-04-07 22:56 Dieaz5 阅读(1026) 评论(0) 推荐(1) 编辑
摘要: 在wp里,我们可以根据一些网站的API来达到一些目的。例如获取天气预报就是这样。在http://www.webxml.com.cn/zh_cn/index.aspx这个网址里提供一些api供我们使用。首先,新建一个项目,然后修改前台界面代码。View Code <Grid x:Name="LayoutRoot"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Gr 阅读全文
posted @ 2013-04-07 19:33 Dieaz5 阅读(1098) 评论(10) 推荐(1) 编辑
摘要: 在上一篇里,我们已经实现了用手指控制属于你的精灵了,同时可以让它与篮球相互碰撞。现在是该加上一些判断条件了。比如说:只允许玩家与周围墙壁碰撞,和其他小球碰撞就游戏失败等。在tick函数里加上游戏失败判断条件:View Code 1 foreach (var item in contactListener.contacts) 2 { 3 #region 两种方法判断玩家和球是否碰撞都存在一定时间的反应 4 5 //for (int i = 0; i < ballFixtureList.Count; i++... 阅读全文
posted @ 2013-04-04 10:14 Dieaz5 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 在很多情况下,我们在cocos2d-x 加载精灵都是一张一个精灵的加载。这种方法对于较少的精灵存在的游戏是比较方便的。但是一旦精灵很多,我们就没必要一个个加载了。在cocos2d有一种将很多图片保存成为一张大图片,然后独取出来单独使用,这个方法就是plist的图片帧文件,它能极大的减小图片体积,最重要的是大图就能符合2的N次幂宽高的要求了。先看看没有使用plist文件时的文件大小:(6M多,恐怖!)TexturePackerGUI是专门制作cocos2d plist文件的软件,这个软件最好的优势是有Windows版本的。下面是简单的使用方法:打开TexturePackerGUI,将前面的开始界 阅读全文
posted @ 2013-04-03 23:33 Dieaz5 阅读(1851) 评论(0) 推荐(0) 编辑
摘要: 在cocos2d-x for wp7里,场景切换的特效是在这个类下的: CCTransitionScene。他们之间的继承关系为:CCTransitionFade,//渐隐效果CCTransitionFadeTR, //碎片效果CCTransitionJumpZoom, //跳动效果CCTransitionMoveInL, //从左向右移动CCTransitionPageTurn, //翻页效果CCTransitionRadialCCW, //钟摆效果CCTransitionRotoZoom,//涡轮效果CCTransitionSceneOriented,//CCTransitionShrin 阅读全文
posted @ 2013-03-31 20:24 Dieaz5 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 搞了几天。发现cocos2d-x对c#(xna)真的是抛弃很彻底了。以后还是转c++吧。废话结束,开始记录。首先,跟上一节一样,先创建好一个世界并让这个世界开始模拟物理世界。创建一个继承于CCLayer的一个层:PlayGame。并添加好下面三个引用、一个常量以及一些全局变量: 1 using cocos2d; 2 using Box2D.XNA; 3 using Microsoft.Xna.Framework; 4 5 6 public static double PTM_RATIO = 32.0; 7 8 World world; 9 CCSprite ball;10 Body gr... 阅读全文
posted @ 2013-03-24 18:24 Dieaz5 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 本文大部分内容是基于fengyun1989的博文,自己只是加深巩固而已Box2d是一款用于2d游戏的物理引擎。在这个世界里创造出的物体都更接近于真实世界的物体。首先,在项目添加Box2D.XNA.DLL。新建一个页面BOX2DLayer并继承于CCLayer重写init函数,并添加下面这个常量:由于平时我们都是用像素来描述游戏世界的,而在box2d里是用“米”进行描述的。所以我们需要进行转化单位。设置一个常量,然后在需要的位置上用像素除以它就可以转化成相对应的“米”public static double PTM_RATIO = 32.0;接下来就是开始创造世界了。Vector2 gravit 阅读全文
posted @ 2013-03-23 21:11 Dieaz5 阅读(485) 评论(0) 推荐(1) 编辑
摘要: 在上一篇里基本上已经实现了人物的行走,但是,人物的行走需要一定的规划,而不是漫游在地图之上。这个规划就是碰撞检测。上一篇里,我们用了titled这个编辑器来编辑地图。这个编辑器把地图分了不同的层,所以我们可以根据不同的层的名字来做为碰撞检测的条件。/// <summary> /// 根据目的位置判断是否碰撞类型 /// </summary> /// <param name="p"></param> /// <returns></returns> public int checkCollision(CCP 阅读全文
posted @ 2013-03-12 10:35 Dieaz5 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 首先,在之前的一篇实现动画里已经提过一些内容,所这里就会有一些省略创建一个人类精灵的类:human,继承于CCNode,然后在构造函数里预处理一下人物精灵的动画 public Human() { mode = CCTextureCache.sharedTextureCache().addImage("Images/Sprite/20011"); frames = new List<CCSpriteFrame>(); for (int i = 0; i < 4; i++) { ... 阅读全文
posted @ 2013-03-09 16:05 Dieaz5 阅读(1216) 评论(0) 推荐(0) 编辑
摘要: 在这里,我才用了一个是这个引擎通用的地图编辑器Tiled编辑器。首先,新建地图,具体参数可以自定义。同时准备一张地图素材。这里有个需要注意的地方,这张地图素材一定要先放在你的项目。比如说“Map/xxxx”。不然后面加载地图会报错。然后在“地图-〉新图块”添加图片素材,就把刚刚那张地图素材加载进去了。绘制地图的时候,先在右侧图层重命名图块(这里的命名只能去英文,需要记住)。这个层命名为floor。在新建一个wall层,在floor上方。这样殷勤绘制的时候,上方的层会覆盖下面的层。基本上一张地图就绘制好了,将地图和原来的图片素材放在项目的同一个目录下,添加代码: tmxMa... 阅读全文
posted @ 2013-03-09 10:02 Dieaz5 阅读(243) 评论(0) 推荐(0) 编辑