【解決済み】アイテムのヘルプでピクチャーを表示

KiwiSoda
記事: 5
登録日時: 2019年3月26日(火) 15:33

【解決済み】アイテムのヘルプでピクチャーを表示

投稿記事by KiwiSoda » 2019年5月30日(木) 13:16

日本語下手なので、先に失礼と言わせて貰います。

アイテムのヘルプウィンドウ、もしくはその隣の新しいウィンドウで、
ピクチャーを表示したいですが、中々イメージ通りのプラグインが見つかりません。

具体的には、下の画像のように、
jikendazo.png

アイテムシーンとアイテム選択両方で表示させたいです。
違うアイテムにカーソルを合わせると、
説明文とともに、ピクチャーも変わります。

ちなみに、アイテム選択のヘルプは
TomoakyさんのTMEventItemExというプラグインを使わせて貰っています。
ヘルプウィンドウのサイズはこちらを参考させてもらいました。
viewtopic.php?t=4074

にゃたまさんのプラグインも参考させてもらいましたが、
上の画像のように、ウィンドウが多すぎて、イメージ通りのゲーム画面にはならなかったです。
viewtopic.php?t=7489

よろしくお願いします。
最後に編集したユーザー KiwiSoda on 2019年6月03日(月) 13:57 [ 編集 1 回目 ]

アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: アイテムのヘルプでピクチャーを表示

投稿記事by にゃたま » 2019年6月01日(土) 17:07

KiwiSoda様

先ず当方制作のプラグインをご利用いただきありがとうございます。
試しに作ってみましたが、以下のようなイメージでよろしいでしょうか?

スクリーンショット 2019-06-01 16.09.25.jpg


先ず、前提としてアイテムのメモ欄に以下のようにimgタグとhelpタグが記載されているという前提で説明します。
スクリーンショット 2019-06-02 0.05.50.png


はじめにアイテム選択拡張プラグイン(TMEventItemEx)は
4行のヘルプに対応してないので4行にかえました。
これは(viewtopic.php?t=4074)に記載の方法で解決できました。
これだけでは画像が表示できないのでヘルプウィンドウを右にずらしました。
左に空欄ができたのでここにEventItemShowPictureで画像を配置すればよろしいかとおもいます。

以下のようにTMEventItemExの最下部を変更してください。

コード: 全て選択

//ADD Start
    Window_EventItem.prototype.setHelpWindowItem = function(item) {
      if (this._helpWindow && item) {
        if(item.meta.help){
            this._helpWindow.setText(item.meta.help);
        }else{
            this._helpWindow.setText('');
        }
      }
    };
    //ADD End

  //-----------------------------------------------------------------------------
  // Window_Message
  //

  var _Window_Message_subWindows = Window_Message.prototype.subWindows;
  Window_Message.prototype.subWindows = function() {
    var subWindows = _Window_Message_subWindows.call(this);
    subWindows.push(this._helpWindow);
    return subWindows;
  };

  var _Window_Message_createSubWindows = Window_Message.prototype.createSubWindows;
  Window_Message.prototype.createSubWindows = function() {
    _Window_Message_createSubWindows.call(this);
    this._helpWindow = new Window_Help(4);//Edit
    this._helpWindow.openness = 0;
      //左側に画像が入るのでヘルプウィンドウを右にずらして小さくする
    //Add Start
    this._helpWindow.x = this.fittingHeight(4);
    this._helpWindow.width = Graphics.boxWidth - this.fittingHeight(4);
    //Add End
    this._itemWindow.setHelpWindow(this._helpWindow);
  };



次にアイテム画面のほうですがSairi様の「レイアウトの異なるアイテム画面」プラグインを
改変してみました。(viewtopic.php?t=2986)
具体的な配置画像がなかったので要望にあいそうなレイアウトに変更してみました。

NYA_SceneItemAddInfo.jsを適用してみてください。


尚、証拠提出といった表示はトリアコンタン様のDTextPictureプラグインなどで
表示できるかと思います。
最後に編集したユーザー にゃたま on 2019年10月16日(水) 09:34 [ 編集 15 回目 ]
KiwiSoda
記事: 5
登録日時: 2019年3月26日(火) 15:33

