仅供参考,不支持战斗画面以外的场景使用。
// RMMV_AnimationScaling_v1_6_2.js /*: @--- 目录 --- @param 缩放比例 @--- 参数 --- @param scaling @parent 缩放比例 @default 25 @desc 调整动画效果在游戏中的贴图比例,大小默认为原图的 25% @--- 说明 --- @help 这家伙很懒,什么都不想说。 */ var MV = MV || {}; var pm = PluginManager.parameters('RMMV_AnimationScaling_v1_6_2'); MV.scaling = Number(pm.scaling); // 自定义函数:判断动图附身的目标是否为角色单位 Sprite_Animation.prototype.isActor = function(target) { var result = []; result[0] = target.constructor.name; result[1] = target.parent.constructor.name; result[2] = 'Sprite_Enemy'; result[3] = 'Sprite_Actor'; return result[0] === result[2] ? false : result[1] === result[3]; }; // 原脚本函数: 更新动画帧 Sprite_Animation.prototype.updateCellSprite = function(sprite, cell) { var pattern = cell[0]; if (pattern >= 0) { var sx = pattern % 5 * 192; var sy = Math.floor(pattern % 100 / 5) * 192; var mirror = this._mirror; var scale = this.isActor(this._target)? MV.scaling/100 : 1; // <<< 插入参数:如果动图目标是角色单位就缩小比列,否则还原比列 sprite.bitmap = pattern < 100 ? this._bitmap1 : this._bitmap2; sprite.setFrame(sx, sy, 192, 192); sprite.x = cell[1]; // sprite.y = cell[2]; // 原脚本 sprite.y = cell[2] * scale; // <<< 修改 sprite.rotation = cell[4] * Math.PI / 180; // sprite.scale.x = cell[3] / 100; // 原脚本 sprite.scale.x = cell[3] * scale/ 100; // <<< 修改 if(cell[5]){ sprite.scale.x *= -1; } if(mirror){ sprite.x *= -1; sprite.rotation *= -1; sprite.scale.x *= -1; } // sprite.scale.y = cell[3] / 100; // 原脚本 sprite.scale.y = cell[3] * scale/ 100; // <<< 修改 sprite.opacity = cell[6]; sprite.blendMode = cell[7]; sprite.visible = true; } else { sprite.visible = false; } };
// RMMV_AnimationScaling_v1_6_2.js
/*:
@--- 目录 ---
@param 缩放比例
@--- 参数 ---
@param scaling
@parent 缩放比例
@default 25
@desc 调整动画效果在游戏中的贴图比例,大小默认为原图的 25%
@--- 说明 ---
@help
这家伙很懒,什么都不想说。
*/
var MV = MV || {};
var pm = PluginManager.parameters('RMMV_AnimationScaling_v1_6_2');
MV.scaling = Number(pm.scaling);
// 自定义函数:判断动图附身的目标是否为角色单位
Sprite_Animation.prototype.isActor = function(target) {
var result = [];
result[0] = target.constructor.name;
result[1] = target.parent.constructor.name;
result[2] = 'Sprite_Enemy';
result[3] = 'Sprite_Actor';
return result[0] === result[2] ? false : result[1] === result[3];
};
// 原脚本函数: 更新动画帧
Sprite_Animation.prototype.updateCellSprite = function(sprite, cell) {
var pattern = cell[0];
if (pattern >= 0) {
var sx = pattern % 5 * 192;
var sy = Math.floor(pattern % 100 / 5) * 192;
var mirror = this._mirror;
var scale = this.isActor(this._target)? MV.scaling/100 : 1; // <<< 插入参数:如果动图目标是角色单位就缩小比列,否则还原比列
sprite.bitmap = pattern < 100 ? this._bitmap1 : this._bitmap2;
sprite.setFrame(sx, sy, 192, 192);
sprite.x = cell[1];
// sprite.y = cell[2]; // 原脚本
sprite.y = cell[2] * scale; // <<< 修改
sprite.rotation = cell[4] * Math.PI / 180;
// sprite.scale.x = cell[3] / 100; // 原脚本
sprite.scale.x = cell[3] * scale/ 100; // <<< 修改
if(cell[5]){
sprite.scale.x *= -1;
}
if(mirror){
sprite.x *= -1;
sprite.rotation *= -1;
sprite.scale.x *= -1;
}
// sprite.scale.y = cell[3] / 100; // 原脚本
sprite.scale.y = cell[3] * scale/ 100; // <<< 修改
sprite.opacity = cell[6];
sprite.blendMode = cell[7];
sprite.visible = true;
} else {
sprite.visible = false;
}
};
|