Creator中导出函数不成功

我按照以下的方法导出组件中的函数:

然后在另一个组件里面使用:但是没有打印结构出来,到底是什么回事呢?

问题是我该怎么使用func函数呢?
假如我不导出,它默认导出了。然后我在另一个组件中写

      var abb=require("abb");
     ......
     abb.func()//这样也不成功啊。

http://forum.cocos.com/t/topic/42059

按照官方的文档,我的写法应该是没有问题的啊,真是费解。

你需要这样
var a = new abb();
a.func();

http://forum.cocos.com/t/topic/36821

谢谢,我试试先

new出来的是一个新的对象了吧,那我该如何取得原先的对象实例,是不是应该在构造函数里面返回一个?还是应该怎样做?

在脚本里引用你需要的对象实例,比如在properties里加一个属性

abb:abb,
就可以了,然后在编辑器里把你需要的实例拖到这个组件的abb属性框上

好的,谢谢兄弟。

您好,我看到你之前有个网络加载图片的问题,请问你是如何解决的?我使用
cc.loader.load(url, function (err, texture) {//url 是一张微信头像,运行报错,出现了
//Image from origin ‘http://wx.qlogo.cn’ has been blocked from loading by Cross-Origin Resource Sharing policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:7457’ is therefore not allowed access.
//请问你是如何解决的?

              }

我忘了,马上我重新看看

我试了一下,在模拟器里能正常加载,但是在浏览器里会有跨域的错误,导致无法加载,以下是我的代码

 cc.loader.load("http://article.fd.zol-img.com.cn/t_s640x2000/g1/M07/0C/0D/Cg-4jlOpQXeIBoCqAAGvjZdPGQYAAOjOwDjYVcAAa-l268.jpg", function(err, texture){
     cc.log("loaded----" + texture);
     self.sp.spriteFrame = new cc.SpriteFrame(texture);
 })

至于跨域问题好像要服务器端才能解决,或者做服务器转发,具体我也不懂

图片跨域Canvas模式与WebGL模式控制台都会报错,但是Canvas模式图片可以正确加载出来,WebGL加载不了。所以需要在浏览器环境加载第三方图片的,只能自己搭一个服务器中转(服务器请求图片,再给客户端,返回的header里加上"Access-Control-Allow-Origin: *"从而允许跨域),或者只使用Canvas模式不用WebGL。

2赞

谢谢,但是怎么设置Canvas模式呢??

好的谢谢兄弟。

官方文档哪有这样示例?
首先 func 只是你的类成员方法,本来就不存在 abb 脚本上下文中,你应该是无法导出的。就算要导出也应该写 module.exports = { abb.prototype.func };
再来,你怎么会觉得类的成员方法可以在脱离对象的情况下直接调用……

呃,原来是我搞错了,哈哈哈,我以为导出的组件就直接用行了。

电脑上预览的话浏览器打开的页面上面有菜单:


1.4.0 beta3添加了发布时选择渲染模式的选项(之前的版本都没有):

如果你用的是1.4.0 beta3之前的版本,或者在手机上预览,修改的方法为:
预览模式下:CocosCreator\resources\static\preview-templates\boot.js里cc.game.run前面的option对象里加一个属性renderMode: 1
发布后:web-mobile\main.js里cc.game.run前面的option对象里加一个属性renderMode: 1

1赞