Cannot read "bitmap" of undefinedエラーが出ます

返信する
ジャングル
記事: 108
登録日時: 2018年12月30日(日) 14:51
お住まい: 自動販売機

Cannot read "bitmap" of undefinedエラーが出ます

投稿記事 by ジャングル »

戦闘開始直後にCannot read property "bitmap" of undefinedエラーが出る場合があります。

戦闘中は、次の処理を行っています。
・味方の立ち絵の表示(コモンイベントで)
・バトルステータスウィンドウにフェイス画像を表示(自前のプラグインで)

これは、画像が読み込まれる前に表示させようとしているということでしょうか。
ブラウザではイベントハンドラやリスナーなどでonloadイベントのコールバック関数を設定できますが、
ツクールではどういう書き方をすれば良いですか?

◆ブラウザの場合

コード: 全て選択

  var img = new Image();
  img.src = "image1.jpg";
  img.onload = function() {
    ctx.drawImage(img, 0, 0);
  }
◆自前のプラグイン

コード: 全て選択

(function() {
  var _Window_BattleStatus_initialize = Window_BattleStatus.prototype.initialize;
  Window_BattleStatus.prototype.initialize = function() {
    _Window_BattleStatus_initialize();
    
   // いきなり読み込んでいます。
    this.drawFace("face1", 0, 10, 40, 100, 100);

  };
  var _Window_BattleStatus_refresh = Window_BattleStatus.prototype.refresh;
  Window_BattleStatus.prototype.refresh = function() {
    _Window_BattleStatus_refresh();
    if ($gameSwitches.value(177)) {
      this.drawFace("face1", 0, 10, 40, 100, 100);
    } else {
      var new_hp = $gameActors.actor(7).hp;
      if (new_hp != $gameVariables.value(161)) {
        this.drawFace("face1_damage", 0, 10, 40, 100, 100);
      }
    }
  };
})();
この、いきなり読み込んでいるのが原因でしょうか?

※自分ではこのエラーを確認できていませんが、知り合いが「発生する」と言っていました。
デプロイしたものを渡したので、発生箇所の特定が出来ていません。

発生状況からこの辺りが原因なのではと思っていますが。
分かる方がおられたら宜しくお願いします。
アバター
しぐれん
記事: 975
登録日時: 2017年3月28日(火) 22:22
連絡する:

Re: Cannot read "bitmap" of undefinedエラーが出ます

投稿記事 by しぐれん »

initialize()のタイミングでいきなり書き込んでいるのが原因ですね。
このタイミングではbitmapが作成されていません。
drawItem()を改造しましょう。
現在、プラグイン依頼はお休み中です。
ジャングル
記事: 108
登録日時: 2018年12月30日(日) 14:51
お住まい: 自動販売機

Re: Cannot read "bitmap" of undefinedエラーが出ます

投稿記事 by ジャングル »

済みません。
書き直しても変化が見られず、もう一度確認してみたところ、
このプラグインは使っておらずrpg_windows.jsに直書きしてました。

結構前に作ったゲームで忘れてました・・・。
(今はinitializeではなくrefreshとdrawGaugeAreaWithTpに書いていました)

確認してからまた質問します。

申し訳ありません。
drawItem()ありがとうございます。こちらに書いてみます。
返信する

“MV:質問”に戻る