Files
esengine/demo/src/game/PlayerController.ts

56 lines
1.8 KiB
TypeScript
Raw Normal View History

2020-06-19 00:38:37 +08:00
class PlayerController extends Component {
private down: boolean = false;
private touchPoint: Vector2 = Vector2.zero;
private mover: Mover;
2020-07-01 16:55:10 +08:00
private spriteRenderer: SpriteRenderer;
2020-06-19 00:38:37 +08:00
public onAddedToEntity(){
this.entity.scene.stage.addEventListener(egret.TouchEvent.TOUCH_BEGIN, this.touchBegin, this);
this.entity.scene.stage.addEventListener(egret.TouchEvent.TOUCH_MOVE, this.touchBegin, this);
this.entity.scene.stage.addEventListener(egret.TouchEvent.TOUCH_END, this.touchEnd, this);
}
private touchBegin(evt: egret.TouchEvent){
this.down = true;
this.touchPoint = new Vector2(evt.stageX, evt.stageY);
}
private touchEnd(evt: egret.TouchEvent){
this.down = false;
this.touchPoint = new Vector2(evt.stageX, evt.stageY);
}
public update(){
if (!this.mover)
this.mover = this.entity.getComponent<Mover>(Mover);
2020-07-01 16:55:10 +08:00
if (!this.spriteRenderer)
this.spriteRenderer = this.entity.getComponent<SpriteRenderer>(SpriteRenderer);
if (!this.mover)
return;
2020-07-01 16:55:10 +08:00
if (!SpriteRenderer)
return;
2020-06-19 00:38:37 +08:00
if (this.down){
2020-07-08 15:15:15 +08:00
// let camera = SceneManager.scene.camera;
// let moveLeft: number = 0;
// let moveRight: number = 0;
// let speed = 100;
// let worldPos = Input.touchPosition;
// if (worldPos.x < this.spriteRenderer.x){
// moveLeft = -1;
// } else if(worldPos.x > this.spriteRenderer.x){
// moveLeft = 1;
// }
// if (worldPos.y < this.spriteRenderer.y){
// moveRight = -1;
// } else if(worldPos.y > this.spriteRenderer.y){
// moveRight = 1;
// }
this.mover.move(new Vector2(-1, -1));
2020-06-19 00:38:37 +08:00
}
}
}