Commit ff302404 authored by wildfirecode13's avatar wildfirecode13

init

parent 8058a6ae
import Vector2 from "./Vector2"; import Vector2 from "./Vector2";
export default class Movable extends FYGE.Sprite { export default class Movable extends FYGE.Sprite {
getCanRemove() {
return true;
}
private _velocity: Vector2; private _velocity: Vector2;
set velocity(val: Vector2) { this._velocity = val } set velocity(val: Vector2) { this._velocity = val }
......
...@@ -78,7 +78,8 @@ export default class MovableManager extends FYGE.EventDispatcher { ...@@ -78,7 +78,8 @@ export default class MovableManager extends FYGE.EventDispatcher {
return x0 < x1 && y0 < y1; return x0 < x1 && y0 < y1;
} }
private calcCanRemove(item: FYGE.DisplayObject) { private calcCanRemove(item: Movable) {
if (!item.getCanRemove()) return;
if (item.y > 1624) return true; if (item.y > 1624) return true;
if (item.y < -item.height) return true; if (item.y < -item.height) return true;
if (item.x > 750) return true; if (item.x > 750) return true;
......
import Movable from "../lib/Movable";
import MovableManager from "../lib/MovableManager";
import Vector2 from "../lib/Vector2";
class BackgroundItem extends Movable {
constructor() {
super();
this.texture = FYGE.Texture.fromUrl('//yun.duiba.com.cn/aurora/assets/bd7b3b10169265123e52d02acf8739db5ff59b3d.png');
this.velocity = new Vector2(0, 10)
}
getCanRemove() { return false }
}
const height = 1624;
export default class Background {
constructor(stage: FYGE.Stage, movableManager: MovableManager) {
var bg = new BackgroundItem();
var bg2 = new BackgroundItem();
movableManager.add(bg);
movableManager.add(bg2);
stage.addChild(bg);
stage.addChild(bg2);
bg.x = 0;
bg2.y = height;
stage.addEventListener(FYGE.Event.ENTER_FRAME, () => {
if (bg.y > height) {
bg.y = bg2.y - height;
}
if (bg2.y > height) {
bg2.y = bg.y - height;
}
});
}
}
\ No newline at end of file
import DragDropManager from "../dragdrop/DragDropManager"; import DragDropManager from "../dragdrop/DragDropManager";
import MovableManager from "../lib/MovableManager"; import MovableManager from "../lib/MovableManager";
import Background from "./Background";
import EnemyFactory from "./EnemyFactory"; import EnemyFactory from "./EnemyFactory";
import Hero from "./Hero"; import Hero from "./Hero";
...@@ -8,6 +9,8 @@ export function addGame(stage: FYGE.Stage) { ...@@ -8,6 +9,8 @@ export function addGame(stage: FYGE.Stage) {
const movableManager = new MovableManager(stage);//创建管理器 const movableManager = new MovableManager(stage);//创建管理器
const dragDropManager = new DragDropManager(); const dragDropManager = new DragDropManager();
const background = new Background(stage, movableManager);
const hero = stage.addChild(new Hero(movableManager)); const hero = stage.addChild(new Hero(movableManager));
hero.position.set(300, 1000); hero.position.set(300, 1000);
...@@ -22,4 +25,6 @@ export function addGame(stage: FYGE.Stage) { ...@@ -22,4 +25,6 @@ export function addGame(stage: FYGE.Stage) {
dragDropManager.remove(hero); dragDropManager.remove(hero);
} }
movableManager.addEventListener('gameover', onGamOver); movableManager.addEventListener('gameover', onGamOver);
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment