123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import { Component, game, Game, ResolutionPolicy, screen, Size, UITransform, view, _decorator } from "cc";
- import { AudioManager } from './audio/AudioManager';
- import { Audio_Conf } from "./config/AudioConf";
- import { FrameworkConf } from "./config/FrameworkConf";
- import { Layer_Conf } from "./config/LayerConf";
- import { Framework } from './Framework';
- import { LayerManager } from "./layer/LayerManager";
- import { TimeManager } from "./time/TimeManager";
- import { TipsManager } from "./tips/TipsManager";
- const { ccclass, requireComponent, property } = _decorator;
- @ccclass('Root')
- @requireComponent(UITransform)
- export class Root extends Component {
- private _transform: UITransform = null;
- private _portrait_size: Size = null;
- private _landscape_szie: Size = null!;
- onLoad() {
- Framework.storage.init(FrameworkConf.storage_key, FrameworkConf.storage_iv);
- this._transform = this.node.getComponent(UITransform);
- if (view.getDesignResolutionSize().width > view.getDesignResolutionSize().height) {
- this._landscape_szie = view.getDesignResolutionSize();
- this._portrait_size = new Size(this._landscape_szie.height, this._landscape_szie.width);
- } else {
- this._portrait_size = view.getDesignResolutionSize();
- this._landscape_szie = new Size(this._portrait_size.height, this._portrait_size.width);
- }
- Framework.time = new TimeManager(this);
- Framework.audio = AudioManager.instance;
- Framework.audio.init(Audio_Conf);
- Framework.layer = new LayerManager(this.node, Layer_Conf);
- Framework.tips = new TipsManager(this.node);
- game.on(Game.EVENT_SHOW, () => {
- Framework.event.fireEvent(FrameworkConf.Event.GAME_SHOW);
- console.log("Game.EVENT_SHOW")
- });
- game.on(Game.EVENT_HIDE, () => {
- Framework.event.fireEvent(FrameworkConf.Event.GAME_HIDE);
- console.log("Game.EVENT_HIDE")
- });
- screen.on("window-resize",()=>{
- console.log("window-resize")
- this.resize();
- Framework.event.fireEvent(FrameworkConf.Event.GAME_RESIZE);
- })
- document.addEventListener('visibilitychange', function() {
- if (document.hidden) {
- console.log('用户已经切换到后台');
- } else {
- console.log('用户已经切换回前台');
- }
- });
- // view.setResizeCallback(() => {
- // this.resize();
- // Framework.event.fireEvent(FrameworkConf.Event.GAME_RESIZE);
- // });
- this.resize();
- console.log("Framework初始化完成");
- Framework.event.fireEvent(FrameworkConf.Event.INIT_FINISH);
- }
- //屏幕适配
- resize() {
- let dr = (view.getDesignResolutionSize().width > view.getDesignResolutionSize().height) ? this._landscape_szie : this._portrait_size;
- let s = screen.windowSize;
- let rw = s.width;
- let rh = s.height;
- let finalW = rw;
- let finalH = rh;
- if ((rw / rh) > (dr.width / dr.height)) {
- finalH = dr.height;
- finalW = finalH * rw / rh;
- } else {
- finalW = dr.width;
- finalH = finalW * rh / rw;
- }
- view.setDesignResolutionSize(finalW, finalH, ResolutionPolicy.UNKNOWN);
- this._transform!.width = finalW;
- this._transform!.height = finalH;
- }
- }
|