feat: add builder configuration file
feat: add cocos-service configuration file feat: add device configuration file feat: add engine configuration file feat: add information configuration file feat: add program configuration file feat: add project configuration file feat: add TypeScript configuration file
This commit is contained in:
94
assets/script/game/MainGame.ts
Normal file
94
assets/script/game/MainGame.ts
Normal file
@@ -0,0 +1,94 @@
|
||||
|
||||
import { _decorator, Component, Node, view, macro, v3, Vec3, EventTouch } from 'cc';
|
||||
import { Tools } from '../common/Tools';
|
||||
import { weiSan } from '../common/weiSanTools';
|
||||
import { GameCtrl, GameState } from '../ctrl/GameCtrl';
|
||||
import { EventData, EventManager } from '../manager/EventManager';
|
||||
import { UIManager } from '../manager/UIManager';
|
||||
import { GameModel } from '../model/GameModel';
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('MainGame')
|
||||
export class MainGame extends Component {
|
||||
|
||||
|
||||
/** 屏幕宽度 */
|
||||
gameWidth: number;
|
||||
/** 屏幕高度 */
|
||||
gameHeight: number;
|
||||
|
||||
onLoad() {
|
||||
|
||||
this.gameWidth = view.getVisibleSize().width;
|
||||
this.gameHeight = view.getVisibleSize().height;
|
||||
GameModel._ins.mainGame = this;
|
||||
|
||||
this.addTouchEvents();
|
||||
this.addInitListener();
|
||||
}
|
||||
|
||||
start() {
|
||||
this.initGame();
|
||||
}
|
||||
|
||||
update(deltaTime: number) {
|
||||
// [4]
|
||||
}
|
||||
/** 触摸开始点坐标 */
|
||||
touchStartPos: Vec3;
|
||||
/** 触摸事件 监听 */
|
||||
addTouchEvents(): void {
|
||||
macro.ENABLE_MULTI_TOUCH = false; //是否开起多点触摸
|
||||
|
||||
this.node.on(Node.EventType.TOUCH_START, this.touchStartBack, this);
|
||||
this.node.on(Node.EventType.TOUCH_MOVE, this.touchMoveBack, this);
|
||||
this.node.on(Node.EventType.TOUCH_END, this.touchEndBack, this);
|
||||
};
|
||||
/** 触摸开始 回调 */
|
||||
touchStartBack(touches: EventTouch) {
|
||||
if (!GameCtrl._ins.boolTouch) { return; }
|
||||
this.touchStartPos = Tools.getToNodePosForWorld(v3(touches.getUILocation().x, touches.getUILocation().y), this.node);
|
||||
}
|
||||
/** 触摸移动 回调 */
|
||||
touchMoveBack(touches: EventTouch) {
|
||||
if (!GameCtrl._ins.boolTouch) { return; }
|
||||
}
|
||||
/** 触摸结束 回调 */
|
||||
touchEndBack(touches: EventTouch) {
|
||||
if (!GameCtrl._ins.boolTouch) { return; }
|
||||
console.log("boolTouch");
|
||||
this.gameEnd();
|
||||
}
|
||||
/** 初始化游戏 */
|
||||
initGame() {
|
||||
GameModel._ins.gameScore = 0;
|
||||
GameCtrl._ins.initGame();
|
||||
GameCtrl._ins.boolTouch = true;
|
||||
}
|
||||
/** 开始游戏 */
|
||||
startGame() {
|
||||
}
|
||||
/** 游戏结束 */
|
||||
gameEnd() {
|
||||
if (GameCtrl._ins.gameState == GameState.Over) { return; }
|
||||
GameCtrl._ins.overGame();
|
||||
|
||||
weiSan.log("游戏结束");
|
||||
this.scheduleOnce(() => {
|
||||
UIManager.OpenUI("OverUI");
|
||||
}, 0.5);
|
||||
};
|
||||
|
||||
|
||||
/** 事件 监听 */
|
||||
addInitListener() {
|
||||
EventManager.addListener(EventData.START_GAME, this.startGame.bind(this), this.node);
|
||||
|
||||
}
|
||||
onDestroy() {
|
||||
EventManager.removeListenerForTarget(this.node);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user