InviteItem.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import MoveUpAndDown from "../../component/tween/MoveUpAndDown";
  2. const { ccclass, property } = cc._decorator;
  3. @ccclass
  4. export default class InviteItem extends cc.Component{
  5. @property({displayName: '红包图标', type: cc.Node})
  6. private node_redBag: cc.Node = null;
  7. @property({displayName: '头像', type: cc.Sprite})
  8. private sp_headPhoto: cc.Sprite = null;
  9. @property({displayName: 'x轴方向的偏移'})
  10. private offset_x: number = 0;
  11. @property({displayName: '克隆对象', type: cc.Node})
  12. private node_clone: cc.Node = null;
  13. private targetNode: cc.Node = null;
  14. private moveUpAndDownComp: MoveUpAndDown = null;
  15. private showTime: number = 0;
  16. start(){
  17. this.moveUpAndDownComp = this.node_redBag.getComponent(MoveUpAndDown);
  18. }
  19. public setItemData(data, endNode: cc.Node, time: number)
  20. {
  21. this.targetNode = endNode;
  22. this.showTime = time;
  23. cc.tween(this.node).delay(this.showTime).call(()=>{
  24. this.node.scale = 0;
  25. this.node.active = true;
  26. }).to(0.1, {scale: 1}, cc.easeSineOut()).start();
  27. }
  28. public clickHeadPhotoBtn()
  29. {
  30. mk.audio.playEffect("button");
  31. mk.fly.playFlyAni(this.node_redBag, this.node_clone ,this.targetNode, 0.6, ()=>{
  32. if(this.targetNode)
  33. {
  34. let lab = cc.instantiate(this.targetNode);
  35. let pos = lab.getPosition();
  36. pos.y += 50;
  37. lab.setPosition(pos);
  38. lab.setParent(this.targetNode.parent);
  39. lab.active = true;
  40. pos.y += 25;
  41. cc.tween(lab).to(1.4, {opacity: 0, position: cc.v3(pos)}, cc.easeSineOut()).call(()=>{
  42. if(lab)
  43. {
  44. lab.destroy();
  45. }
  46. }).start();
  47. }
  48. }, cc.v3(this.offset_x, 0, 0));
  49. }
  50. }