TransitNode.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Learn TypeScript:
  2. // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
  3. // Learn Attribute:
  4. // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
  5. // Learn life-cycle callbacks:
  6. // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
  7. import Time from "../tools/Time";
  8. const { ccclass, property } = cc._decorator;
  9. @ccclass
  10. export default class TransitNode extends cc.Component {
  11. @property(sp.Skeleton)
  12. transitAni: sp.Skeleton = null;
  13. /**播放普通过场动画*/
  14. async PlayNorTransitAni(callback: Function = null) {
  15. this.node.active = true;
  16. this.node.setSiblingIndex(this.node.parent.childrenCount - 1);
  17. this.transitAni.setBonesToSetupPose();
  18. this.transitAni.setAnimation(0, "jinchang", false);
  19. await Time.WaitForSeconds(0.5);
  20. if (callback)
  21. callback();
  22. this.transitAni.setAnimation(0, "chuchang", false);
  23. await Time.WaitForSeconds(1.6);
  24. this.node.active = false;
  25. }
  26. /**
  27. * 播放过场动画
  28. */
  29. PlayTransitAniForHttp() {
  30. this.node.active = true;
  31. this.node.setSiblingIndex(this.node.parent.childrenCount - 1);
  32. this.transitAni.setBonesToSetupPose();
  33. this.transitAni.setAnimation(0, "jinchang", false);
  34. }
  35. /**
  36. * 关闭过场动画
  37. */
  38. async PlayCloseTransitAniForHttp(callback = null) {
  39. //console.log("----TIMES1:" + this.transitAni.findAnimation("chuchang").duration);
  40. //console.log("----TIMES2:" + this.transitAni.findAnimation("jinchang").duration);
  41. await Time.WaitForSeconds(0.5);
  42. if (callback)
  43. callback();
  44. this.transitAni.setAnimation(0, "chuchang", false);
  45. await Time.WaitForSeconds(1.0);
  46. this.node.active = false;
  47. }
  48. }