-
Creator 版本:2.3.1
-
目标平台: Web
-
详细报错信息,包含调用堆栈:
TypeError: Cannot read property ‘setTexture’ of null
at Test. (d:\cocos_program\graduate\assets\script\Test.js:51:32)
at http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:34778:32
at http://localhost:7456/app/engine/bin/cocos2d-js-for-preview.js:45345:11
-
编辑器操作系统 :win10
-
额外线索:
服务器用的是node.js及express框架,在浏览器中输入“http://localhost:3000/image”后会显示图片“1.png”,但是在Chrome中显示乱码,在火狐中正确显示
服务器端代码为:
var express=require(‘express’);
var app=express();
var http=require(‘http’).Server(app);
app.use(express.static(__dirname+’/public’));
app.all(’’, function(req, res, next) {
res.header(“Access-Control-Allow-Origin”, "");
res.header(“Access-Control-Allow-Headers”, “X-Requested-With”);
res.header(“Access-Control-Allow-Methods”,“PUT,POST,GET,DELETE,OPTIONS”);
res.header(“X-Powered-By”,’ 3.2.1’)
res.header(“Content-Type”, “application/json;charset=utf-8”);
next();
});
http.listen(3000,function(){
console.log(‘listening on:3000’);
});
app.get(’/’, function (req, res) {
console.log(“主页 GET 请求”);
res.send(‘Hello GET’);
})
app.get(’/image’, function(req, res) {
res.sendfile(__dirname + ‘/1.png’);
})
客户端代码为:
cc.Class({
extends: cc.Component,
properties: { pictureNode:cc.Node, },
onClickPicture:function(){ var sprite = this.pictureNode.addComponent(cc.Sprite); cc.loader.load("http://127.0.0.1:3000/image"+ "?aa=aa.png",function(err, ret) { if(err) { console.log(err); return; } // ret is cc.Texture2D这样对象 console.log("这是ret的值"+ret); console.log("这是ret的类型"+typeof ret); sprite.spriteFrame.setTexture(ret); this.pictureNode.setContentSize(ret.getContentSize()); // 使用这个图片的大小 // end }.bind(this)); },});