Re: アイテムのヘルプでピクチャーを表示

投稿記事by KiwiSoda » 2019年6月01日(土) 17:45

にゃたまさん、作って下さってありがとうございます。
早速使わせて貰います。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: アイテムのヘルプでピクチャーを表示

投稿記事by にゃたま » 2019年6月01日(土) 19:37

すみません。アイテム使用時アクターウィンドウが最前面にきてなかったので
修正しました。再ダウンロードをお願いします。

追記
TMEventItemEx最下部を以下のようにすることで画像がないときに
ヘルプウィンドウを最大(元の横サイズ)にできます。

コード: 全て選択

    //ADD Start
    Window_EventItem.prototype.setHelpWindowItem = function(item) {
      if (this._helpWindow && item) {
        if(item.meta.help){
            this._helpWindow.setText(item.meta.help);
        }else{
            this._helpWindow.setText('');
        }
        if(item.meta.img){
            //左側に画像が入るのでヘルプウィンドウを右にずらして小さくする
            this._helpWindow.x = this.fittingHeight(4);
            this._helpWindow.width = Graphics.boxWidth - this.fittingHeight(4);
        }else{
            //左側に画像が入らないのでヘルプウィンドウを通常サイズにもどす
            this._helpWindow.x = 0;
            this._helpWindow.width = Graphics.boxWidth;
        }
      }
    };
    //ADD End
   
  //-----------------------------------------------------------------------------
  // Window_Message
  //

  var _Window_Message_subWindows = Window_Message.prototype.subWindows;
  Window_Message.prototype.subWindows = function() {
    var subWindows = _Window_Message_subWindows.call(this);
    subWindows.push(this._helpWindow);
    return subWindows;
  };
   
    var _Window_Message_createSubWindows = Window_Message.prototype.createSubWindows;
  Window_Message.prototype.createSubWindows = function() {
    _Window_Message_createSubWindows.call(this);
    this._helpWindow = new Window_Help(4);//Edit
    this._helpWindow.openness = 0;
    this._itemWindow.setHelpWindow(this._helpWindow);
  };
   
   


追記
すみません。アイテムを全く所持してないときエラーが発生する問題を修正しました。
上記コードに追加しましたので変更お願いします。


同様の理由でアイテム画面のプラグインも修正しました。
お好みでご利用ください。
添付ファイル
NYA_SceneItemAddInfo.js
v1.0.1アイテム画像が枠内に自動的にリサイズされるようにしました
(6.46 KiB) ダウンロード数: 78 回
最後に編集したユーザー にゃたま on 2019年10月16日(水) 09:34 [ 編集 11 回目 ]
KiwiSoda
記事: 5
登録日時: 2019年3月26日(火) 15:33

Re: アイテムのヘルプでピクチャーを表示

投稿記事by KiwiSoda » 2019年6月02日(日) 03:36

にゃたまさん、素早い対応してくださってありがとうございます。
両方問題なく動けました。

ただ、アイテムシーンのピクチャーはウィンドウに入っているのに、
アイテム選択のほうはウィンドウに入っていないのがちょっと気になります。

力技で「ならばピクチャー自体がウィンドウ付いてればどうだ!」
の結果が下の画像になります。
koreda.png

しかし、今度はアイテムシーンのピクチャーがズレます。
ピクチャーの位置をウィンドウの左上に合わせてごまかす事も出来ますが、
どうしてもピクチャーの右側の偽ウィンドウラインが残ります。

図々しいで申し訳ないですが、アイテムシーンと同じ、
ピクチャーをウィンドウに入れさせる事は出来ませんでしょうか?

もしくはその逆で、
アイテムシーンのピクチャーをウィンドウから分離させて、
ピクチャー自体が偽ウィンドウ付いてるというやり方でも構いません。


それと、
tomoakyさんのTMItemCategoryExというプラグインを入れて、
アイテムのカテゴリーが一つだけまで削ると、
アイテムカテゴリーのウィンドウが消えるという仕様があります。

この場合だけ、アイテムシーンでのアイテムリストウィンドウのサイズがおかしくなってしまいます。
NYA_SceneItemAddInfoでアイテムリストの位置やサイズを変えても、
プラグインのプライオリティを変えても、全然反応されません。

