JG0111_3.ts 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import BaseEvent from "../../fight/evnet/base/BaseEvent";
  2. import { SpriteActionType } from "../../fight/object/FSprite";
  3. const {ccclass, property} = cc._decorator;
  4. /**
  5. * 剧情
  6. * 落单的精灵:可怜的小鹿……居然被这么古老的机关捉住了。
  7. 角色触碰笼子,提示需要钥匙。
  8. 落单的精灵:这是我见过的排名第一的倒霉动物。
  9. 落单的精灵:我暂且留在这里守护它。
  10. */
  11. @ccclass
  12. export default class JG0111_3 extends BaseEvent {
  13. @property({
  14. displayName: '困住的宠物',
  15. type: cc.Node,
  16. })
  17. mPet: cc.Node = null;
  18. @property({
  19. displayName: '对话用NPC',
  20. type: cc.Node,
  21. })
  22. mNpc: cc.Node = null;
  23. @property({
  24. displayName: '显示的钥匙',
  25. type: cc.Node,
  26. })
  27. mKeyNode: cc.Node = null;
  28. private isOver = false;
  29. public onBegin(tag: number) {
  30. if(this.isOver){
  31. return
  32. }
  33. this.isOver = true
  34. this.pause()
  35. this.dialog1()
  36. }
  37. private dialog1() {
  38. let text = [
  39. '可怜的小鹿……居然被这么古老的机关捉住了。',
  40. ]
  41. this.showDialog(this.mNpc, text, () => {
  42. this.moveMainSprite()
  43. })
  44. }
  45. /**
  46. * 角色触碰笼子,提示需要钥匙。
  47. */
  48. private moveMainSprite(){
  49. let mainSprite = this.ff.mainSprite
  50. mainSprite.setLR(1)
  51. mainSprite.playAction(SpriteActionType.run, true)
  52. cc.tween(mainSprite.node).sequence(
  53. cc.moveTo(0.5,cc.v2(3336,4322)),
  54. cc.callFunc(()=>{
  55. mainSprite.setLR(-1)
  56. mainSprite.playAction(SpriteActionType.stand, true)
  57. this.mKeyNode.active = true
  58. }),
  59. cc.delayTime(1),
  60. cc.callFunc(()=>{
  61. mainSprite.playAction(SpriteActionType.stand, true)
  62. this.dialog2()
  63. this.mKeyNode.active = false
  64. }),
  65. ).start()
  66. }
  67. private dialog2() {
  68. let text = [
  69. '需要一把钥匙......',
  70. ]
  71. this.showDialog(this.ff.mainSprite.node, text, () => {
  72. this.dialog3()
  73. })
  74. }
  75. private dialog3() {
  76. let text = [
  77. '这是我见过的排名第一的倒霉动物。',
  78. '我暂且留在这里守护它。',
  79. ]
  80. this.showDialog(this.mNpc, text, () => {
  81. this.node.destroy()
  82. this.resume()
  83. })
  84. }
  85. }