!!!!可以了!!!!非常感谢大家!!!!! |
搞错了,menuButtonX = Graphics.Width - 48 - 4; 的偏差太大了。 应该是 menuButtonX = Graphics.boxWidth - 48 - 4; 这个,这个偏差小一点。 就是二楼第三行的这个,昨天测试到一半就忘记了。 Graphics.boxWidth - this._menuButton.width - 4; 分别是游戏窗口的宽,菜单栏的宽(在地图场景就是ButtonSet.png最右侧的那个图标,上下两个图标的高是96,一个图标的宽高自然就是48了),减4就是稍微留下一点空间,所以因此知道Y也是有一个4的空间的。 问题就是,Graphics.boxWidth 不完全等于显示的宽度,因为显示的宽度受到分辨率和地图宽度的影响,使用数据库、系统2、进阶设置的画面宽度、界面区域宽度会有一些偏差,使用$gameMap.width()*48也有一点的偏差, 使用screen.width偏差的好像就更多了。 说不定是需要一个数学运算吧,地图的宽度、地图横向的格子数量,分辨率,屏幕大小、游戏显示框的大小、游戏渲染画布的宽度这些东西的值不是同一个,这些东西可能还会相互影响。 比如我习惯地图的格子数量是宽40,高22。40乘以48=1920,22乘以48=1056,这个数字接近于1920*1080这个很常见的台式电脑分辨率,而我的电脑分辨率是2560*1440。 就是说,在全屏的时候虽然可以强制全屏,周围都没有黑边。 但是窗口最大化的时候,旁边是有一点黑边的。 |
if(TouchInput.isPressed ()){} if(Input.isTriggered("menu")){} 另外,我想问一下,上面第一行是检测到按下鼠标的脚本 if(TouchInput.isPressed ()){} 和 if(Input.isTriggered()){} 好像都一样 , 第二行是检测到点击菜单的脚本,单独使用好像都没有问题,一旦让他们两个同时使用,好像就只有一个会起作用。 是不是因为刷新的原因,按下之后有一个响应到了立马就刷新数据了。 还是因为这两个都是检测鼠标左键的原因,检测到了一个就算是完了。 menuButtonX = Graphics.Width - 48 - 4; menuButtonY = 4; if(TouchInput.isPressed ()){ if(TouchInput.x>=menuButtonX && TouchInput.x<=menuButtonX+48 && TouchInput.y>=menuButtonY && TouchInput.y<=menuButtonY+48){ $gameMessage.add("点击到了菜单栏"); }else { $gameMessage.add("没有点击到菜单栏"); } } 虽然有上面这个变通的方法,但是菜单栏覆盖的范围有点偏差(有空的时候再试着调一调),就算是不偏差,我也想用直接到方法。 所以,有谁知道这个方法吗? |
Scene_Map.prototype.createMenuButton = function() { this._menuButton = new Sprite_Button("menu"); this._menuButton.x = Graphics.boxWidth - this._menuButton.width - 4; this._menuButton.y = this.buttonY(); this._menuButton.visible = false; this.addWindow(this._menuButton); }; 上面这段好像是点击菜单的函数, Scene_Map.prototype.callMenu = function() { SoundManager.playOk(); SceneManager.push(Scene_Menu); Window_MenuCommand.initCommandPosition(); $gameTemp.clearDestination(); this._mapNameWindow.hide(); this._waitCount = 2; }; 上面这段是检测到呼叫菜单就要执行什么指令的函数, 下面这段好像是呼叫菜单的函数,这几段都在rmmz_scenes.js这里。说不定可以使用这些函数来写。 Scene_Map.prototype.isMenuCalled = function() { return Input.isTriggered("menu") || TouchInput.isCancelled(); }; |
新场景用 SceneManager.push(Scene_Save); |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2025-5-14 01:22
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.