uiStoryAni.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import bundleManager from "../../../manager/bundleManager";
  2. const { ccclass } = cc._decorator;
  3. /**开场动画播放类 */
  4. @ccclass
  5. export default class UIStoryAni extends cc.Component {
  6. /**图片组 */
  7. private pics: cc.SpriteFrame[] = [null, null, null];
  8. callBack: Function;
  9. init(cbk: Function) {
  10. this.callBack = cbk;
  11. for (let i = 1; i <= 3; i++) {
  12. bundleManager.setBundleFrame('UI', 'main/story/' + i, null, (sf: cc.SpriteFrame) => {
  13. this.pics[i - 1] = sf;
  14. this.checkDone(cbk);
  15. });
  16. }
  17. }
  18. /**检测初始是否化完成 */
  19. checkDone(cbk: Function) {
  20. for (let i = 0; i < 3; i++) {
  21. if (this.pics[i] == null) {
  22. return;
  23. }
  24. }
  25. let sp = this.node.getComponent(cc.Sprite);
  26. let i = 0;
  27. sp.spriteFrame = this.pics[i];
  28. i++;
  29. this.schedule(() => {
  30. if (i < 3) {
  31. sp.spriteFrame = this.pics[i];
  32. i++;
  33. }
  34. else {
  35. cbk(this.node);
  36. //this.node.destroy();
  37. }
  38. }, 2, 2);
  39. }
  40. skip_btn() {
  41. if (this.callBack) {
  42. this.callBack(this.node);
  43. }
  44. }
  45. }