78 lines
2.0 KiB
TypeScript
78 lines
2.0 KiB
TypeScript
import { _decorator, Component, Node, input, Input, EventTouch, Animation } from 'cc';
|
|
import { gameManager } from './gameManager';
|
|
const { ccclass, property } = _decorator;
|
|
|
|
@ccclass('UIMain')
|
|
export class UIMain extends Component {
|
|
|
|
@property(gameManager)
|
|
public gm:gameManager = null;
|
|
|
|
@property(Node)
|
|
public bg1:Node = null;
|
|
|
|
@property(Node)
|
|
public bg2:Node = null;
|
|
|
|
@property(Node)
|
|
public plane:Node = null;
|
|
|
|
//背景滚动速度
|
|
public bg_sd:number = 1;
|
|
|
|
//背景滚动最大距离
|
|
public bg_max:number = 10;
|
|
|
|
//plane移动速度
|
|
@property
|
|
public p_speed:number = 1;
|
|
|
|
//plane移动动画
|
|
@property(Animation)
|
|
public p_an:Animation = null;
|
|
|
|
start() {
|
|
|
|
//背景
|
|
this.bg1.setPosition(0,0,0);
|
|
this.bg2.setPosition(0,0,-this.bg_max);
|
|
|
|
//plane
|
|
this.node.on(Input.EventType.TOUCH_MOVE,this.onmove,this);
|
|
this.node.on(Input.EventType.TOUCH_START,this.onmoves,this);
|
|
this.node.on(Input.EventType.TOUCH_END,this.onmovee,this);
|
|
|
|
|
|
}
|
|
|
|
update(deltaTime: number) {
|
|
|
|
//背景
|
|
this.bg1.setPosition(0,0,this.bg1.position.z+deltaTime*this.bg_sd);
|
|
this.bg2.setPosition(0,0,this.bg2.position.z+deltaTime*this.bg_sd);
|
|
if(this.bg1.position.z>this.bg_max) this.bg1.setPosition(0,0,this.bg2.position.z-this.bg_max);
|
|
else if(this.bg2.position.z>this.bg_max) this.bg2.setPosition(0,0,this.bg1.position.z-this.bg_max);
|
|
|
|
|
|
}
|
|
|
|
onmove(event:EventTouch){
|
|
const delat = event.touch.getDelta();
|
|
const pos = this.plane.position;
|
|
this.plane.setPosition(pos.x + 0.01 * this.p_speed * delat.x, pos.y, pos.z - 0.01 * this.p_speed * delat.y);
|
|
}
|
|
|
|
onmoves(event:EventTouch){
|
|
this.p_an.crossFade('p_an', .5);
|
|
this.gm.isTouch(true);
|
|
//this.plane.setPosition(event.touch.getLocationX(),this.plane.position.y,event.touch.getLocationY());
|
|
}
|
|
|
|
onmovee(event:EventTouch){
|
|
this.p_an.stop();
|
|
this.gm.isTouch(false);
|
|
}
|
|
|
|
}
|
|
|