「もしかしたら…」という程度で構いませんので、ちょっと見てもらえませんですか?
よろしくお願いします。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: アイテムのヘルプでピクチャーを表示

投稿記事by にゃたま » 2019年6月02日(日) 09:59

KiwiSoda さんが書きました:ただ、アイテムシーンのピクチャーはウィンドウに入っているのに、
アイテム選択のほうはウィンドウに入っていないのがちょっと気になります。


アイテムシーンとアイテム選択の処理で
画像部とテキスト部と統一させたいということなら
一つにウィンドウを透明にする方法があります。
トリアコンタン様のGUIデザインプラグインでウィンドウを透明にできます。
透明にしたあとは背景にオリジナルウィンドウの画像を
ピクチャ表示コマンドでセットしても良いと思います。
(追記:アイテム画面の背景画像を変えるにはAltMenuScreen3で変更できます。
若しくはトリアコンタン様のWindowBackImageを使ってWindowClassにWindow_Infoを
設定すればアイテム画面の情報ウィンドウのウィンドウ枠を画像に替えれます)
もう一つはアイテム画像下の背景に空のウィンドウ画像を配置する方法で
アイテム画像にウィンドウ画像を埋め込まなくてもピクチャ表示コマンドで
アイテム選択の処理コマンドを実行する前に表示しておけば問題ないと
思います。この方法が簡単で良いと思います。

KiwiSoda さんが書きました:tomoakyさんのTMItemCategoryExというプラグインを入れて、
アイテムのカテゴリーが一つだけまで削ると、
アイテムカテゴリーのウィンドウが消えるという仕様があります。

この場合だけ、アイテムシーンでのアイテムリストウィンドウのサイズがおかしくなってしまいます。
NYA_SceneItemAddInfoでアイテムリストの位置やサイズを変えても、
プラグインのプライオリティを変えても、全然反応されません。

こちらのほうはこれから検証してみます。
少し時間がかかるかもしれません。

追記
とりあえずはTMItemCategoryEx ver1.0.1の111行目と112行目(this._itemWindow.moveの行)
をコメントアウトすればカテゴリウィンドウを非表示できます。

コード: 全て選択

//this._itemWindow.move(this._itemWindow.x, this._categoryWindow.y, this._itemWindow.width,
//                        this._itemWindow.height + this._categoryWindow.height);


元カテゴリウィンドウがあった場所の空欄が気になる場合は
NYA_SceneItemAddInfo.jsの44行目を以下のようにしてください。

コード: 全て選択

//アイテム情報ウィンドウ
    var WinfoItem_X = 0;
    var WinfoItem_Y = 0;//Edit 元:WcItem_Height;


追記
アイテム選択の処理はアイテム画像をピクチャ表示コマンドによって表示している関係で
ヘルプウィンドウのようなウィンドウより下に配置されてしまいます。
ですのでヘルプウィンドウを幅最大に伸ばして文字のみ横に移動したところで
結局アイテム画像がウィンドウに隠れてしまいます。
ですのでアイテムシーンのものと統一するとなるとウィンドウそのものを
ピクチャにする方法しか思いつきません。
ですので上記のような案内とさせていただきました。
ピクチャを通常のウィンドウより全面に表示させる方法があればよいのですがね…
あとイベント選択の処理でアイテム画面のような情報ウィンドウを作る方法は
今の自分にはできません。Scene_MapとScene_Menuとでは仕組みが異なるからです。
添付ファイル
スクリーンショット 2019-06-02 10.31.57.png
最後に編集したユーザー にゃたま on 2019年7月30日(火) 23:09 [ 編集 5 回目 ]
KiwiSoda
記事: 5
登録日時: 2019年3月26日(火) 15:33

Re: アイテムのヘルプでピクチャーを表示

投稿記事by KiwiSoda » 2019年6月03日(月) 02:12

もう一つはアイテム画像下の背景に空のウィンドウ画像を配置する方法で
アイテム画像にウィンドウ画像を埋め込まなくてもピクチャ表示コマンドで
アイテム選択の処理コマンドを実行する前に表示しておけば問題ないと
思います。


アドバイス、ありがとうございました。
こういうやり方もできるんだ、と考えさせてもらった。

