Cocos Creator常见问题汇总

好快啊,一天的工作又结束了,总结一下遇到的问题

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依赖。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的Cocos Creator面试题: 1. 什么是Cocos CreatorCocos Creator是一个基于JavaScript、TypeScript和HTML5技术的2D游戏开发引擎,它提供了一个可视化的编辑器,让开发者能够快速创建游戏。 2. Cocos Creator有哪些基本的组件?Cocos Creator的基本组件包括Sprite、Label、Button、ScrollView、Layout、ProgressBar等。 3. Cocos Creator中的场景是什么?场景是Cocos Creator中最基本的组织单位,每个场景都是一个独立的游戏场景,包含了游戏中所有的元素。 4. Cocos Creator中的节点是什么?节点是Cocos Creator中的最基本的组成单位,它可以包含其他节点或组件,并且可以进行层级关系的管理。 5. Cocos Creator中如何实现动画?Cocos Creator提供了Animation组件,可以通过在编辑器中制作动画来实现。 6. Cocos Creator中如何实现物理引擎?Cocos Creator提供了Physics组件,可以通过添加组件并设置相关参数来实现物理引擎效果。 7. Cocos Creator中如何实现碰撞检测?Cocos Creator提供了Collision组件,可以通过添加组件并设置相关参数来实现碰撞检测。 8. Cocos Creator中如何实现网络通信?Cocos Creator提供了WebSocket和HTTP请求等API,可以通过调用这些API来实现网络通信。 9. Cocos Creator中如何实现音效和音乐?Cocos Creator提供了Audio组件,可以通过添加组件并设置相关参数来实现音效和音乐。 10. Cocos Creator中如何优化游戏性能?可以通过减少节点数量、合并纹理、使用对象池等方式来优化游戏性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值