新增input类 用于管理触摸点信息
This commit is contained in:
@@ -102,14 +102,17 @@ class Main extends eui.UILayer {
|
||||
let player = scene.createEntity("player");
|
||||
player.addComponent(new SpriteRenderer()).setSprite(sprite).setColor(0xFF0000);
|
||||
player.addComponent(new SpawnComponent(EnemyType.worm));
|
||||
player.addComponent(new Mover());
|
||||
player.addComponent(new PlayerController());
|
||||
player.addComponent(new FollowCamera(player));
|
||||
player.addComponent(new BoxCollider());
|
||||
|
||||
for (let i = 0; i < 20; i ++){
|
||||
let sprite = new Sprite(RES.getRes("checkbox_select_disabled_png"));
|
||||
let player2 = scene.createEntity("player2");
|
||||
player2.addComponent(new SpriteRenderer()).setSprite(sprite);
|
||||
player2.transform.position = new Vector2(Math.random() * 100 * i, Math.random() * 100 * i);
|
||||
player2.addComponent(new BoxCollider());
|
||||
}
|
||||
|
||||
// Main.emitter.addObserver(CoreEmitterType.Update, ()=>{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
class PlayerController extends Component {
|
||||
private down: boolean = false;
|
||||
private touchPoint: Vector2 = Vector2.zero;
|
||||
private mover: Mover;
|
||||
|
||||
public onAddedToEntity(){
|
||||
this.entity.scene.stage.addEventListener(egret.TouchEvent.TOUCH_BEGIN, this.touchBegin, this);
|
||||
@@ -19,10 +20,17 @@ class PlayerController extends Component {
|
||||
}
|
||||
|
||||
public update(){
|
||||
if (!this.mover)
|
||||
this.mover = this.entity.getComponent<Mover>(Mover);
|
||||
|
||||
if (!this.mover)
|
||||
return;
|
||||
|
||||
if (this.down){
|
||||
let camera = SceneManager.getActiveScene().camera;
|
||||
let worldVec = camera.screenToWorldPoint(this.touchPoint);
|
||||
this.entity.position = Vector2.lerp(this.entity.position, worldVec, Time.deltaTime);
|
||||
this.mover.move(Input.touchPositionDelta);
|
||||
console.log(Input.touchPositionDelta);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user