結論から言いますと、
最後的にはフトコロさんのFTKR_OriginalSceneWindowでピクチャー用のウィンドウを作って、
奏ねこまさんのMPI_PictureOnWindow
(https://tm.lucky-duet.com/viewtopic.php?t=2915)
でアイテムのピクチャーをウィンドウの上に移動させて、完成。

でもなぜかアイテムのピクチャーのBlendModeが加算モードになってるので、
プラグインコマンドの「EISP PictureBlendMode_Edit 0」で調整しました。

にゃたまさん、迷惑かけてごめんなさい。
色々アドバイスしてくれてありがとうございます。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: アイテムのヘルプでピクチャーを表示

投稿記事by にゃたま » 2019年6月03日(月) 09:06

KiwiSoda さんが書きました:結論から言いますと、
最後的にはフトコロさんのFTKR_OriginalSceneWindowでピクチャー用のウィンドウを作って、
奏ねこまさんのMPI_PictureOnWindow
(https://tm.lucky-duet.com/viewtopic.php?t=2915)
でアイテムのピクチャーをウィンドウの上に移動させて、完成。

そういったウィンドウの上にピクチャを配置するようなプラグインが
あったのですね…これは知りませんでした。参考になります。
確かにフトコロ様のウィンドウ生成プラグインがありましたね…
こちら存在は知ってましたがこういった使い方ができると思ってませんでした。
とりあえず解決されたようでなによりです。


6/8追記
FTKR_OriginalSceneWindowを使用しなくてもできる方法を発見しました。
以下のようにTMEventItemExの最下部を変更してください。

よろしければご参考ください。

コード: 全て選択

//ADD Start
    Window_EventItem.prototype.setHelpWindowItem = function(item) {
        if(Imported.NYA_EventItemShowPicture){
            var parameters = PluginManager.parameters('NYA_EventItemShowPicture');
            var emptyImage = parameters['EmptyImage'];
        }else{
            var emptyImage = '';
        }
       
        if (this._helpWindow && item) {
            var helpX;
            if(item.meta.img){
                if(Imported.NYA_EventItemShowPicture){
                    helpX = 18*2 + 36*4;
                }else{
                    helpX = 0;
                }
            }else{
                if(emptyImage){
                    helpX = 18*2 + 36*4;
                }else{
                    helpX = 0;
                }
            }
            this._helpWindow.contents.clear();
            if(item.meta.help){
                    this._helpWindow.drawTextEx(item.meta.help, helpX, 0);
            }
        }
    };
    //ADD End
   
  //-----------------------------------------------------------------------------
  // Window_Message
  //

  var _Window_Message_subWindows = Window_Message.prototype.subWindows;
  Window_Message.prototype.subWindows = function() {
    var subWindows = _Window_Message_subWindows.call(this);
    subWindows.push(this._helpWindow);
    return subWindows;
  };
   
    var _Window_Message_createSubWindows = Window_Message.prototype.createSubWindows;
  Window_Message.prototype.createSubWindows = function() {
    _Window_Message_createSubWindows.call(this);
    this._helpWindow = new Window_Help(4);//Edit
    this._helpWindow.openness = 0;
    this._itemWindow.setHelpWindow(this._helpWindow);
  };
   


上記コードを動作させるには
NYA_EventItemShowPicture.jsの(function() {の上に以下のコードを追加してください。

コード: 全て選択

var Imported = Imported || {};
Imported.NYA_EventItemShowPicture = true;


これは今後リリースされるバージョンに追加される予定です。
最後に編集したユーザー にゃたま on 2019年7月30日(火) 23:52 [ 編集 7 回目 ]
KiwiSoda
記事: 5
登録日時: 2019年3月26日(火) 15:33

Re: 【解決済み】アイテムのヘルプでピクチャーを表示

投稿記事by KiwiSoda » 2019年6月04日(火) 10:34

Other IconSet
https://forums.rpgmakerweb.com/index.ph ... ore.50732/

こちらのプラグインも参考させてもらったですが、
Yanfly's Item Coreと組み合わせる必要があって、
UIのレイアウトがイメージとかなり違うので諦めました。

アドバイスありがとうございます。

“MV:プラグイン素材のリクエスト” へ戻る