ui_pointer_ding_wei.ts 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import { _decorator, Component, Node, Tween, tween, UITransform, Vec3 } from 'cc';
  2. import { ui_base } from './ui_base';
  3. import { pointer_ding_wei_data } from '../../../data/data';
  4. import { tools } from '../../tools';
  5. import { gameManager } from '../gameManager';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('ui_pointer_ding_wei')
  8. export class ui_pointer_ding_wei extends ui_base {
  9. @property(Node) pointer_bar:Node = null;
  10. @property(Node) pointer_bar_point:Node = null;
  11. @property(Node) img_text:Node = null;
  12. @property(Node) img_eye_1:Node = null;
  13. @property(Node) img_eye_2:Node = null;
  14. @property(Node) btn_pointer_ding_wei_sure:Node = null;
  15. private mPointDingWeiData:pointer_ding_wei_data = null;
  16. private duration:number = 1;
  17. private moveDirIsRight:boolean = true;
  18. private rightLength:number = 200;
  19. protected init(): void {
  20. this.mPointDingWeiData = this.mTopData._pointer_ding_wei_data;
  21. if(this.mPointDingWeiData===null){
  22. return tools.showToast("指针定位配置错误~")
  23. }
  24. this.rightLength = this.mPointDingWeiData.rightLength;
  25. this.initPointerDingWei()
  26. }
  27. initPointerDingWei(){
  28. this.loadBg(this.mPointDingWeiData.bg)
  29. gameManager.initUiBaseAtt(this.pointer_bar,this.mPointDingWeiData.pointer_bar)
  30. gameManager.initUiBaseAtt(this.pointer_bar_point,this.mPointDingWeiData.pointer_bar_point)
  31. gameManager.initUiBaseAtt(this.img_text,this.mPointDingWeiData.img_text)
  32. gameManager.initUiBaseAtt(this.img_eye_1,this.mPointDingWeiData.img_eye_1)
  33. gameManager.initUiBaseAtt(this.img_eye_2,this.mPointDingWeiData.img_eye_2)
  34. gameManager.initUiBaseAtt(this.btn_pointer_ding_wei_sure,this.mPointDingWeiData.btn_pointer_ding_wei_sure)
  35. this.btn_pointer_ding_wei_sure.on(Node.EventType.TOUCH_START,this.stopRunPoint.bind(this))
  36. this.startRunPoint()
  37. }
  38. stopRunPoint(){
  39. Tween.stopAllByTarget(this.pointer_bar_point)
  40. let r= this.rightLength*0.5;
  41. if(this.pointer_bar_point.position.x>(-r)&&this.pointer_bar_point.position.x<r){
  42. this.onFinishEvent()
  43. console.log("过关成功")
  44. }else{
  45. this.onFialEvent()
  46. console.log("过关失败")
  47. }
  48. }
  49. startRunPoint(){
  50. let len = this.pointer_bar.getComponent(UITransform).contentSize.width*0.5;
  51. let duration = this.pointer_bar_point.position.x===0?this.duration*0.5:this.duration;
  52. if(this.moveDirIsRight){
  53. tween(this.pointer_bar_point).to(duration,{position:new Vec3(len,0,0)}).call(()=>{
  54. this.moveDirIsRight=!this.moveDirIsRight;
  55. this.startRunPoint()
  56. }).start()
  57. }else{
  58. tween(this.pointer_bar_point).to(duration,{position:new Vec3(-len,0,0)}).call(()=>{
  59. this.moveDirIsRight=!this.moveDirIsRight;
  60. this.startRunPoint()
  61. }).start()
  62. }
  63. }
  64. }