PIXI Controls: Replace safeArea coordinate math to clamp
This commit is contained in:
parent
5c7e12c6d0
commit
11de5727a1
1 changed files with 9 additions and 14 deletions
|
@ -278,17 +278,14 @@ ONSControls.updateButtons = function() {
|
||||||
console.log("ONSControls: Controls updated");
|
console.log("ONSControls: Controls updated");
|
||||||
}
|
}
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// * Check if element in safe area
|
// * Clamp to safe area
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
ONSControls.isSafeArea = function(element, position) {
|
ONSControls.clampSafeArea = function(position, element) {
|
||||||
if (position.x - element.width/2 <= ConfigManager.ONSConfig.safeArea ||
|
let safeAreaX = ConfigManager.ONSConfig.safeArea + element.width / 2;
|
||||||
position.x + element.width/2 >= this._controlsCanvas.screen.width - ConfigManager.ONSConfig.safeArea ||
|
let safeAreaY = ConfigManager.ONSConfig.safeArea + element.height / 2;
|
||||||
position.y - element.width/2 <= ConfigManager.ONSConfig.safeArea ||
|
position.x = position.x.clamp(safeAreaX, this._controlsCanvas.screen.width - safeAreaX);
|
||||||
position.y + element.width/2 >= this._controlsCanvas.screen.height - ConfigManager.ONSConfig.safeArea) {
|
position.y = position.y.clamp(safeAreaY, this._controlsCanvas.screen.height - safeAreaY);
|
||||||
return false;
|
return position;
|
||||||
} else {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
// * Setup controls touch events
|
// * Setup controls touch events
|
||||||
|
@ -382,10 +379,8 @@ ONSControls.setupDragNDrop = function(element) {
|
||||||
}
|
}
|
||||||
var onMove = function(event) {
|
var onMove = function(event) {
|
||||||
if (element) {
|
if (element) {
|
||||||
if (ONSControls.isSafeArea(element, event.data.global)) {
|
element.parent.toLocal(ONSControls.clampSafeArea(event.data.global, element), null, element.position);
|
||||||
element.parent.toLocal(event.data.global, null, element.position);
|
|
||||||
ConfigManager.ONSConfig.customPos = true;
|
ConfigManager.ONSConfig.customPos = true;
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
var onEnd = function(event) {
|
var onEnd = function(event) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue