PIXI Controls: Safe area in persentage
This commit is contained in:
parent
c1625397fc
commit
d70c09e713
1 changed files with 18 additions and 15 deletions
|
@ -285,8 +285,11 @@ ONSControls.updateButtons = function() {
|
||||||
// * Clamp to safe area
|
// * Clamp to safe area
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
ONSControls.toSafeArea = function(position, element) {
|
ONSControls.toSafeArea = function(position, element) {
|
||||||
let safeAreaX = ConfigManager.ONSConfig.safeArea + element.width / 2;
|
let sx = ONSControls._controlsCanvas.vh(0.032);
|
||||||
let safeAreaY = ConfigManager.ONSConfig.safeArea + element.height / 2;
|
let sy = ONSControls._controlsCanvas.vh(0.024);
|
||||||
|
let n = ConfigManager.ONSConfig.safeArea;
|
||||||
|
let safeAreaX = 10 * sx * Math.abs(n - 1) + sx + element.width / 2;
|
||||||
|
let safeAreaY = 10 * sy * Math.abs(n - 1) + sy + element.height / 2;
|
||||||
position.x = position.x.clamp(safeAreaX, this._controlsCanvas.screen.width - safeAreaX);
|
position.x = position.x.clamp(safeAreaX, this._controlsCanvas.screen.width - safeAreaX);
|
||||||
position.y = position.y.clamp(safeAreaY, this._controlsCanvas.screen.height - safeAreaY);
|
position.y = position.y.clamp(safeAreaY, this._controlsCanvas.screen.height - safeAreaY);
|
||||||
return position;
|
return position;
|
||||||
|
@ -569,22 +572,22 @@ ConfigManager.ONSConfig ||= {};
|
||||||
ConfigManager.ONSConfig.customPos ||= false;
|
ConfigManager.ONSConfig.customPos ||= false;
|
||||||
ConfigManager.ONSConfig.buttonsScale ||= this.options.buttonsScale;
|
ConfigManager.ONSConfig.buttonsScale ||= this.options.buttonsScale;
|
||||||
ConfigManager.ONSConfig.buttonsOpacity ||= this.options.buttonsOpacity;
|
ConfigManager.ONSConfig.buttonsOpacity ||= this.options.buttonsOpacity;
|
||||||
ConfigManager.ONSConfig.safeArea ||= ONSControls._controlsCanvas.vh(0.032);
|
ConfigManager.ONSConfig.safeArea ||= 1;
|
||||||
ConfigManager.ONSConfig.buttonsSize ||= ONSControls._controlsCanvas.vh(0.18) * ConfigManager.ONSConfig.buttonsScale;
|
ConfigManager.ONSConfig.buttonsSize ||= ONSControls._controlsCanvas.vh(0.18) * this.ONSConfig.buttonsScale;
|
||||||
ConfigManager.ONSConfig.buttonsX ||= ONSControls._controlsCanvas.screen.width - this.ONSConfig.buttonsSize;
|
ConfigManager.ONSConfig.buttonsX ||= ONSControls._controlsCanvas.screen.width - this.ONSConfig.buttonsSize;
|
||||||
ConfigManager.ONSConfig.buttonsY ||= ONSControls._controlsCanvas.screen.height - this.ONSConfig.buttonsSize;
|
ConfigManager.ONSConfig.buttonsY ||= ONSControls._controlsCanvas.screen.height - this.ONSConfig.buttonsSize;
|
||||||
ConfigManager.ONSConfig.dPadSize ||= ONSControls._controlsCanvas.vh(0.36) * ConfigManager.ONSConfig.buttonsScale;
|
ConfigManager.ONSConfig.dPadSize ||= ONSControls._controlsCanvas.vh(0.36) * this.ONSConfig.buttonsScale;
|
||||||
ConfigManager.ONSConfig.dPadX ||= this.ONSConfig.dPadSize / 2;
|
ConfigManager.ONSConfig.dPadX ||= this.ONSConfig.dPadSize / 2;
|
||||||
ConfigManager.ONSConfig.dPadY ||= ONSControls._controlsCanvas.screen.height - this.ONSConfig.dPadSize / 2;
|
ConfigManager.ONSConfig.dPadY ||= ONSControls._controlsCanvas.screen.height - this.ONSConfig.dPadSize / 2;
|
||||||
ConfigManager.ONSConfig.bumpersOffsetX ||= 16;
|
ConfigManager.ONSConfig.bumpersOffsetX ||= 16;
|
||||||
ConfigManager.ONSConfig.bumpersOffsetY ||= ONSControls._controlsCanvas.vh(0.30);
|
ConfigManager.ONSConfig.bumpersOffsetY ||= ONSControls._controlsCanvas.vh(0.30);
|
||||||
ConfigManager.ONSConfig.bumpersWidth ||= ONSControls._controlsCanvas.vh(0.188) * ConfigManager.ONSConfig.buttonsScale;
|
ConfigManager.ONSConfig.bumpersWidth ||= ONSControls._controlsCanvas.vh(0.188) * this.ONSConfig.buttonsScale;
|
||||||
ConfigManager.ONSConfig.bumpersHeight ||= ONSControls._controlsCanvas.vh(0.12) * ConfigManager.ONSConfig.buttonsScale;
|
ConfigManager.ONSConfig.bumpersHeight ||= ONSControls._controlsCanvas.vh(0.12) * this.ONSConfig.buttonsScale;
|
||||||
ConfigManager.ONSConfig.LBX ||= this.ONSConfig.bumpersOffsetX + this.ONSConfig.bumpersWidth / 2;
|
ConfigManager.ONSConfig.LBX ||= this.ONSConfig.bumpersOffsetX + this.ONSConfig.bumpersWidth / 2;
|
||||||
ConfigManager.ONSConfig.LBY ||= this.ONSConfig.bumpersOffsetY + this.ONSConfig.bumpersHeight / 2;
|
ConfigManager.ONSConfig.LBY ||= this.ONSConfig.bumpersOffsetY + this.ONSConfig.bumpersHeight / 2;
|
||||||
ConfigManager.ONSConfig.RBX ||= this.ONSConfig.bumpersOffsetX + this.ONSConfig.bumpersWidth / 2;
|
ConfigManager.ONSConfig.RBX ||= this.ONSConfig.bumpersOffsetX + this.ONSConfig.bumpersWidth / 2;
|
||||||
ConfigManager.ONSConfig.RBY ||= this.ONSConfig.bumpersOffsetY + this.ONSConfig.bumpersHeight / 2;
|
ConfigManager.ONSConfig.RBY ||= this.ONSConfig.bumpersOffsetY + this.ONSConfig.bumpersHeight / 2;
|
||||||
ConfigManager.ONSConfig.additonalSize ||= ONSControls._controlsCanvas.vh(0.06) * ConfigManager.ONSConfig.buttonsScale;
|
ConfigManager.ONSConfig.additonalSize ||= ONSControls._controlsCanvas.vh(0.06) * this.ONSConfig.buttonsScale;
|
||||||
ConfigManager.ONSConfig.showX ||= ONSControls._controlsCanvas.screen.width - this.ONSConfig.additonalSize / 2;
|
ConfigManager.ONSConfig.showX ||= ONSControls._controlsCanvas.screen.width - this.ONSConfig.additonalSize / 2;
|
||||||
ConfigManager.ONSConfig.showY ||= ONSControls._controlsCanvas.screen.height - this.ONSConfig.additonalSize / 2;
|
ConfigManager.ONSConfig.showY ||= ONSControls._controlsCanvas.screen.height - this.ONSConfig.additonalSize / 2;
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@ -601,7 +604,7 @@ ConfigManager.restoreDefaultConfig = function () {
|
||||||
this.ONSConfig.customPos = false;
|
this.ONSConfig.customPos = false;
|
||||||
this.ONSConfig.buttonsScale = ONSControls.options.buttonsScale;
|
this.ONSConfig.buttonsScale = ONSControls.options.buttonsScale;
|
||||||
this.ONSConfig.buttonsOpacity = ONSControls.options.buttonsOpacity;
|
this.ONSConfig.buttonsOpacity = ONSControls.options.buttonsOpacity;
|
||||||
this.ONSConfig.safeArea = ONSControls._controlsCanvas.vh(0.032);
|
this.ONSConfig.safeArea = 1;
|
||||||
this.ONSConfig.buttonsSize = ONSControls._controlsCanvas.vh(0.18) * this.ONSConfig.buttonsScale;
|
this.ONSConfig.buttonsSize = ONSControls._controlsCanvas.vh(0.18) * this.ONSConfig.buttonsScale;
|
||||||
this.ONSConfig.buttonsX = ONSControls._controlsCanvas.screen.width - this.ONSConfig.buttonsSize;
|
this.ONSConfig.buttonsX = ONSControls._controlsCanvas.screen.width - this.ONSConfig.buttonsSize;
|
||||||
this.ONSConfig.buttonsY = ONSControls._controlsCanvas.screen.height - this.ONSConfig.buttonsSize;
|
this.ONSConfig.buttonsY = ONSControls._controlsCanvas.screen.height - this.ONSConfig.buttonsSize;
|
||||||
|
@ -833,9 +836,9 @@ Window_OmoMenuOptionsONSControls.prototype.makeOptionsList = function () {
|
||||||
// Get Text
|
// Get Text
|
||||||
//var text = LanguageManager.getPluginText('optionsMenu', 'audio');
|
//var text = LanguageManager.getPluginText('optionsMenu', 'audio');
|
||||||
var text = {
|
var text = {
|
||||||
buttonsScale: {help: "Изменить размер наэкранных кнопок управления.", text: "РАЗМЕР УПРАВЛЕНИЯ", isBar: true, persent: true, maxValue: 500},
|
buttonsScale: {help: "Изменить размер наэкранных кнопок управления.", text: "РАЗМЕР УПРАВЛЕНИЯ", isBar: true, persent: true, minValue: 0, maxValue: 500},
|
||||||
buttonsOpacity: {help: "Изменить прозрачность наэкранных кнопок управления.", text: "ПРОЗРАЧНОСТЬ УПРАВЛЕНИЯ", isBar: true, persent: true, maxValue: 100},
|
buttonsOpacity: {help: "Изменить прозрачность наэкранных кнопок управления.", text: "ПРОЗРАЧНОСТЬ УПРАВЛЕНИЯ", isBar: true, persent: true, minValue: 0, maxValue: 100},
|
||||||
safeArea: {help: "Изменить размер безопасной области для управления.", text: "БЕЗОПАСНАЯ ОБЛАСТЬ", isBar: true, persent: false, maxValue: 500},
|
safeArea: {help: "Изменить размер безопасной области для управления.", text: "БЕЗОПАСНАЯ ОБЛАСТЬ", isBar: true, persent: true, minValue: 10, maxValue: 100},
|
||||||
editMenu: {help: "Нажмите кнопку влево или вправо, чтобы открыть меню.", text: "ОТКРЫТЬ МЕНЮ НАСТРОЕК", isBar: false}
|
editMenu: {help: "Нажмите кнопку влево или вправо, чтобы открыть меню.", text: "ОТКРЫТЬ МЕНЮ НАСТРОЕК", isBar: false}
|
||||||
}
|
}
|
||||||
// Get Config
|
// Get Config
|
||||||
|
@ -853,9 +856,9 @@ Window_OmoMenuOptionsONSControls.prototype.makeOptionsList = function () {
|
||||||
// Add Option
|
// Add Option
|
||||||
if (data.isBar) {
|
if (data.isBar) {
|
||||||
if (data.persent) {
|
if (data.persent) {
|
||||||
this._optionsList.push({ header: data.text + ':', config: name, option: ConfigManager.ONSConfig[name] * 100, helpText: data.help, isBar: data.isBar, persent: data.persent, maxValue: data.maxValue });
|
this._optionsList.push({ header: data.text + ':', config: name, option: ConfigManager.ONSConfig[name] * 100, helpText: data.help, isBar: data.isBar, persent: data.persent, minValue: data.minValue, maxValue: data.maxValue });
|
||||||
} else {
|
} else {
|
||||||
this._optionsList.push({ header: data.text + ':', config: name, option: ConfigManager.ONSConfig[name], helpText: data.help, isBar: data.isBar, persent: data.persent, maxValue: data.maxValue });
|
this._optionsList.push({ header: data.text + ':', config: name, option: ConfigManager.ONSConfig[name], helpText: data.help, isBar: data.isBar, persent: data.persent, minValue: data.minValue, maxValue: data.maxValue });
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this._optionsList.push({ header: data.text, config: name, helpText: data.help, isBar: data.isBar});
|
this._optionsList.push({ header: data.text, config: name, helpText: data.help, isBar: data.isBar});
|
||||||
|
@ -921,7 +924,7 @@ Window_OmoMenuOptionsONSControls.prototype.cursorLeft = function (wrap) {
|
||||||
// Get Data
|
// Get Data
|
||||||
if (data) {
|
if (data) {
|
||||||
var rate = Input.isLongPressed('left') ? 5 : 5
|
var rate = Input.isLongPressed('left') ? 5 : 5
|
||||||
data.option = Math.max(data.option - rate, 0);
|
data.option = Math.max(data.option - rate, data.minValue);
|
||||||
if (data.isBar) {
|
if (data.isBar) {
|
||||||
this.updateOptionBar(this.index(), data.option, data.persent);
|
this.updateOptionBar(this.index(), data.option, data.persent);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue