【IOS-COCOS2D-X 游戏开发之十一】NEW CCSPRITE()带来的错误&使用CCUSERDEFAULT及PVR.CCZ在COCOS2DX中要注意!
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2dx/703.html
本章讲解的是几个细节问题,但是此细节有可能导致一系列问题,那么今天Himi与童鞋们共同交流分享下;
一. 对于CCSprite 与 CCNode 是都很常用的类,那么基础使用方法这里不赘述,但是CCSprite 与 CCNode在进行添加子类时可能有些童鞋遇到过问题,下面我们详细看下:
首先给出代码段1:
索引图片名直接创建个精灵A,然后A add 子类精灵,最后将A添加Layer中,没说的,eazy,不解释;
那么再看下面代码段2:
顺序和功能跟代码段1一样,但当你运行后发现程序异常!原因是sp 中并没有真正的初始化,而仅仅简单的申请了一块内存而已;
解决方案:仍然调用CCSprite公开的几个构造函数即可;
此问题比较容易理解,但是当我们出现以上问题时,肯定是想不想创建一个精灵时传入资源,所以会使用new方式来使用,那么如果你想创建一个没有贴图的精灵可以按照如下方式实现:
利用Node::node初始化数据后强转给CCSprite子类即可;话说回来既然如此到不如使用CCNode来的方便?!没错,如果你想封装一个精灵,并往里添加子精灵,那么创建这个精灵如不想使用资源创建,那么推荐使用CCNode,(自定义类型继承CCNode),另一方面如果创建这个精灵可以索引到资源,可以继承CCSprite,没问题;
值得注意的是:
当你自定义A类继承精灵类CCSprite,使用new形式创建A类一个精灵后并addChild子精灵,一般不会造成程序异常,而且正常运行在iOS上,但是当你编译后运行Android上之后会发现精灵都是白色块的情况,如下前后对比图:
iOS运行截图:
编译Android运行截图:
二. 在cocos2dx中使用CCUserDefault的时候要注意,官方微薄也已提示,在当你setStringxxx、setBoolxxx等数据后要调用CCUserDefault的flush()函数,只有当你flush()了,才会将数据以xml格式保存本地App- Documents目录中!
三. 在cocos2dx中使用pvr.ccz格式的图片时候跟cocos2d的使用有一点区别,在cocos2d中加载pvr.ccz的图片资源不用去管大小和尺寸(当然为了兼容老代机器,推荐1024*1024),但是在Cocos2dx中当你的pvr.ccz的资源大小宽高不是正方形的话(2 的N次幂),会在控制台提示警告,并且!虽然程序能正常运行,但是在编译后Android上无法正常显示,是显示图片为白色块!所以这点也要注意;
[ios开发]-APP-上架流程 由于苹果的机制,在非越狱机器上安装必须通过官方的Appstore, 开发者开发好应用后上传Appstore,也需要通过审核等环节。 AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传Appstore作了支持。 本文从三个流程来介绍如何实现AppCan在 线编译出ipa包,以及上传到苹果Appstore。
相关文章
- (NO.00005)iOS实现炸弹人游戏(四):游戏数据的初始化(一)
- IOS ITunesConnect 修改开发商名称
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)
- iOS设备远程Push功能详解
- iOS开发UI篇—ios应用数据存储方式(归档)
- 【IOS-COCOS2D游戏开发之十四】音频/音效/视频播放(利用COCOS2D-IPHONE-EXTENSIONS嵌入COCOS2D进行视频播放!)
- 【IOS开发必收藏】详解IOS应用程序内使用IAP/STOREKIT付费、沙盒(SANDBOX)测试、创建测试账号流程!【2012-12-11日更新获取”产品付费数量等于0的问题”】
- 【IOS-COCOS2D-X 游戏开发之四】COCOS2DX创建ANDROID NDK新项目并编译导入ECLIPSE中正常运行!
- 【IOS-COCOS2D-X 游戏开发之十四】XCODE中C++&OBJECT-C混编,详细介绍如何在COCOS2DX中访问OBJECT函数以及APPLE API
- iOS中 蓝牙2.0详解/ios蓝牙设备详解
- iOS 小组件 widget 编辑小组件
- iOS(swift) UIButton图片下面加文字(图文混排)
- iOS 9 导入类库全面详尽过程(Ruby安装->CocoaPods安装->导入类库)
- ios开发之-继承的实现运用
- ios使用openUrl进行应用跳转
- iOS Sprite Kit教程之编敲代码以及Xcode的介绍