announcement.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { _decorator, Component, Node, Size, SpringJoint2D, Sprite, SpriteFrame, UITransform } from 'cc';
  2. import { base_ui } from '../fw/base_ui';
  3. import { tools } from '../tools';
  4. const { ccclass, property } = _decorator;
  5. @ccclass('announcement')
  6. export class announcement extends base_ui {
  7. @property(Node) btn_close:Node = null
  8. @property(Node) empty:Node = null
  9. @property(Node) content_img:Node = null
  10. protected start(): void {
  11. this.onButtonListen(this.btn_close, ()=>{
  12. this.close()
  13. })
  14. let img_url = tools.sys_config.bulletin_img
  15. // console.log('img_url=',img_url)
  16. if(img_url.length<=0) {
  17. this.empty.active = true
  18. } else {
  19. tools.loadRemoteImg(img_url, (r)=>{
  20. this.showContentImg(r.sf)
  21. })
  22. }
  23. }
  24. private showContentImg(sf:SpriteFrame) {
  25. if(sf==null||sf==undefined) {
  26. this.empty.active = true
  27. return
  28. }
  29. this.empty.active = false
  30. let img_width = this.content_img.getComponent(UITransform).contentSize.width
  31. let bili = sf.width / sf.height
  32. let img_height = img_width / bili
  33. let img_size = new Size(img_width, img_height)
  34. this.content_img.getComponent(UITransform).setContentSize(img_size)
  35. this.content_img.getComponent(Sprite).spriteFrame = sf
  36. }
  37. }