Map.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. let aGameInstance = require('GameInstance');
  2. cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. BGArr: {
  6. default: [],
  7. type: [cc.Node],
  8. serializable: true,
  9. },
  10. PlayerNode: {
  11. default: null,
  12. type: cc.Node,
  13. serializable: true,
  14. },
  15. BGSprite: {
  16. default: null,
  17. type: cc.SpriteFrame,
  18. serializable: true,
  19. },
  20. },
  21. onLoad ()
  22. {
  23. this.distance = 0;
  24. },
  25. Reset()
  26. {
  27. if(aGameInstance.bFirstInGame)
  28. {
  29. aGameInstance.bFirstInGame =false;
  30. return;
  31. }
  32. for(let i=0 ;i<3; i++)
  33. {
  34. //创建一个新的节点,因为cc.Sprite是组件不能直接挂载到节点上,只能添加到为节点的一个组件
  35. let node= new cc.Node('BG')
  36. //调用新建的node的addComponent函数,会返回一个sprite的对象
  37. const sprite = node.addComponent(cc.Sprite)
  38. //给sprite的spriteFrame属性 赋值
  39. sprite.spriteFrame=this.BGSprite;
  40. node.x = 720*i;
  41. //把新的节点追加到self.node节点去。self.node,就是脚本挂载的节点
  42. this.node.addChild(node);
  43. }
  44. },
  45. createMap()
  46. {
  47. //创建一个新的节点,因为cc.Sprite是组件不能直接挂载到节点上,只能添加到为节点的一个组件
  48. let node= new cc.Node('BG')
  49. //调用新建的node的addComponent函数,会返回一个sprite的对象
  50. const sprite = node.addComponent(cc.Sprite)
  51. //给sprite的spriteFrame属性 赋值
  52. sprite.spriteFrame=this.BGSprite;
  53. node.x = this.BGArr[2].x + 720;
  54. //把新的节点追加到self.node节点去。self.node,就是脚本挂载的节点
  55. this.node.addChild(node);
  56. return node;
  57. },
  58. update (dt)
  59. {
  60. if(this.PlayerNode.x>this.BGArr[1].x)
  61. {
  62. this.BGArr.push(this.createMap());
  63. this.BGArr.splice(0, 1);
  64. }
  65. },
  66. });