カレンダー

10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -

最近のコメント

最近の記事

カテゴリー

リンク

このブログをリンクに追加する

月別アーカイブ

アクセスカウンター

相変わらずの覚書
 はまったので書いておく。

 RPGツクールVXAceで「セーブ」ができないバグに遭遇。

【症状】
・セーブを試みると失敗音とともにセーブされない。
・すでにあるデータの上に上書きセーブすると、それごと消去される。
・コマンドプロンプトにエラーは出ない。
・どうも、戦闘で「尻ストロー」を食らって膨体化したあとにセーブすると起きるらしい。

【調査】
以下で発生していることを突き止める。
DataManager.save_game_without_rescue(index)

以下のコードで発生していることを突き止める。
Marshal.dump(make_save_contents, file)

Marshal.dumpはオブジェクトをファイルに書き出す関数である。
ファイルに書き出せないオブジェクトも存在する。それを書き出そうとして失敗しているようだ。

例外処理を加えてExceptionをコマンドプロンプトに表示させる。
どうやらspriteクラスが書き出せないクラスであることを突き止める。

保存しようとした「$game_actors」が、spriteクラスを持っていることを発見。

戦闘中の画像処理でgame_batterクラスにspriteクラスを作っちまったことを発見。
しかも、戦闘中に逃亡すると解放していないことを発見。

【修正】
保存前に、spriteクラスを解放するように変更して解決。
戦闘終了時にも解放しておこう。
画像処理はgame_batterクラスに持たせるべきではなかった。しかし、いまさらなので、ここはそのまま。

 あ~、疲れた。
スポンサーサイト
[2012/05/20 09:45] | ペトリケーション2 | コメント(0)
<<つうことで | ホーム | 細かい作りこみとか>>
コメント
コメントの投稿












管理者にだけ表示を許可する

牙行の色々やること


Maiki's House運営者牙行のブログです。

プロフィール

牙行

Author:牙行
ASFR & WAM を重点的に扱っています。いろいろなことに興味を持つゆえにフラフラしているダメ人間。
定型句ではありますが書いときます。
このブログにあるコンテンツの無断転載転用だめですよぉ。

pixiv

Twitter...

DLSite.com

ブログ内検索

ブロとも申請フォーム

この人とブロともになる