cocos2dx for window phone
<cocos2d-x for window phone>一个简单的打地鼠游戏
免责声明:本文章由 fengyun1989 创作,采用 知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议 进行许可。
写在前面:最近两个月比较忙,很久没更新教程了。这么些日子,发生了不少事,WP8发布了。我的T8788也被彻底抛弃了。。。win8也RP版了。前景未卜啊。肯定不少人在迷茫了吧。我觉得呢,都是浮云,语言只是工具,能够一通百通才是王道,微软不行大不了换IOS,Android。接下来的一段时间,估计会写些win8的教程。我感觉win8和WP8有种莫名的联系,不过也道不清说不明。反正就顺着感觉来了。
本次教程写一个简单的打地鼠游戏。如果你对cocos2d-x编程不了解,可以先阅读 《 用 cocos2d-x做一个简单的windows phone 7游戏》 系列文章。不过,如果你有相关的经验就另当别论了。
程序截图:
思路简介:
打地鼠主要是问题就在于地鼠出头和打地鼠的点击处理。地鼠出头有两种方法,一种是用动画,一种是用Z轴的纵向效果。动画效果的方法Nowpaper前段时间就写了这么一篇《 Cocos2d-x for WindowsPhone:开发一个打地鼠游戏 》,我想就不在这里啰嗦了。懒得再将这些重复的内容在做一遍。这里就介绍下Z轴的方法。
只要把前景分为3块。分为上中下三块,在洞的中心分开。添加到层的时候设置Z轴,最下的最前,最上的最后。最后后的设置一块黑色的背景。两块图之间留着空间来让地鼠Sprite进行move动作。这样就能产生地鼠从洞中钻出的视觉效果了。
现在来下载需要的图片; http://115.com/file/be12blbu#WhackAMole.zip
开始吧:
新建一个工程cocos2d的工程,命名为cocos2dWhacAMoleDemo。当然,因为是练习项目,所以OpenXLive没有用到。就去掉那个勾。然后修复引用。这些操作做了很多次了。不懂的建议看下以前的文章。
然后再Classes文件夹添加一个类。命名为AttackMoleScene.cs,使之继承于CCScene。修改代码如下:
namespace cocos2dWhacAMoleDemo.Classes { class AttackMoleScene:CCScene { public AttackMoleScene() { this .addChild(AttackMoleLayer.node()); } } class AttackMoleLayer : CCLayer { public override bool init() { if (! base .init()) return false ; CCSize winSize = CCDirector.sharedDirector().getWinSize(); CCSprite background = CCSprite.spriteWithFile( @" images/background " ); background.position = new CCPoint(winSize.width / 2 , winSize.height / 2 ); this .addChild(background, - 3 ); CCSprite grassUpper = CCSprite.spriteWithFile( @" images/grass_upper " ); grassUpper.position = new CCPoint(winSize.width / 2 , winSize.height - grassUpper.contentSize.height / 2 ); this .addChild(grassUpper, - 2 ); CCSprite grassMid = CCSprite.spriteWithFile( @" images/grass_mid " ); grassMid.position = new CCPoint(winSize.width / 2 , winSize.height - grassUpper.contentSize.height - grassMid.contentSize.height / 2 ); this .addChild(grassMid, 0 ); CCSprite grassLower = CCSprite.spriteWithFile( @" images/grass_lower " ); grassLower.position = new CCPoint(winSize.width / 2 , grassLower.contentSize.height / 2 ); this .addChild(grassLower, 2 ); return true ; } public new static AttackMoleLayer node() { AttackMoleLayer layer = new AttackMoleLayer(); if (layer.init()) return layer; return null ; } } }
上面做了些什么呢,在层里面添加了前景。三块,细心的朋友注意到了。我addChild的时候,Z轴的参数都不一样。背景在最后,所以Z轴的值最小。每两块间留一个位置给地鼠冒头。前景的位置也是设置成上中下三个位置。这样,从Z轴的上头看下就能正好成一整块前景。
现在修改AppDelegate的applicationDidFinishLaunching方法:
// CCScene pScene = cocos2dWhacAMoleDemoScene.scene(); AttackMoleScene pScene = new AttackMoleScene(); // run pDirector.runWithScene(pScene);
现在可以执行了。就可以看到不错的前景了。
那么现在来添加一个地鼠来冒一下头试试吧。
在层的init方法上面添加:
CCSprite mole = CCSprite.spriteWithFile( @" images/mole_1 " ); mole.position = new CCPoint( 155 , 30 ); var move = CCMoveBy.actionWithDuration( 2 , new CCPoint( 0 , 100 )); var action = CCRepeat.actionWithAction(CCSequence.actions(move, move.reverse()), 5 ); mole.runAction(action); this .addChild(mole, 1 );
添加一个地鼠到层中,并且设置它在左下角的洞里进行Move来回运动。关于这个坐标(155,30)是怎么算出来的,我用画图工具打开grass.png这个文件,用鼠标来大概获取坐标,然后用笔算下坐标。需要注意的是,cocos2d-x里面的坐标原点在左下角。而window的是在左上角。
现在编译运行,就能看到一个地鼠来回冒头了。
让地鼠随机冒头
我们先来思考下接下来的怎么做,怎么保存所以的地鼠精灵,怎么确定初始化坐标,怎么判断地鼠被打,然后让他消失,怎么确定洞里面有地鼠而不至于重复添加。
我的方法是全部用数组来解决。比较简单。
添加以下的声明到层:
int [,] moleValue = new int [ 2 , 3 ] { { 0 , 0 , 0 }, { 0 , 0 , 0 } }; CCSprite[,] moles = new CCSprite[ 2 , 3 ]; int [] initPositionX = new int [ 3 ] { 155 , 400 , 640 }; int [] initPositionY = new int [ 2 ] { 30 , 260 };
上面的moleValue记录的是当前洞里有没有地鼠,1就是有,0就是没有。moles记录当前所有冒头地鼠的引用。最后两个是初始化坐标,3*2=6. 这些坐标都是我通过画图工具来计算出来的。
现在注释到上面的单个地鼠冒头的代码。往层里面添加方法:
void addMole( float dt) { Random r = new Random(); int i = r.Next() % 3 ; int j = r.Next() % 2 ; if (moleValue[j, i] == 0 ) { moles[j, i] = CCSprite.spriteWithFile( @" images/mole_1 " ); moles[j, i].position = new CCPoint(initPositionX[i], initPositionY[j]); var move = CCMoveBy.actionWithDuration( 2 , new CCPoint( 0 , 100 )); var action = CCSequence.actions(move, move.reverse() , CCCallFuncN.actionWithTarget( this , spriteMoveDone)); moles[j, i].runAction(action); moleValue[j, i] = 1 ; if (j == 0 ) this .addChild(moles[j, i], 1 ); else this .addChild(moles[j, i], - 1 ); } } void spriteMoveDone( object sender) { CCSprite sprite = sender as CCSprite; for ( int i = 0 ; i < 3 ; i++ ) { for ( int j = 0 ; j < 2 ; j++ ) { if (moles[j, i] == sprite) { moleValue[j, i] = 0 ; break ; } } } this .removeChild(sprite, true ); }
并且添加一行到init方法
this .schedule(addMole, 1.0f );
我们修改地鼠变为只是上下Move一次。并且在退回后调用回调函数移除该sprite。设置该位置的moleValue值为0.现在就能看见地鼠不怕死的不断冒头了。
打地鼠
既然地鼠都不怕死的冒出来了。不打貌似很不爽的样子,但是,现在点击屏幕,没人任何反应。。。因为我们还没有对点击进行注册和处理。
那么怎么判断是点击了地鼠呢。我设定这么一个范围算是点击了地鼠。
由于地鼠初始化在框的下面,其坐标的X和在这个黑色框下边的中点坐标X一样。Y值+70才算和这个黑色框下边的中点的坐标Y值一样。
现在添加一个方法来处理触点坐标:
private void handleTouchPosition(CCPoint touch) { for ( int i = 0 ; i < 3 ; i++ ) { for ( int j = 0 ; j < 2 ; j++ ) { float tempX = initPositionX[i] - touch.x; if ((tempX < 80 && tempX > - 80 ) && (initPositionY[j] + 150 - touch.y > 0 && initPositionY[j] + 70 < touch.y)) { if (moleValue[j, i] == 1 ) { if (moles[j, i] != null ) { this .removeChild(moles[j, i], true ); } moleValue[j, i] = 0 ; moles[j, i] = null ; } return ; } } } }
这样,遍历所有的洞,判断点击是否是这个洞。然后判断现在是否有地鼠,有地鼠就把地鼠移除。
现在在init方法中注册触摸事件:
this .isTouchEnabled = true ;
然后重载ccTouchesEnded方法:
public override void ccTouchesEnded(List<CCTouch> touches, CCEvent event_) { foreach ( var touch in touches) { CCPoint touchLocation = touch.locationInView(touch.view()); touchLocation = CCDirector.sharedDirector().convertToGL(touchLocation); touchLocation = this .convertToNodeSpace(touchLocation); handleTouchPosition(touchLocation); } }
这个方法先把坐标转换,再处理坐标。现在运行,可以看到地鼠被打死了。
何去何从
现在,我们已经拥有了一个不错的打地鼠游戏。是不是觉得少了点什么呢。。
考虑拓展地鼠被打的动作,加个锤子或者什么的。另外,可以添加地鼠被打后的表情,这都可以用Action可以实现 把硬编码的地鼠重构出来,添加多个关卡 去试试用动画来制作地鼠冒头 增加更多种类的地鼠,比如说有些地鼠可以挨打2下 添加很棒的音效本次工程代码下载: http://115.com/file/be12blbu#WhackAMole.zip
专注移动开发,cocos2d-x for wp7,window phone开发。并且写不一样的教程
分类: cocos2d-x for window phone游戏编程 , window phone编程
标签: cocos2d-x for wp7 , cocos2d-x , window phone , cocos-2d for xna
cocos2d-x for window phone游戏编程
<cocos2d-x for window phone>一个简单的打地鼠游戏
摘要: 免责声明:本文章由fengyun1989创作,采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。写在前面:最近两个月比较忙,很久没更新教程了。这么些日子,发生了不少事,WP8发布了。我的T8788也被彻底抛弃了。。。win8也RP版了。前景未卜啊。肯定不少人在迷茫了吧。我觉得呢,都是浮云,语言只是工具,能够一通百通才是王道,微软不行大不了换IOS,Android。接下来的一段时间,估计会写些win8的教程。我感觉win8和WP8有种莫名的联系,不过也道不清说不明。反正就顺着感觉来了。本次教程写一个简单的打地鼠游戏。如果你对cocos2d-x编程不了解,可以先阅读《 阅读全文
posted @ 2012-07-09 14:18 fengyun1989 阅读(44) | 评论 (0) 编辑
<cocos2d-x for wp7>使用cocos2d-x制作一个太空射击游戏
摘要: 本次教程参考文章:http://www.cnblogs.com/zilongshanren/archive/2011/06/09/2074962.html 本次教程做一个空战游戏,这个游戏类型相信大家玩小霸王(FC)的时候都玩过,就是一个滚动的画面,画面上差不多半屏都是怪物,玩家控制的飞机可以自由移动并且发射面条枪。当然,最后有一个BOSS,虽然BOSS有时候相当弱智(没办法,太难小时候也玩不过)。这次做的示例,用到了一些前面教程没用过的东西,重力感应控制飞机,视差滚动制作,粒子系统的简单使用。 另外,做教程有一段时间了。估计不少朋友也是刚入门,什么Action这类东西怎么写还真是不怎... 阅读全文
posted @ 2012-05-11 14:53 fengyun1989 阅读(968) | 评论 (1) 编辑
<cocos2d-x for wp7>在cocos2d-x使用spritesheet和用spritesheet创建动画
摘要: 本次教程主要讲解下spritesheet(精灵图表,主要用的是CCSpriteBatchNode)的优点和怎么用spritesheet来创建一个动画。本次教程的参考文章有:himi的博客文章关于CCSpriteBatchNode的, http://blog.csdn.net/xiaominghimi/article/details/6761811 子龙山人的翻译文章:http://www.cnblogs.com/zilongshanren/archive/2011/04/11/2012770.html 如果你对cocos2d-x编程不了解,可以先阅读《用cocos2d-... 阅读全文
posted @ 2012-05-08 19:58 fengyun1989 阅读(783) | 评论 (1) 编辑
<cocos2d-x for wp7>在cocos2d-x里面手势识别
摘要: 在本教程中,即将带来的是在cocos2d-x里面使用手势识别,然后写一个带有手势识别的游戏。该游戏的功能是,当手势是↑,↓的时候,忍者就跳跃,当手势是↓,↓,↑的时候,忍者发射一颗子弹,当手势是↑,↓,↓的时候,忍者发射一个飞镖。呵呵,什么乱七八糟的动作,不过,手势识别并入游戏还是很不错的感觉。 如果你对cocos2d-x编程不了解,可以到我博客上找相关的文章。本教程假定你已经学过前面的《用cocos2d-x做一个简单的windows phone 7游戏》系列教程,或者拥有同等的经验。 现在新建一个工程,命名为cocos2dGestureDemo,和前面的教程一样,openXLive不... 阅读全文
posted @ 2012-05-06 18:53 fengyun1989 阅读(775) | 评论 (5) 编辑
<cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:不一样的战斗(回合制战斗)(四)
摘要: 本文是《<cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏》教程的第四部分,也就是最后一个部分。如果你没有对cocos2d-x不了解,而且没有看过前面部分的教程。可以到我博客里面找到相关文章学习。本文假定你已经学习过前面的教程,并且对cocos2d-x编程有一定了解。或者你有相关的同等的经验。程序截图:遥想当年玩FC的时代,经典的遇敌方式是什么呢,我觉得应该是踩地雷式的,就是在Tile地图上走着走着,就进入战斗画面了。并且是回合制战斗。想想都怀念了。那么这类是怎么做的呢。这里,就来展示下怎么制作吧。在本文中,是基于<cocos2d-x fo 阅读全文
posted @ 2012-05-05 15:17 fengyun1989 阅读(779) | 评论 (5) 编辑
<cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:加入敌人和战斗(三)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-x for XNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/andyque/archive/2011/05/07/2039481.htmlIphone教程原文地址:http://geekanddad.wordpress.com/2010/06/22/enemies-and-combat-how-t 阅读全文
posted @ 2012-05-04 14:26 fengyun1989 阅读(845) | 评论 (0) 编辑
<cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:碰撞检测和收集物品(二)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-x for XNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/zilongshanren/archive/2011/04/11/2012852.htmlIphone教程原文地址:http://www.raywenderlich.com/1163/how-to-make-a-tile-based-ga 阅读全文
posted @ 2012-05-02 22:10 fengyun1989 阅读(742) | 评论 (2) 编辑
<cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏(一)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-x for XNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/zilongshanren/archive/2011/04/11/2012852.htmlIphone教程原文地址:http://www.raywenderlich.com/1163/how-to-make-a-tile-based-ga 阅读全文
posted @ 2012-05-02 10:57 fengyun1989 阅读(346) | 评论 (1) 编辑
<cocos2d-x for wp7>使用box2d来做碰撞检测(且仅用来做碰撞检测)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-x for XNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/zilongshanren/archive/2011/06/08/2074582.htmlIphone教程原文地址:http://www.raywenderlich.com/606/how-to-use-box2d-for-just-co 阅读全文
posted @ 2012-04-30 13:26 fengyun1989 阅读(139) | 评论 (0) 编辑
<cocos2d-x for wp7>使用cocos2d-x和BOX2D来制作一个BreakOut(打砖块)游戏(二)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-x for XNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/zilongshanren/archive/2011/05/29/2059467.htmlIphone教程原文地址:http://www.raywenderlich.com/505/how-to-create-a-simple-break 阅读全文
posted @ 2012-04-29 15:39 fengyun1989 阅读(105) | 评论 (0) 编辑
<cocos2d-x for wp7>使用cocos2d-x和BOX2D来制作一个BreakOut(打砖块)游戏(一)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-x for XNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/zilongshanren/archive/2011/05/27/2059460.htmlIphone教程原文地址:http://www.raywenderlich.com/475/how-to-create-a-simple-break 阅读全文
posted @ 2012-04-29 15:38 fengyun1989 阅读(104) | 评论 (0) 编辑
<cocos2d-x for wp7>在cocos2d-x里面使用BOX2D
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-xforXNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/zilongshanren/archive/2011/05/27/2059453.htmlIphone教程原文地址:http://www.raywenderlich.com/457/intro-to-box2d-with-cocos2d-tu 阅读全文
posted @ 2012-04-29 11:23 fengyun1989 阅读(129) | 评论 (3) 编辑
<cocos2d-x for wp7>在cocos2d-x上使用重力加速器
摘要: 突然想使用下重力加速器,但是发现C++版的那些AccelerometerDispatcher,CCAccelerometer等东西在XNA版本都没有实现。而且,在层里面的Init事件中想要注册使用加速器的this.isAccelerometerEnabled = true;编译的直接报错。貌似意思是找不到。看了下CCLayer的封装,的确有这个isAccelerometerEnabled 的成员。但是为什么报错就不清楚了。纠结了好一会,突然想起来这个引擎也就是在XNA基础上做的。那么直接用XNA的方法吧。经过尝试,成功!1,要添加Microsoft.Devices.Sensors的引用。2,在 阅读全文
posted @ 2012-04-24 16:17 fengyun1989 阅读(37) | 评论 (0) 编辑
用cocos2d-x做一个简单的windows phone 7游戏:墓碑机制和收尾工作(完)
摘要: 经过了前面3节的教程,现在我们已经拥有了一个不错的游戏,但是,有没发现,其实还有一些问题的。比如,背景音乐,即使回到了菜单,那背景音乐依然在播放。这个体验不友好,应该算是BUG了。那么来修改一下吧。打开GamePlayScene类。在里面重装父类的两个方法,OnEnter和OnExit。把原来在GamePlayLayer的Init里面的播放背景音乐移到OnEnter里面播放背景音乐,并且设置为重复播放。在OnExit里面停止背景音乐的播放。具体代码如下: public override void onExit() { base.onExit()... 阅读全文
posted @ 2012-04-23 19:53 fengyun1989 阅读(126) | 评论 (1) 编辑
用cocos2d-x做一个简单的windows phone 7游戏:更猛的怪兽和更多的关卡(三)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-x for XNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/andyque/articles/1997966.htmlIphone教程原文地址:http://www.raywenderlich.com/782/harder-monsters-and-more-levels上一篇教程我们有一个可以旋 阅读全文
posted @ 2012-04-23 19:53 fengyun1989 阅读(133) | 评论 (3) 编辑
用cocos2d-x做一个简单的windows phone 7游戏:旋转炮塔(二)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-xforXNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/andyque/articles/1997820.htmlIphone教程原文地址:http://www.raywenderlich.com/692/rotating-turrets旋转炮塔来改变射击的方向。许多游戏都有这个功能,在这个教程中 阅读全文
posted @ 2012-04-23 19:53 fengyun1989 阅读(144) | 评论 (0) 编辑
用cocos2d-x做一个简单的windows phone 7游戏(一)
摘要: 本教程基于子龙山人翻译的cocos2d的IPHONE教程,用cocos2d-x for XNA引擎重写,加上我一些加工制作。教程中大多数文字图片都是原作者和翻译作者子龙山人,还有不少是我自己的理解和加工。感谢原作者的教程和子龙山人的翻译。本教程仅供学习交流之用,切勿进行商业传播。子龙山人翻译的Iphone教程地址:http://www.cnblogs.com/andyque/archive/2011/03/22/1990716.htmlIphone教程原文地址:http://www.raywenderlich.com/352/how-to-make-a-simple-iphone-game-w 阅读全文
posted @ 2012-04-23 19:52 fengyun1989 阅读(357) | 评论 (1) 编辑
在 System.Security.SecurityException 中第一次偶然出现的“System.Runtime.Serialization.dll”类型的异常
摘要: 今天在写cocos2d-x的程序的时候,发现了这个问题,在按开始键进入后台,或者按返回键返回程序。引发这样的异常。导致线程中断,无法返回程序。异常信息如下:在 System.Security.SecurityException 中第一次偶然出现的“System.Runtime.Serialization.dll”类型的异常在 System.Reflection.TargetInvocationException 中第一次偶然出现的“mscorlib.dll”类型的异常在 System.Security.SecurityException 中第一次偶然出现的“System.Runtime.Ser 阅读全文
posted @ 2012-04-22 22:59 fengyun1989 阅读(20) | 评论 (0) 编辑
<cocos2d-x for wp7>游戏中按返回键退回到菜单页面
摘要: 研究半天,发现这个只要一按返回键就退出了,无论你是在那个界面(也就是场景)。细想下,其实本来也就是一个界面,场景都是自己添加的,所以一按返回键,等于在初始界面按返回键,就退出了。所以,我们只要在执行返回键操作的时候做手脚就好了。翻了一下,发现CCDirector.sharedDirector().runningScene有这个,就是可以取到当前运行的场景,这个就够了。首先,你的游戏页面一定要是一个类继承CCScene。如果是一个层的话,就不好操作了。 菜单页面是一个层也没有关系。然后在Game1.cs里面,找到Update函数。在里面就能看到处理返回键的操作。思路是,先判断是否是游戏界面,如果 阅读全文
posted @ 2012-04-17 11:20 fengyun1989 阅读(17) | 评论 (0) 编辑
<cocos2d-x for wp7>动画制作
摘要: 要使用cocos2d-x在WP7上使用动画,倒废了不少功夫,郁闷是事情就是plist居然没法解析,老是提示我的plist文件Not Support,不晓得是解析的原因还是其他,试了好多次也没法,只有“曲线救国“了。曲线救国的思路就是:自己生成每一帧添加进去。而CCSpriteFrame的生成只有用CCTexture2D。那么得先生成CCTexture2D.我使用的是这么一张PNG贴图。1,添加一个类继承CCScene. 2,声明一个帧的数组来保存帧和一个精灵变量。 CCSprite people; List<CCSpriteFrame> animFrames;3,重载OnE... 阅读全文
posted @ 2012-04-13 23:18 fengyun1989 阅读(56) | 评论 (0) 编辑
<cocos2d-x for WP7>初探CCAction(动作)
摘要: cocos2d-x为我们提供了相当方便的动作制作。主要有两种:瞬时动作(基类CCActionInstanse)和延时动作(基类CCActionInterval)。我估计大部分人关心的都是延时动作,因为有动感,才能称为动作嘛。延时动作中,有很多种类型:移动(CCMoveTo,CCMoveBy),旋转(CCRotateTo,CCRotateBy),变形(CCScaleTo,CCScaleBy),跳跃(CCJumpTo,CCJumpBy)等动作。具体可以到http://www.cocos2d-x.org/embedded/cocos2d-x/d7/d12/classcocos2d_1_1_c_c_a 阅读全文
posted @ 2012-04-10 15:18 fengyun1989 阅读(53) | 评论 (0) 编辑
<wp7>另类弹窗,coding4Fun插件提供的弹窗
摘要: 从我的网易博客移过来的。。先提供效果图吧。这个是coding4Fun提供的MessagePrompt弹窗。还提供了ToastPrompt:土司弹出框,类似于土司推送通知。AboutPrompt:说明弹出框,特点是弹出框会在屏幕中间,其他的弹出框是在屏幕的上方(其他可以通过Margin调整文位置)。PasswordInputPrompt:密码输入弹出框。InputPrompt:输入弹出框,用于弹出输入框输入其他的信息。这些都不讨论了。需要的可以到官网文档:http://coding4fun.codeplex.com/wikipage?title=MessagePrompt&referri 阅读全文
posted @ 2012-03-22 20:27 fengyun1989 阅读(35) | 评论 (0) 编辑
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于cocos2dx for window phone的详细内容...