赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 4 |
经验 | 0 |
最后登录 | 2019-8-23 |
在线时间 | 53 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 423
- 在线时间
- 53 小时
- 注册时间
- 2018-10-4
- 帖子
- 15
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
这是我找到的脚本 在原分辨率下运行正常,但是我游戏的分辨率改成了1366X768 人物很多时候在地图上都是固定朝向的,只有当把鼠标移动到很边上的地方才改变朝向,固定朝向的时候按方向键朝向都不会变。。。
这应该是个BUG 但是我又不想改回原来的分辨率 以及如何添加一个开关,使这个脚本只在战斗时生效?我的游戏是地图上直接即时战斗 使用这个脚本的主要目的是优化战斗体验,比如开枪的时候人物直接跟随鼠标转向
//=============================================================================
// ContinuumFaceMouse.js
//=============================================================================
/*:
* @plugindesc Overwrites some Game_player and Input functions
* @author Continuumg
*
* @param 8-Direction Movement
* @desc true/false
* @default false
*
* @help
*
* Plug and Play
*
*/
var parameters = PluginManager.parameters('ContinuumFaceMouse');
var Continuum = Continuum || {};
Continuum.Snippets = Continuum.Snippets || {};
Continuum.Snippets.FaceMouse = {};
Continuum.Snippets.FaceMouse.eight = parameters['8-Direction Movement'];
(function() {
Game_Character.prototype.getMouseDirection = function() {
var my = $gameMap.canvasToMapX(TouchInput.y)-this.y;
var mx = $gameMap.canvasToMapX(TouchInput.x)-this.x;
var x = 0;
var y = 0;
if (eval(Continuum.Snippets.FaceMouse.eight)) {
if (mx > 0) {
x = 1;
} else if (mx < 0) {
x = -1;
}
if (my > 0) {
y = 1;
} else if (my < 0) {
y = -1;
}
} else {
if (Math.abs(mx) > Math.abs(my)) {
if (mx > 0) {
x = 1
} else if (mx < 0) {
x = -1
}
} else {
if (my > 0) {
y = 1
} else if (my < 0) {
y = -1
}
}
}
if (x !== 0 || y !== 0) {
return 5 - y * 3 + x;
}
return 0;
};
Game_Player.prototype.isDirectionFixed = function() {
return true;
};
Game_Follower.prototype.isDirectionFixed = function() {
return $gamePlayer._directionFix;
};
TouchInput._onMouseMove = function(event) {
var x = Graphics.pageToCanvasX(event.pageX);
var y = Graphics.pageToCanvasY(event.pageY);
this._onMove(x, y);
};
continuumFaceMouse_player_update = Game_Player.prototype.update
Game_Player.prototype.update = function(sceneActive) {
if (sceneActive) {
var d = this.getMouseDirection();
if (d > 0) this._direction = d;
}
continuumFaceMouse_player_update.call(this,sceneActive)
};
})(); |
|