代码改变世界

cocos2d-xna在使用某些场景转换效果时的问题以及修复

2012-03-11 03:02  WangQiang  阅读(1044)  评论(0编辑  收藏  举报

最近在使用cocos2d-xna时出现了场景切换效果报错的情况,仅仅在某些复杂的效果上,如CCTransitionJumpZoom效果。

由于cocos2d-xna库是要直接把代码都引用进自己的项目的,所以可以直接调试和修改cocos2d-xna源码。

如果在使用场景切换时调试出现代码自动断点,断点的地方应该是在某个文件的initOneTwo函数里,断点位置应该是应该是在这样一个语句的地方Debug.Assert(...!=null),如果继续执行,则会出现NullReferenceException异常,通过调用堆栈找到onEnter函数(此函数一般在场景切换效果类里,如CCTransitionJumpZoom.cs),在onEnter函数里,找到调用的一个actions方法,发现原因是在最后一个参数传入了一个null,删除null就可以解决问题了。

不知道为什么会传入null,没有深究代码,希望各位在使用cocos2d-xna时不要重蹈覆辙。

另外cocos2d-xna确实是个很好的游戏开发库,不过现有的中文资料较少,我最近在用cocos2d-xna写个游戏,可能会写写cocos2s-xna常用的类和函数的使用,对于cocos2d-xna出现不会使用的情况(官方文档写的太简单了....也没例子),建议大家直接搜索cocos2d的iphone和adroid平台的相关资料,调用函数类似,只是语法稍有不同。

ps:此文章同时发布在www.python-life.com博客