有没有办法让spriteframe选择的图片尺寸去适应节点高度

  • Creator 版本: 2.4.5

想在一个固定宽高的节点里面动态加载图片,然后图片可以去适应节点的高度进行缩放,例如节点的宽高为(500,500),图片是(400,700),然后就可以按比例把图片的高度适应到500。

我尝试用两个节点,父节点设定尺寸,然后子节点设定widget上下为0,这样高度压缩了,但是宽度仍然是图片原始的宽度。

请教大佬们,有没有比写一个方法去换算然后设置更简便的方法。

不写公式无解。

唉,好吧,那就写个换算方法了,多谢大佬

对于尺寸不确定的图片而言,只能写代码,查找宽高哪个长,按照长边等比缩放到500

谢谢,老实写代码去

Size Mode选CUSTOM,然后就可以设置节点宽高了

审题要仔细

image

const { ccclass, property } = cc._decorator;

/**

  • 图片限制尺寸

  • @author chenkai 2021.6.24
    */
    @ccclass
    export default class ImgFixedSize extends cc.Component {

    public get fixedSize(){
    return this._fixedSize;
    }

    @property({type:cc.Integer, tooltip:“固定尺寸”})
    public set fixedSize(value){
    this._fixedSize = value;
    this.onSizeChanged();
    }

    /**固定尺寸 */
    private _fixedSize:number = 0;

    onLoad() {
    this.node.on(cc.Node.EventType.SIZE_CHANGED, this.onSizeChanged, this);
    this.onSizeChanged();
    }

    /**当尺寸变化时,重置node节点大小 */
    onSizeChanged() {
    var width = this.node.width;
    var height = this.node.height;
    var max = Math.max(width, height);
    this.node.scale = this.fixedSize / max;
    }
    }

谢谢大佬帮忙

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。