【解決済み】色々なウインドに立ち絵を表示するプラグイン

さんたろう
記事: 14
登録日時: 2017年1月30日(月) 16:38

【解決済み】色々なウインドに立ち絵を表示するプラグイン

投稿記事by さんたろう » 2017年1月30日(月) 16:49

ツクールMVではデフォルトで「drawActorFace(this._actor, 0, 0)」のようにプラグイン内に書くことでアクターのフェイス画像を表示することができると思います。
そのような感じで「drawActorPicture(this._actor, 0, 0)」のようにプラグイン内に書くことでアクターの立ち絵を表示することができるようなプラグインがほしいです。
立ち絵の設定はアクターのメモ欄にピクチャーのファイル名を書き込みことで設定できるというのがさらに理想です。
自身が色々なプラグインを使用しているので、このようなプラグインがあればうれしいなと思い今回リクエストさせていただきます。
お力を貸していただけるとありがたいです(><)
最後に編集したユーザー さんたろう on 2017年2月07日(火) 00:07 [ 編集 1 回目 ]

アバター
剣崎 宗二
記事: 61
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by 剣崎 宗二 » 2017年1月31日(火) 10:07

お疲れ様です。
現状では、ややさんたろうさんの要望が分かりにくいように思えます。
なので少し詳細をお聞きしたく。

・drawActorFace/drawActorPictureをプラグイン内に書くと言うのは、例えばイベントコマンドの「スクリプト」欄に記入すると言う事でしょうか? それとも他の(自作等)プラグイン内で運用するので、drawActorPicture(actor, x, y)と言うfunctionだけ作ってもらいたいと言う事でしょうか?

・若しも前者の場合、イベントコマンド「ピクチャの表示」で代用できない理由は何がありますでしょうか?


以上、よろしくお願いいたします。
さんたろう
記事: 14
登録日時: 2017年1月30日(月) 16:38

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by さんたろう » 2017年2月01日(水) 02:36

剣崎 宗二さん お返事をくださりありがとうございます。

私としては剣崎 宗二さんがおっしゃっているように「他のプラグイン内で運用するので、drawActorPicture(actor, x, y)と言うfunctionだけ作ってもらいたい」というのが希望になります。

プラグインに詳しくなくどう表現したらいいかわからなかったため分かりづらい表現になっていたかと思います(><)
すみません(><)
アバター
剣崎 宗二
記事: 61
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by 剣崎 宗二 » 2017年2月02日(木) 20:13

お疲れ様です。
以下組んでみました。

コード: 全て選択

Window_Base.prototype.drawActorPicture = function(actor, x, y) {
    if (actor)
    {
       this.drawPicture($dataActors[this._actor._actorId].meta.standpicture, x, y);
    }
};

Window_Base.prototype.drawPicture = function(pictureName, x, y) {
    console.log(pictureName);
    var bitmap = ImageManager.loadPicture(pictureName);
    var _local = this;
    var waiter = setInterval(function(){

     if (_local.drawPictureWaitForLoad(bitmap, x, y))
     {       
       clearInterval(waiter); 
     }
    }, 100);
   
};

Window_Base.prototype.drawPictureWaitForLoad = function(bitmap, x, y)
{
    var pw = bitmap.width;
    var ph = bitmap.height;
    var dx = x;
    var dy = y;
    var sx = 0;
    var sy = 0;
    this.contents.blt(bitmap, sx, sy, pw, ph, dx, dy);
}
 

お試しください。
アバター
Trb
記事: 149
登録日時: 2015年11月15日(日) 19:26
連絡を取る:

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by Trb » 2017年2月02日(木) 20:33

失礼します。
上記のスクリプトですが4行目が違っていませんか?
this._actor._actorId
ではなくて
actor._actorId
になると思います。
さんたろう
記事: 14
登録日時: 2017年1月30日(月) 16:38

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by さんたろう » 2017年2月03日(金) 02:07

剣崎 宗二様
Trb様

現在ピクチャーファイルの指定方法がわからず苦戦しておりますが、
できる限り自分で調べてまたこちらでご報告させていただきます(><)

プラグインの作成ありがとうございます。m(__)m
アバター
剣崎 宗二
記事: 61
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by 剣崎 宗二 » 2017年2月03日(金) 16:52

>trb様
ご指摘の通りです。ありがとうございます。
自前でテストしてた際はactorにthis._actorを入れてテストしていたので気づきませんでした……

以下を以って修正とさせてもらいます。

コード: 全て選択

Window_Base.prototype.drawActorPicture = function(actor, x, y) {
    if (actor)
    {
       this.drawPicture($dataActors[actor._actorId].meta.standpicture, x, y);
    }
};

Window_Base.prototype.drawPicture = function(pictureName, x, y) {
    console.log(pictureName);
    var bitmap = ImageManager.loadPicture(pictureName);
    var _local = this;
    var waiter = setInterval(function(){

     if (_local.drawPictureWaitForLoad(bitmap, x, y))
     {       
       clearInterval(waiter); 
     }
    }, 100);
   
};

Window_Base.prototype.drawPictureWaitForLoad = function(bitmap, x, y)
{
    var pw = bitmap.width;
    var ph = bitmap.height;
    var dx = x;
    var dy = y;
    var sx = 0;
    var sy = 0;
    this.contents.blt(bitmap, sx, sy, pw, ph, dx, dy);
}



>さんたろう様
メモ欄へのbmp指定は以下のようになります。画像ファイルはpicturesフォルダに入れてください。

例:画像名がme.pngだった場合

コード: 全て選択

<standpicture:me>


以上、よろしくお願いいたします。
さんたろう
記事: 14
登録日時: 2017年1月30日(月) 16:38

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by さんたろう » 2017年2月05日(日) 15:06

剣崎 宗二様
画像のして方法についてご教示いただきありがとうございますm(__)m

さっそくその方法で画像の指定をしてみたところ画像の表示ができました!
本当にありがとうございます。

ただ、ステータス画面に立ち絵を表示させようと、「this.drawPicture($dataActors[this._actor._actorId].meta.standpicture, 300, 0);」と入力してテストしてみたところ、指定した画像は表示されるのですが、アクター1からアクター2に切り替えると、アクター1の画像とアクター2の画像がどちらも表示される状態になってしまいました。
この仕様に関しては、私が正確に情報をお伝えできなかったためだと思うのですが、アクター1にはアクター1の画像、アクター2にはアクター2の画像のみが表示されるように対応していただくことは可能でしょうか(><)
何度もお手数をおかけしてしまい申し訳ございませんが、よろしくお願いいたします。

※私の入力方法に間違いあるだけでしたらごめんなさい(><)
※わがままでのお願いになりますのでお断りいただいても大丈夫です!

1_1.png

1_2.png
アバター
剣崎 宗二
記事: 61
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by 剣崎 宗二 » 2017年2月06日(月) 13:57

さんたろう様

お疲れ様です。
私が作った物は、ご依頼の通り飽くまでも「drawActorFace」の代わりに使われる物であります。
rpg_window.js内でdrawActorFaceが使われている各所を見て頂ければわかるかと思いますが、直前に「this.contents.clear」が入っている物が多いと思います。そちらのコマンドが画像クリアを行っておりますので、同じようにお使いいただければと思います。

以上、よろしくお願いいたします。
さんたろう
記事: 14
登録日時: 2017年1月30日(月) 16:38

Re: 色々なウインドに立ち絵を表示するプラグイン

投稿記事by さんたろう » 2017年2月07日(火) 00:07

剣崎 宗二様
何度もご丁寧にありがとうございます。
いただいた情報をもとに動かせるように試してみます!
本当にありがとうございました!

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