更新相机强制刷新矩阵
This commit is contained in:
@@ -59,14 +59,6 @@ class Main extends eui.UILayer {
|
||||
|
||||
private updateFrame(evt: egret.Event){
|
||||
Main.emitter.emit(CoreEmitterType.Update, evt);
|
||||
let activeScene = SceneManager.getActiveScene();
|
||||
if (activeScene){
|
||||
let player = activeScene.findEntity("player");
|
||||
if (player){
|
||||
let mover = player.getComponent<Mover>(Mover);
|
||||
mover.move(new Vector2(0, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async runGame() {
|
||||
@@ -109,15 +101,15 @@ class Main extends eui.UILayer {
|
||||
this.addChild(image);
|
||||
let scene = SceneManager.createScene("main", new MainScene(this)).setActive();
|
||||
let player = scene.createEntity("player");
|
||||
player.addComponent(new SpriteRenderer()).setSprite(image)
|
||||
player.addComponent(new SpriteRenderer()).setSprite(image);
|
||||
player.addComponent(new SpawnComponent(EnemyType.worm));
|
||||
player.addComponent(new BoxCollider()).setSize(100, 100).isTrigger = true;
|
||||
player.addComponent(new Mover());
|
||||
player.position = new Vector2(100, 100);
|
||||
player.addComponent(new PlayerController());
|
||||
|
||||
let player2 = scene.createEntity("player2");
|
||||
player2.addComponent(new BoxCollider()).setSize(99, 99);
|
||||
|
||||
scene.camera.setPosition(new Vector2(-200, -200));
|
||||
|
||||
// Main.emitter.addObserver(CoreEmitterType.Update, ()=>{
|
||||
// console.log("update emitter");
|
||||
// });
|
||||
|
||||
29
demo/src/game/PlayerController.ts
Normal file
29
demo/src/game/PlayerController.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
class PlayerController extends Component {
|
||||
private down: boolean = false;
|
||||
private touchPoint: Vector2 = Vector2.zero;
|
||||
|
||||
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.down){
|
||||
let camera = SceneManager.getActiveScene().camera;
|
||||
let worldVec = camera.screenToWorldPoint(this.touchPoint);
|
||||
console.log(worldVec, camera.transform.position);
|
||||
camera.transform.position = Vector2.lerp(camera.transform.position, worldVec, Time.deltaTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ class SpawnComponent extends Component implements ITriggerListener {
|
||||
}
|
||||
|
||||
public update() {
|
||||
console.log("update");
|
||||
// console.log("update");
|
||||
}
|
||||
|
||||
public onTriggerEnter(other: Collider, local: Collider){
|
||||
|
||||
Reference in New Issue
Block a user