Cocos Creator错误总结
程序员文章站
2024-03-16 16:44:46
...
学习(心态爆炸)历程:
关于2.0 shader的cgNode出错,可以看上篇blog,最前面的解决方案,是官方引擎组写的一个shader
[1] : Require(‘文件名’) 错误
// 正确写法,最开始的时候是直接写的module.export = cc.Class(...),这种我实验的时候是会出错的
// re_public.js
var re_public = cc.Class(
{
pring:function()
{
cc.log('print');
}
});
module.export = re_public;
// 调用时
var re_public = require('re_public');
[2] : 注意cc.v2,看一段代码
// 下面这段代码一直在报 ' 错误,x为空 ',起初我一直以为是x这个变量的问题
// 因为log打印的行号是最后一行,也就是那个 )} ,最后一行行的删,发现cc.v2没有x这个变量 ......,
// 我当时这个心情啊,以此铭记 如果要初始化,最好使用cc.vec2 这个有相应变量的,f12
cc.Class({
extends:cc.Component,
properties:{
speed :0,
offset : cc.v2
},
onLoad:function(){
this.offset= cc.v2(this.node.width,this.node.height);
},
update : function(){
var x = this.nodeSize.x;
if(x > 50)
{
cc.log('print');
}
}
)}
[3] : cc.loader.load(url,cc.SpriteFrame,function()) 出现错误
Uncaught ReferenceError: frame is not defined(我重现了一下,不过记得报的好像不是这个错)
start:function()
{
var self = this;
cc.loader.load('http://118.24.93.110/MagicCode.jpg',function(err,texture)
{
if(err)
{
console.log('Image Load Failed! Url->','http://118.24.93.110/MagicCode.jpg',' Error Info->',err);
}
// 如果不写new SpriteFrame()这一句,而是直接xxx.spriteFrame = texture;就会出现上面那个错误,
// 估计,应该是因为下载的数据为一个流格式,也就是Object,所以需要转一下数据
// 下面是new SpriteFrame 跳转到的函数原型
//constructor(filename?: string|Texture2D, rect?: Rect, rotated?: boolean, offset?: Vec2, originalSize?: Size);
//let frame = new cc.SpriteFrame(texture);
self.node.getComponent(cc.Sprite).spriteFrame = frame;
});
}
。。。日后遇到在加吧