mirror of
https://github.com/zhitaocai/CocosCreator-Multi-resolution-Adapter.git
synced 2026-06-20 12:42:23 +08:00
调整项目结构,改为背景适配,内容适配,内容适配(支持动画)三个场景
This commit is contained in:
28
assets/Script/MultiResolution/CloseToBorderComponent.ts
Normal file
28
assets/Script/MultiResolution/CloseToBorderComponent.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import MultiResolutionCompat from "./MultiResoultionCompat";
|
||||
|
||||
const { ccclass, property } = cc._decorator;
|
||||
|
||||
@ccclass
|
||||
export default class CloseToBorderComponent extends cc.Component {
|
||||
@property()
|
||||
isCloseToBottom: boolean = false;
|
||||
|
||||
@property()
|
||||
closeToBottonPx: number = 0;
|
||||
|
||||
onLoad() {
|
||||
this.node.position = this.getShowAllModeNodePositionCloseToBottom(this.node.position);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算当前游戏设计分辨率在ShowAll模式适配后,传入来的原始坐标在ShowAll模式下的「贴近屏幕底部」实际坐标值
|
||||
*/
|
||||
getShowAllModeNodePositionCloseToBottom(nodePosInDesign: cc.Vec2): cc.Vec2 {
|
||||
let srcScaleForShowAll = MultiResolutionCompat.getShowAllModeScale();
|
||||
let bottomBorderHeightInCanvas = MultiResolutionCompat.getShowAllModeVerticalBorderHeight() / 2;
|
||||
let srcNodePosYInCanvas = nodePosInDesign.y * srcScaleForShowAll;
|
||||
let finalNodePosYInCanvas = srcNodePosYInCanvas - bottomBorderHeightInCanvas;
|
||||
let nodePosYInDesign = finalNodePosYInCanvas / srcScaleForShowAll;
|
||||
return cc.v2(nodePosInDesign.x, nodePosYInDesign);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user