博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos Creator常见问题汇总
阅读量:6871 次
发布时间:2019-06-26

本文共 2387 字,大约阅读时间需要 7 分钟。

hot3.png

常见问题汇总:

1.本地存储数据

cc.sys.localStorage.getItem(key,value);

cc.sys.localStorage.setItem(key,value); 

2.读取文本文件

cc.loader.loadTxt(cc.url.raw('scripts/test.proto'), function(err, txt) {

            // 读取成功,err为null,读取失败才会有错误信息:err:{‘status':0,’errorMessage’:’….'}

            // txt为文本内容

});

3.打印LOG信息:

需要先初始化Debug配置

cc._initDebugSetting(cc.DebugMode.INFO);

cc.log('print log info ...');

4.场景切换动画:

【A场景切换到B场景】

A场景:

this.node.runAction(cc.fadeOut(1.0));

cc.director.loadScene('B');

--------------------------------------------------

B场景

Canvas下或background节点下

onload:function(){

this.node.runAction(cc.fadeIn(1.0));

.......

}

或者将runAction那行换成this.getComponent(cc.Animation).play('customAnim');

5.动态更换精灵的纹理:

var imgUrl = cc.url.raw('imgs/xx.png');

var texture = cc.textureCache.addImage(imgUrl);

this.getComponent(cc.Sprite).spriteFrame.setTexture(texture);

6.cc.Lable组件隐藏方法:

label.enabled = false   // 隐藏单个组件

写在 onLoad: function () 里是没有效果,可以在编辑器中把勾选去掉

或者

label.node.active = false    // 整个 node 的所有组件一起禁用 

7.require脚本文件,脚本的load函数要放在外头调用,不要在js加载的时候就去调用,因为这个时候引擎的一些参数还未初始化呢。

8.节点组件的获取和查找用法:

a.获取canvas节点下面的子节点score-bg

 -> 子节点没有层级: this.node.getChildByName('score-bg');

 -> 子节点在多个层级下面: cc.find("background/score-bg", this.node);

b.获取当前节点scoreNode下的Label组件:

scoreNode.getComponent(cc.Label);

9.Node上的Action动作系统与Widget兼容问题:

node.runAction(..);

注意事项:如果node节点上面,包含Widget组件,且设定了top,bottom,left,right中的数值。

例:right=50px,效果就是node节点始终距离屏幕右侧边缘50px;

这时你给node加上cc.moveBy(2,-100,-100)动作,此时node只会在y方向运动,x方向不会运动。

此时需要先解除Widget组件,才能去修改node的position属性。

// 获取节点的组件,然后移除

var widget = pauseNode.getComponent(cc.Widget);

pauseNode.removeComponent(widget);

10.动态添加节点:

// 动态添加节点 

var dynamicNode = new cc.Node('sprite 1');

// 添加Sprite组件

var sp = dynamicNode.addComponent(cc.Sprite);

// 读取图片纹理

var imgUrl = cc.url.raw('textures/tangguo/floor.png');

var texture = cc.textureCache.addImage(imgUrl);

// 创建渲染图片资源

sp.spriteFrame = new cc.SpriteFrame();

// 绑定纹理

sp.spriteFrame.setTexture(texture);

// 设置节点坐标

dynamicNode.setPosition(200,0);

// 将节点加入父节点

this.node.addChild(dynamicNode);

11.动画组件:

var anim = this.player.getComponent(cc.Animation);

anim.play();

如果动画组件在修改position属性了,代码中就无法修改了。

12.Android工程导入Eclipse报错问题:

去截图中的位置检查引用的lib路径是否正确,如果不正确,你可以把下面的lib工程导入到Eclipse里面,

/Users/haocao/CocosCreatorWorkPlace/HelloWorld/build/HelloWorld/jsb/frameworks/cocos2d-x/cocos/platform/android/java

然后修改HelloWorld的Library依赖。

163007_xLio_1866808.png

转载于:https://my.oschina.net/oahcfly/blog/626639

你可能感兴趣的文章
SQL语句中ALTER的用法
查看>>
最近读的javascript,一些文章
查看>>
SVN服务器搭建和使用(三)
查看>>
JSON入门指南--客户端处理JSON
查看>>
Objective-C内存布局
查看>>
qsort的另类玩法,无聊写着耍耍
查看>>
每日一乐,健康多滋味~~
查看>>
[Oracle] - Connect to a PDB of Oracle12c
查看>>
VS2015 android 设计器不能可视化问题解决。
查看>>
移动数据统计平台分析
查看>>
httppp 1.4.0 发布,HTTP响应时间监控
查看>>
ASP.NET MVC加载ASCX之后,并为之赋值
查看>>
使用SDWebImage淡入淡出的方式加载图片
查看>>
nmon与nmonanalyser系统性能分析
查看>>
52. N-Queens II
查看>>
字符串匹配算法
查看>>
LAMP学习路线图
查看>>
MySQL入门(四)
查看>>
详解 ML2 Core Plugin(II) - 每天5分钟玩转 OpenStack(72)
查看>>
httpd-2.2 配置及用法完全攻略
查看>>