縮放的邏輯稍微有點(diǎn)瑕疵
onScale 中,原代碼是。
//小于最大,并且有放大趨勢(shì) if(scale?<?maxScale?&&?scaleFactory?>?1){ ???……? } //大于最小,并且有縮小趨勢(shì) if(scale?>?minScale?&&?scaleFactory?<?1){ ???…… }
因?yàn)槎际?float,可能會(huì)出現(xiàn)乘出來的結(jié)果,剛好大于最大或者小于最小,剛好跳過 if 的控制范圍。
如果只判斷是有放大趨勢(shì)還是縮小趨勢(shì),在內(nèi)部進(jìn)行乘積是否大于最大或者小于最小的判斷就可以了。
反正不超過縮放上下限的時(shí)候不影響,超過了就會(huì)重置。
//小于最大,并且有放大趨勢(shì) if(scaleFactory?>?1){ ???……? } //大于最小,并且有縮小趨勢(shì) if(scaleFactory?<?1){ ???…… }
2020-07-08
說得好,專業(yè) 啊