games/FullFire/assets/scripts/manager/SceneObjectManager .ts

49 lines
1.8 KiB
TypeScript

import Common from "../common/Common";
// Learn TypeScript:
// - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/typescript.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
// - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html
const {ccclass, property} = cc._decorator;
@ccclass
export default class SceneObjectManager extends cc.Component {
@property(cc.Node)
nodeShip: cc.Node = null;
@property(cc.Node)
nodeCloud1: cc.Node = null;
@property(cc.Node)
nodeCloud2: cc.Node = null;
@property(cc.Node)
nodeCloud3: cc.Node = null;
start () {
this.legtRightMove(this.nodeShip,-250,-113,30,50)
this.legtRightMove(this.nodeCloud1,-400,-268,30,50)
this.legtRightMove(this.nodeCloud2,-320,-250,20,60)
this.legtRightMove(this.nodeCloud3,-350,-250,10,70)
}
legtRightMove(moveNode:cc.Node,minSx:number,maxSx:number,minTime:number,maxTime:number){
let startX:number = Common.getRandom(minSx,maxSx)
moveNode.position = new cc.Vec2(startX,moveNode.position.y);
let action = cc.moveTo(Common.getRandom(minTime,maxTime),new cc.Vec2(Common.getRandom(700,900),moveNode.position.y))
moveNode.runAction(cc.repeatForever(cc.sequence(action,cc.callFunc(function(){
moveNode.position = new cc.Vec2(startX,moveNode.position.y);
}.bind(this)))));
}
}