欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
        });
    }

。。。日后遇到在加吧

相关标签: Cocos Creator