KMS_SaveWithSnap.jsの暗号化におけるロードエラーについて

アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

KMS_SaveWithSnap.jsの暗号化におけるロードエラーについて

投稿記事by 進撃のエレン » 2019年7月01日(月) 10:37

KMS_SaveWithSnap.jsの暗号化におけるロードエラーについて

いつもご質問にお答え頂きありがとうございます。

今回ご質問させて頂きますのは、
KAMESOFT様の「スクリーンショットセーブ Save With Snapshot」を使用した際に、
画像を暗号化してデプロイ後にゲームを起動し、セーブ画面に移動してセーブを行い、
その後、セーブ画面に移動するとスナップショットした画像のロードエラーが発生すると言う件です。

viewtopic.php?t=2581
こちらでも同様の質問があり、その返信として不具合修正したデータをアップされていますが、
現在、アップされたデータが閲覧出来ない状態となっておりました。

JSの中身を見てみると、

コード: 全て選択

//-----------------------------------------------------------------------------
// Bitmap

if (!Bitmap.prototype.save)
{
    /*
     * ビットマップを URL 表現に変換
     */
    Bitmap.prototype.toDataURL = function()
    {
        if (Params.enableJpeg)
        {
            // サイズが小さくなる方を返す
            // ※ サポート外の形式が指定されたら PNG になる仕様なので、
            //    変換結果が null 等になることはない
            var png = this._canvas.toDataURL('image/png');
            var jpeg = this._canvas.toDataURL('image/jpeg');
            return (png.length < jpeg.length) ? png : jpeg;
        }
        else
        {
            return this._canvas.toDataURL('image/png');
        }
    };

}


こうなっており、デプロイ後に「image」フォルダを作成する事で対処出来るのかなと思いましたが、
やはりロードエラーとなってしまいました。

こちらの対処方法を教えて頂ければと思います。

宜しくお願い致します。

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: KMS_SaveWithSnap.jsの暗号化におけるロードエラーについて

投稿記事by 奏ねこま » 2019年7月01日(月) 21:52

↓の記述を探して(2箇所あります)

コード: 全て選択

        ImageManager.loadNormalBitmap(info.snapUrl);

↓のように書き換えてください(2箇所とも)

コード: 全て選択

        var hasEncryptedImages = Decrypter.hasEncryptedImages;
        Decrypter.hasEncryptedImages = false;
        ImageManager.loadNormalBitmap(info.snapUrl);
        Decrypter.hasEncryptedImages = hasEncryptedImages;
アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: KMS_SaveWithSnap.jsの暗号化におけるロードエラーについて

投稿記事by 進撃のエレン » 2019年7月02日(火) 10:03

奏ねこま 様

ありがとうございます。

該当箇所を書き換えました。
エラーは表示されなくなりましたが、スナップされた画像が表示されなくなってしまいました。

コード: 全て選択

    if (info.snapUrl)
    {
        var hasEncryptedImages = Decrypter.hasEncryptedImages;
        Decrypter.hasEncryptedImages = false;
        ImageManager.loadNormalBitmap(info.snapUrl);
        Decrypter.hasEncryptedImages = hasEncryptedImages;    }
};


コード: 全て選択

    var bitmap =
    hasEncryptedImages = Decrypter.hasEncryptedImages;
    Decrypter.hasEncryptedImages = false;
    ImageManager.loadNormalBitmap(info.snapUrl);
    Decrypter.hasEncryptedImages = hasEncryptedImages;
    var dh = this.itemHeight() - 8;
    var dw = bitmap.width * dh / bitmap.height;
    var dx = rect.x + Math.max(rect.width - dw - 120, 0);
    var dy = rect.y + 4;


このように変更する事で間違いは無いでしょうか?
宜しくお願い致します。

そして、一度変更してJSを保存すると、それからJSの中身を元に戻しても
テストプレイ時にスナップされた画像が表示されなくなってしまいました。
奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: KMS_SaveWithSnap.jsの暗号化におけるロードエラーについて

投稿記事by 奏ねこま » 2019年7月02日(火) 11:01

すいません、後者は↓のようにしてください。

修正前

コード: 全て選択

    var bitmap = ImageManager.loadNormalBitmap(info.snapUrl);

修正後

コード: 全て選択

    var hasEncryptedImages = Decrypter.hasEncryptedImages;
    Decrypter.hasEncryptedImages = false;
    var bitmap = ImageManager.loadNormalBitmap(info.snapUrl);
    Decrypter.hasEncryptedImages = hasEncryptedImages;
アバター
進撃のエレン
記事: 78
登録日時: 2017年5月13日(土) 21:01

Re: KMS_SaveWithSnap.jsの暗号化におけるロードエラーについて

投稿記事by 進撃のエレン » 2019年7月02日(火) 17:23

奏ねこま 様

いけました!ありがとうございます!!
この度はありがとうございました!

“MV:質問” へ戻る