Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //=============================================================================
- // SVActorPosition.js
- //=============================================================================
- /*:
- * @plugindesc Change actors' position on screen at sideview battle.
- * @author Sasuke KANNAZUKI
- *
- * @param actor1 Xpos
- * @desc X position of actor1's center. (default:600)
- * @default 600
- *
- * @param actor1 Ypos
- * @desc Y position of actor1's bottom. (default:280)
- * @default 280
- *
- * @param actor2 Xpos
- * @desc X position of actor2's center. (default:632)
- * @default 632
- *
- * @param actor2 Ypos
- * @desc Y position of actor2's bottom. (default:328)
- * @default 328
- *
- * @param actor3 Xpos
- * @desc X position of actor3's center. (default:664)
- * @default 664
- *
- * @param actor3 Ypos
- * @desc Y position of actor3's bottom. (default:376)
- * @default 376
- *
- * @param actor4 Xpos
- * @desc X position of actor4's center. (default:696)
- * @default 696
- *
- * @param actor4 Ypos
- * @desc Y position of actor4's bottom. (default:424)
- * @default 424
- *
- * @help
- * This plugin assumes the use of diffrent (from specified) size SV actor graphics.
- *
- * Plugin Command:
- * SVActorPosition arg0 arg1 arg2
- * arg0 must be '1', '2', '3', or '4'.
- * arg1 must be 'X' or 'Y'.
- * arg2 must be the value of coordinate position.
- *
- * ex.
- * SVActorPosition 1 X 640 # set sideview actor 1's X position 640.
- * SVActorPosition 4 Y 472 # set sideview actor 4's Y position 472.
- *
- * configuration at Actor's note:
- * <SVWeaponHeight:12>
- * Weapon animation's height of the sideview actor.
- * In this case, Y position is heigher 12px by the defalut.
- * - It also accepts minus value,
- * because it assumes when you make smaller actor.
- * - If this isn't written, default value 0 is used.
- *
- * Weapon animation's X position is automatically corrected
- * according to the actor graphics size.
- * If you feel it isn't natural, you can optimize the X position.
- * <SVWeaponRight:20>
- * In this case weapon animation moves right 20 pixels.
- * If the value is minus, animation moves left.
- */
- /*:ja
- * @plugindesc サイドビュー戦闘においてアクター達の画面表示位置を設定します。
- * @author 神無月サスケ
- *
- * @param actor1 Xpos
- * @desc アクター1の中心のX座標です。(初期値:600)
- * @default 600
- *
- * @param actor1 Ypos
- * @desc アクター1の足元のY座標です。(初期値:280)
- * @default 280
- *
- * @param actor2 Xpos
- * @desc アクター2の中心のX座標です。(初期値:632)
- * @default 632
- *
- * @param actor2 Ypos
- * @desc アクター2の足元のY座標です。(初期値:328)
- * @default 328
- *
- * @param actor3 Xpos
- * @desc アクター3の中心のX座標です。(初期値:664)
- * @default 664
- *
- * @param actor3 Ypos
- * @desc アクター3の足元のY座標です。(初期値:376)
- * @default 376
- *
- * @param actor4 Xpos
- * @desc アクター4の中心のX座標です。(初期値:696)
- * @default 696
- *
- * @param actor4 Ypos
- * @desc アクター4の足元のY座標です。(初期値:424)
- * @default 424
- *
- * @help
- * このプラグインは、標準素材とは異なったサイズのSVアクター画像での使用を
- * 想定しています。
- *
- * プラグインコマンドの書式:
- * SVActorPosition arg0 arg1 arg2
- * arg0 は '1', '2', '3', か '4' にします。
- * arg1 は 'X' か 'Y' にします。
- * arg2 は 座標の値にします。
- * ex.
- * SVActorPosition 1 X 640 # SV画面のアクター1のX座標を640にします。
- * SVActorPosition 4 Y 472 # SV画面のアクター4のY座標を472にします。
- *
- * アクターのメモによる設定:
- * <SVWeaponHeight:12>
- * サイドビューアクターの武器アニメの表示Y座標の高さを設定します。
- * この例では、通常より12ピクセル高い位置に表示されます。
- * - 標準より小さなアクター画像の作成を想定して、マイナス値も受け付けます。
- * - 記述を省略した場合、デフォルトの0が採用されます。
- *
- * 武器アニメのX座標は、アクター画像のサイズによって自動的に補正されます。
- * もしそれで不自然な場合は、以下の書式でメモに書いてください。
- * <SVWeaponRight:20>
- * サイドビューアクターの武器アニメの表示X座標を右寄りに補正します。
- * この例では、通常より20ピクセル右位置に表示されます。
- * マイナス値にすることで、左寄りの表示も可能です。
- */
- (function() {
- var parameters = PluginManager.parameters('SVActorPosition');
- var SVActor1X = Number(parameters['actor1 Xpos'] || 600);
- var SVActor2X = Number(parameters['actor2 Xpos'] || 632);
- var SVActor3X = Number(parameters['actor3 Xpos'] || 664);
- var SVActor4X = Number(parameters['actor4 Xpos'] || 696);
- var SVActor1Y = Number(parameters['actor1 Ypos'] || 280);
- var SVActor2Y = Number(parameters['actor2 Ypos'] || 328);
- var SVActor3Y = Number(parameters['actor3 Ypos'] || 376);
- var SVActor4Y = Number(parameters['actor4 Ypos'] || 424);
- // --------------------
- // process plugin commands
- // --------------------
- var _Game_Interpreter_pluginCommand =
- Game_Interpreter.prototype.pluginCommand;
- Game_Interpreter.prototype.pluginCommand = function(command, args) {
- _Game_Interpreter_pluginCommand.call(this, command, args);
- if (command === 'SVActorPosition') {
- // check whether sv array is already defined or not
- if(!$gameSystem.svActorArrayDefined()){
- $gameSystem.defineSvActorArray();
- }
- // inspect and process parameters
- var value = Number(args[2]);
- if(value){
- switch(args[0]){
- case '1':
- if(args[1] === 'x' || args[1] === 'X'){
- $gameSystem.svActorX[0] = value;
- } else if(args[1] === 'y' || args[1] === 'Y'){
- $gameSystem.svActorY[0] = value;
- }
- break;
- case '2':
- if(args[1] === 'x' || args[1] === 'X'){
- $gameSystem.svActorX[1] = value;
- } else if(args[1] === 'y'|| args[1] === 'Y'){
- $gameSystem.svActorY[1] = value;
- }
- break;
- case '3':
- if(args[1] === 'x' || args[1] === 'X'){
- $gameSystem.svActorX[2] = value;
- } else if(args[1] === 'y'|| args[1] === 'Y'){
- $gameSystem.svActorY[2] = value;
- }
- break;
- case '4':
- if(args[1] === 'x' || args[1] === 'X'){
- $gameSystem.svActorX[3] = value;
- } else if(args[1] === 'y'|| args[1] === 'Y'){
- $gameSystem.svActorY[3] = value;
- }
- }
- }
- }
- };
- // --------------------
- // define arrays for save sv actors' position
- // --------------------
- var _Game_System_initialize = Game_System.prototype.initialize;
- Game_System.prototype.initialize = function() {
- _Game_System_initialize.call(this);
- this.defineSvActorArray();
- };
- Game_System.prototype.defineSvActorArray = function() {
- this.svActorX = [null, null, null, null];
- this.svActorY = [null, null, null, null];
- };
- Game_System.prototype.svActorArrayDefined = function() {
- return !!this.svActorX;
- };
- // --------------------
- // set actors' position (overwrited)
- // --------------------
- Sprite_Actor.prototype.setActorHome = function(index) {
- // check whether sv array is already defined or not
- if(!$gameSystem.svActorArrayDefined()){
- $gameSystem.defineSvActorArray();
- }
- // set default values
- var x = 600 + index * 32;
- var y = 280 + index * 48;
- // apply option values
- switch(index) {
- case 0:
- x = $gameSystem.svActorX[0] || SVActor1X;
- y = $gameSystem.svActorY[0] || SVActor1Y;
- break;
- case 1:
- x = $gameSystem.svActorX[1] || SVActor2X;
- y = $gameSystem.svActorY[1] || SVActor2Y;
- break;
- case 2:
- x = $gameSystem.svActorX[2] || SVActor3X;
- y = $gameSystem.svActorY[2] || SVActor3Y;
- break;
- case 3:
- x = $gameSystem.svActorX[3] || SVActor4X;
- y = $gameSystem.svActorY[3] || SVActor4Y;
- }
- // set position
- this.setHome(x, y);
- };
- // --------------------
- // set weapon animation's position
- // --------------------
- var _Sprite_Weapon_setup = Sprite_Weapon.prototype.setup;
- Sprite_Weapon.prototype.setup = function(weaponImageId) {
- _Sprite_Weapon_setup.call(this, weaponImageId);
- this.setPosition();
- };
- Sprite_Weapon.prototype.setPosition = function() {
- // set X position by actor sprite size
- var actorBitmap = this.parent._mainSprite.bitmap;
- var actorSpriteWidth = actorBitmap ? actorBitmap.width / 9 : 64;
- this.x = -16 - (actorSpriteWidth - 64) / 2;
- // set Y default position
- this.y = 0;
- // change X,Y position by actor's note
- var battler = this.parent._battler;
- if(battler){
- this.x += (Number(battler.actor().meta.SVWeaponRight) || 0);
- this.y -= (Number(battler.actor().meta.SVWeaponHeight) || 0);
- }
- };
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement