SceneAdapterDemo/assets/Script/SceneAdapter.ts

29 lines
810 B
TypeScript
Raw Normal View History

2023-07-06 04:02:39 +00:00
const { ccclass, menu } = cc._decorator;
@ccclass
@menu('Comp/SceneAdapter')
export default class SceneAdapter extends cc.Component {
protected onLoad() {
this.resize();
cc.view.setResizeCallback(this.resize.bind(this));
}
private resize() {
let node = this.node;
if (cc.sys.isMobile) {
node.width = cc.winSize.width;
node.height = cc.winSize.height;
} else {
if (cc.winSize.width / cc.winSize.height > node.width / node.height) {
node.scale = cc.winSize.height / node.height;
} else {
node.scale = cc.winSize.width / node.width;
}
}
2023-07-07 03:05:08 +00:00
if (!cc.sys.isMobile && !node.getComponent(cc.Mask)) {
node.addComponent(cc.Mask);
}
2023-07-06 04:02:39 +00:00
}
}