请教一下,预制prefab如何加载服务器端的图片呢

看了一些案例都是加载本地图片资源的~

背包物品图片很多放在服务器上了

下面的方法可以实现加载服务器资源

     cc.loader.load({
            url: remoteUrl, type: 'jpg'
        }, (err, texture) => {
            this.goods_image.spriteFrame = new cc.SpriteFrame(texture);
        });

附带官网的文档


// 远程 url 带图片后缀名
var remoteUrl = "http://unknown.org/someres.png";
cc.loader.load(remoteUrl, function (err, texture) {
    // Use texture to create sprite frame
});

// 远程 url 不带图片后缀名,此时必须指定远程图片文件的类型
remoteUrl = "http://unknown.org/emoji?id=124982374";
cc.loader.load({url: remoteUrl, type: 'png'}, function () {
    // Use texture to create sprite frame
});

// 用绝对路径加载设备存储内的资源,比如相册
var absolutePath = "/dara/data/some/path/to/image.png"
cc.loader.load(absolutePath, function () {
    // Use texture to create sprite frame
});

prefab内部监听事件如何触发?

  aPrefab
       aLabel
       aImage

触摸图片 aImage 会显示该图片对应的数据信息

//加载 Prefab后监听
var  item = cc.instantiate(this.prefab);

item.on(cc.Node.EventType.TOUCH_END,  callback );

自问自答可以的!

666,赞一个

很多问题都是可以在社区找到解决方案的,希望下次有新手搞这个能看到:blush:

谢谢:blush:

点击物品获取服务器实时数据

1. 怎样辨别点击的是哪一件物品  ?(后台可以通过请求的  goods_id  返回对应的json数据)
2. 需要拿到一个被点击物品的唯一识别编号,咋办?

加个图

1赞
  修改prefab
   aPrefab
       aLable
       aImage
       goods_id  (Label)    设置为黑黑的默认不显示(感谢 @老司机 教过我)

   var  item = cc.instantiate(this.prefab)
   item.getChildByName('goods_id').getComponent(cc.Label).string;

   getChildByName( ' xx ' ) 查找子节点
   string属性可以显示label  节点的值  

结果可以