mirror of
https://github.com/JannisX11/blockbench.git
synced 2025-01-30 15:42:42 +08:00
Fix UV editor issue where moving would affect size
This commit is contained in:
parent
45aec4eede
commit
11f992e68e
@ -186,7 +186,7 @@ class UVEditor {
|
|||||||
Undo.initEdit({elements: Cube.selected, uv_only: true})
|
Undo.initEdit({elements: Cube.selected, uv_only: true})
|
||||||
},
|
},
|
||||||
resize: function(event, ui) {
|
resize: function(event, ui) {
|
||||||
scope.save()
|
scope.save(false)
|
||||||
scope.displaySliders()
|
scope.displaySliders()
|
||||||
},
|
},
|
||||||
stop: function(event, ui) {
|
stop: function(event, ui) {
|
||||||
@ -217,12 +217,12 @@ class UVEditor {
|
|||||||
p.left = Math.round(p.left / step_x) * step_x;
|
p.left = Math.round(p.left / step_x) * step_x;
|
||||||
p.top = Math.round(p.top / step_y) * step_y;
|
p.top = Math.round(p.top / step_y) * step_y;
|
||||||
|
|
||||||
scope.save();
|
scope.save(true);
|
||||||
scope.displaySliders();
|
scope.displaySliders();
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
stop: function(event, ui) {
|
stop: function(event, ui) {
|
||||||
scope.save()
|
scope.save(true)
|
||||||
scope.disableAutoUV()
|
scope.disableAutoUV()
|
||||||
Undo.finishEdit('uv_change')
|
Undo.finishEdit('uv_change')
|
||||||
scope.updateDragHandle(ui.position)
|
scope.updateDragHandle(ui.position)
|
||||||
@ -854,7 +854,7 @@ class UVEditor {
|
|||||||
main_uv.loadData()
|
main_uv.loadData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
save() {
|
save(pos_only) {
|
||||||
if (!Modes.edit) return;
|
if (!Modes.edit) return;
|
||||||
var scope = this;
|
var scope = this;
|
||||||
//Save UV from Frame to object
|
//Save UV from Frame to object
|
||||||
@ -887,10 +887,19 @@ class UVEditor {
|
|||||||
if (uvTag[1] > uvTag[3]) {
|
if (uvTag[1] > uvTag[3]) {
|
||||||
top2 = [top, top = top2][0];
|
top2 = [top, top = top2][0];
|
||||||
}
|
}
|
||||||
var uvArr = [left, top, left2, top2]
|
|
||||||
|
|
||||||
Cube.selected.forEach(function(obj) {
|
Cube.selected.forEach(function(obj) {
|
||||||
obj.faces[scope.face].uv = uvArr.slice()
|
let {uv} = obj.faces[scope.face];
|
||||||
|
if (pos_only) {
|
||||||
|
let diff_x = left > left2 ? left2 - uv[2] : left - uv[0];
|
||||||
|
let diff_y = top > top2 ? top2 - uv[3] : top - uv[1];
|
||||||
|
uv[0] += diff_x;
|
||||||
|
uv[1] += diff_y;
|
||||||
|
uv[2] += diff_x;
|
||||||
|
uv[3] += diff_y;
|
||||||
|
} else {
|
||||||
|
uv.replace([left, top, left2, top2])
|
||||||
|
}
|
||||||
Canvas.updateUV(obj)
|
Canvas.updateUV(obj)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user