加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d使用小结

发布时间:2020-12-14 16:58:41 所属栏目:百科 来源:网络整理
导读:一、 cocos2d中getVisibleSize()与getVisibleRect()的区别? 1.getVisibleSize()返回可见OpenGL视图大小,以点为单位。 2.getVisibleRect()返回opengl窗口的可见矩形 3.getVisibleRect()对点的描述比getVisibleSize()详细 二、使用cocos studio合成的plist文

一、 cocos2d中getVisibleSize()与getVisibleRect()的区别?

1.getVisibleSize()返回可见OpenGL视图大小,以点为单位。

2.getVisibleRect()返回opengl窗口的可见矩形

3.getVisibleRect()对点的描述比getVisibleSize()详细

二、使用cocos studio合成的plist文件导入时的注意事项
frameCache->addSpriteFramesWithFile(“resources/Pictures.plist”);
//合成之后的路径不要更改

auto content = Sprite::createWithSpriteFrameName(“resources/num11.png”); //一定按plist文件里的路径名来写,即用记事本打开plist文件时,里面是什么样的路径格式就原封不动的照搬过来

三、由cocos studio建立的一些节点图片原本是.csd文件,需要进行发布后才变成.csb文件,.csb文件可以最终被调用需要注意是一般调用相关.csb文件时路径要写明,可以参照MainScene.csb文件来写路径。(因为MainScene.csb文件是cocostudio自带的)


根据二、三点出一个代码实例
`auto background = Sprite::create(“res/resources/bg.png”);
background->setAnchorPoint(Vec2::ZERO);
this->addChild(background);
SpriteFrameCache* frameCache = SpriteFrameCache::getInstance();
frameCache->addSpriteFramesWithFile(“resources/Pictures.plist”);//合成之后的路径不要更改

auto content = Sprite::createWithSpriteFrameName(“resources/num11.png”); //一定按plist文件里的路径名来写

content->setPosition(Vec2(234.39,830.19));
this->addChild(content);
`


四、用cocos2d比较郁闷的一点是每次添加新的头文件和执行文件时会添加到win32文件夹里而不是Class,因此调用这些类文件时需把它们拷贝到Class文件夹下,否则会出现提示该类不存在的情况

五、getContentSize()返回的是节点的逻辑尺寸,而不是实际的像素尺寸!!!!
这就是为什么每次你用log打印contentsize.width和contentsize.height出现的是一大推的二进制码

六、配合cocos studio画精灵节点对象时,画布中的十字交点对应的是setContentSize()设置区域大小时的左下角坐标点!!!!因此每次你设置精灵的contentsize时都是以该点为坐标原点,向上为y轴正方向,向右为x轴正方向的一个区域
PS:一般的素材图片本身包含contentSize,除非是自己新合成的精灵节点需要设置contentSize。

七、乱入C++中
公有继承与私有继承的区别:
对派生类来说,若要继承基类中的成员,与其继承时是公有和私有没什么影响,只与基类中的访问权限有关,一样只能访问公有和受保护成员,无法访问私有成员
其两者的区别是针对派生类定义的对象来说,若是公有的则遵循原来的访问权限,若是私有的则继承的基类成员为私有,对象不能直接访问。

八、乱入C++
当两个类相互调用时会出现编译错误,解决方法是使用向前声明。

九、使用精灵的isrunning()与getNumberOfRunningActions() isrunning()判断节点是否运动 getNumberOfRunningActions()判断精灵正在执行的动作 当要判断一个精灵是否执行完runAction()时,使用getNumberOfRunningActions()判断,isrunning()在完成runAction时依然为1.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读