InforPanel.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { _decorator, assetManager, Component, ImageAsset, Label, Node, Sprite, SpriteFrame, Texture2D } from 'cc';
  2. import { BasePanel } from './BasePanel';
  3. import { MyGame } from '../Game/MyGame';
  4. const { ccclass, property } = _decorator;
  5. @ccclass('InforPanel')
  6. export class InforPanel extends BasePanel {
  7. @property(Sprite)
  8. private Avator: Sprite = null;
  9. @property(Label)
  10. private Name: Label = null;
  11. start() {
  12. this.Avator = this.node.getChildByName("Avator").getComponent(Sprite);
  13. // this.Name = this.node.getChildByPath("Name").getComponent(Label);
  14. this.initData();
  15. }
  16. update(deltaTime: number) {
  17. }
  18. public async initData()
  19. {
  20. // 获取用户信息
  21. let userInfo = MyGame.getInstance().getMyPlayerInfo();
  22. let avatarUrl = userInfo.avatarUrl; // 确保 URL 是正确的
  23. console.log("userInfo==>", userInfo, "avatarUrl==>", avatarUrl);
  24. let self = this;
  25. assetManager.loadRemote<ImageAsset>(avatarUrl, { ext: '.jpg' }, function (err, imageAsset) {
  26. if (err) {
  27. console.warn(avatarUrl, "无效的图片地址", err);
  28. return;
  29. }
  30. const spriteFrame = new SpriteFrame();
  31. const texture = new Texture2D();
  32. texture.image = imageAsset;
  33. spriteFrame.texture = texture;
  34. self.Avator.spriteFrame = spriteFrame;
  35. self.Avator.node.setScale(0.9, 0.9);
  36. // cb?.call(cb_target, spriteFrame);
  37. // map.set(uid, spriteFrame);
  38. });
  39. await chsdk.changeUaseData(userInfo.nickName,userInfo.avatarUrl);
  40. }
  41. onClose() {
  42. super.onClose(null);
  43. }
  44. }