announcement.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. console.log(r.sf.width,r.sf.height)
  22. })
  23. }
  24. }
  25. private showContentImg(sf:SpriteFrame) {
  26. if(sf==null||sf==undefined) {
  27. this.empty.active = true
  28. return
  29. }
  30. this.empty.active = false
  31. let img_width = this.content_img.getComponent(UITransform).contentSize.width
  32. let bili = sf.width / sf.height
  33. let img_height = img_width / bili
  34. let img_size = new Size(img_width, img_height)
  35. this.content_img.getComponent(UITransform).setContentSize(img_size)
  36. this.content_img.getComponent(Sprite).spriteFrame = sf
  37. }
  38. }