検索
ハートフルRPG「地図の時間」

地図の時間スピンオフRPG「影泥棒と魔法の手記」

リソース管理ダンジョンRPG「琥珀の道具士」

現代SFRPG「重力ルーペ/探求リバーブ」

ドラマティックRPG「バンドワゴン」

ビジュアルノベル「日向と香水」

ノベル×ADV「ストーリーテラー」 title1_2.png
カテゴリ
リンク集
【スポンサードリンク】

【ツクール新作】




【創作全般】






シナリオ制作


設定作り


最近読んでよかった本五選





創作意欲を掻き立てる本


自己管理術


クリエイター向けノウハウ

2017年09月03日

ツクールMV作品とChromeブラウザで発生するcannot read property 'update' of undefinedについて

◆ツクールMV作品とChromeブラウザの組み合わせ発生するcannot read property 'update' of undefinedについて
公開されてから一ヶ月以上経ちますが、動向が気になりましたので掲載します。

参考情報:ver.60で戦闘中にフリーズ(ツクマテさん投稿)
http://tm.lucky-duet.com/viewtopic.php?t=4292

内容はブラウザプレイ中に特定エラーが発生するというもの。
厄介なのは多くのツクールMV作品で推奨されているChromeで発生しています。

■作者さん向け詳細情報
現象:
ブラウザ版かつGoogle Chrome(バージョン60系)でプレイすると次のエラーが発生

エラーメッセージ:
TypeError
cannot read property 'update' of undefined
0903_1error.jpg

暫定対処:
トリアコンタンさん制作の「BugFixCrashForChrome60.js」適用
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/BugFixCrashForChrome60.js

有識者によると、正式な対処はいずれChrome側で行われるのではないかと言われています。

■プレイヤーさんへお願い
「TypeError cannot read property 'update' of undefined」が発生した場合、以下をあわせて作者さんにお伝えすることで、改善の手助けになるかもしれません。

・作品のバージョン
・使用ブラウザ(Chromeか)
・Chromeの場合のバージョン(バージョン60系か)

バージョン確認方法
20170903-1.jpg

作品の問題なのか、環境の問題なのかがわかるだけで、作者は非常に助かります。
よろしければご検討ください。

また作品によっては、修正が容易ではない場合もあります。
あわせてローカル版(exe版)や別ブラウザ「Firefox」でのプレイもご検討ください。クロスセーブやサーバーセーブ機能がある場合はこの方が早いかもしれません。

謝辞:
トリアコンタンさん(プラグイン作成)
ツクマテさん(運営:弓猫さん)
メガーヌさん(問題提起)

【2017/9/16追記】
Google Chromeバージョン61系では改善されていることが分かりました。

2017年03月11日

アツマール版コアスクリプトの競合情報

◆アツマール版コアスクリプトの競合情報

webで確認できた情報をまとめてみました。
アツマール版で追加/更新された機能に関わるプラグインが影響を受けやすい傾向があります。
例)2017/3/11現在ではフォント、動作軽量化系、描画系の一部に影響が見られる

競合するが対策が確認できているもの
競合するが対策が確認できていないもの



■競合するが対策が確認できているもの
□FontLoad.js
作者:トリアコンタン様
対策:バージョン1.1.0で対応
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/FontLoad.js

□PerformanceRefine.js
作者:トリアコンタン様
対策:バージョン1.2.1で対応
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/PerformanceRefine.js

□ThroughFailedToLoad.js
作者:トリアコンタン様
対策:バージョン2.1.0で対応
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/ThroughFailedToLoad.js

□Saba_Performance.js
作者:さば缶様
対策:プラグインパラメータ recycleCanvas の値を「0」に指定
http://petitrare.com/blog/%E3%83%84%E3%82%AF%E3%83%BC%E3%83%ABmv%E3%81%AE%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E6%94%B9%E5%96%84%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3/



■競合するが対策が確認できていないもの
・Moghunter様のプラグイン系

2017年02月01日

プラグイン導入後のトラブル切り分け方法

プラグインの問題解決に役立つ記事をご紹介します。
執筆されたのは、多くのプラグインを手がけられているトリアコンタンさん。

プラグイン利用者に向けた問題の切り分け方法
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

記事をご覧頂くと、トラブル時に何をすれば良いのか分かるようになっています。
トラブル解決も早くなりますし、プラグイン作者さんに連絡をとる際に、有益な情報を伝えやすくなりますよ。

また作品で使用しているバージョンの新規プロジェクトを作成しておくこともオススメします。
(2017/2/1現在ならバージョン1.3.4ですね)

もしハードウェア(機械、パソコン)の不調も含めた話なら、次の記事も参考になるかもしれません。

これで早く解決!問題解決の方法と考え方
http://fanblogs.jp/tabirpglab/archive/254/0

今は役に立たなくても、いつか備えになるかもしれません。
ご参考になれば幸いです。

2017年01月06日

装備画面のレイアウト修正

■装備画面のレイアウト修正

使用プラグイン
・スマホ向けUI(UR65_SmartPhoneUI.js)
制作者:うろろこ様
http://tm.lucky-duet.com/viewtopic.php?t=153

・装備&ショップステータス改造 ver1.061
制作者:yana様
https://www6.atwiki.jp/pokotan/pages/3.html

□問題1
装備変更操作でタッチ/マウス操作が強制となる場合がある
Before(V1.0.8)
20161224_65.jpg

画像の場合だと「武器」カテゴリから「カード」カテゴリへ→キーで移動しようとしても、情報ページめくりに割り当てられているため移動ができないことが分かりました。
タッチ操作なら問題ありませんが、コントローラーだけで「カード」「アクセサリ」「チャーム」が変更できないのは不便です。

原因:
これはv1.0.8で導入した「ショップ/装備画面」を変更するプラグインの機能の仕様です。
プラグインのパラメーター調整でページ送り機能を無効にできないかとも考えましたが、他問題が発生するリスクを考え、今回は同プラグインの使用を見送ることにしました。

※誤解して頂きたくないのですが、このプラグインは多機能でとても良いものです。
 例えば1列で装備が並ぶインターフェースなら、同仕様は問題になりません。
 要は作品の仕様とプラグインの仕様、この組み合わせで起こっている悩みなのです。

そして、プラグイン導入以前の状態に戻した装備画面がこちらです。
UI的にもこちらの方が本作にはマッチしました。
After(v1.0.7)
20161224_67.jpg

□問題2
代わりにショップ画面がプラグイン導入前に比べてレベルダウンしてしまいました。

Before(v1.0.8)
20161224_68.jpg
After(v1.0.7)
20161224_69.jpg

これではせっかくv1.0.8で良い部分が損なわれてしまうので、代案を探しました。
見つけたのが次のプラグインです。

 ショップウィンドウ改変
 http://tm.lucky-duet.com/viewtopic.php?t=1063
 作者:シトラス様

ただプラグインを導入したところ異なる問題が発生しました。

□問題3
1)プラグイン名が日本語名(アツマールではNG)
2)表示行のズレ、表示欠けが発生
おそらく、UIを変更している私の作品との相性によるもので発生しています。

After(v1.0.9)
20161224_70.jpg

1)は簡単に解決できました。
ファイル名とjavascript内の名称を同じもの、かつ英数字に直すだけです。
形式もUTF-8形式であることを確認しました。

20161224_71.jpg

2)プラグインファイルを参照したところ、全部で52のシンプルな内容であることが分かりました。

20161224_72.jpg

まず表示欠けの問題を解決するために調整したのが次の箇所です。

 //ステータスの名前を表示
 for(var i = 0;i < 8;i++){
 this.drawParamName(x,132 + i*35,i)

「i*35」のiはパラメーター(攻撃力、防御力)の箇所で、35はフォントサイズと考えて

 //ステータスの名前を表示
 for(var i = 0;i < 8;i++){
 this.drawParamName(x,132 + i*28,i)

「28」に変更してみました。

20161224_73.jpg

見事「表示欠け」が解消されました。
次は「表示行のズレ」に取り組みます。

行のズレなので「y軸の数値を調整」と、「フォントサイズを28に揃える」作業だと見当をつけました。
最終行付近にあった次の場所を見て

 this.changeTextColor(this.paramchangeTextColor(changeParams[i] ) );
 this.drawText( (changeParams[i] > 0 ? '+' : '') + changeParams[i], x, 60 + y + i*35, width, 'right');

次の通りに変更しました。

 this.changeTextColor(this.paramchangeTextColor(changeParams[i] ) );
 this.drawText( (changeParams[i] > 0 ? '+' : '') + changeParams[i], x, 60 + y + i*28 + 20, width, 'right');

「y軸の数値を調整」は+20
「フォントサイズを28に揃える」はi*28

画面を確認したところ意図した通りに調整できていることが確認できました。
20161224_74.jpg

今回はフォントサイズとy軸の調整箇所だけに限定できたので、簡単な部類の作業だったのだと思います。
こういう作業にも慣れて、自分の幅を広げていきたいものです。
こんな内容ですが、自己解決の考え方とかフローが参考になれば幸いです。

レイアウトの競合(Iconの位置ずれ)を直した手順

■レイアウトの競合(Iconの位置ずれ)を直した手順
私自身の備忘録的な意味を兼ねて。

問題点:
次のプラグインを同時に導入したところ、競合によりアイコンの位置ズレが発生

・スマホ向けUI(UR65_SmartPhoneUI.js)
http://tm.lucky-duet.com/viewtopic.php?t=153

・cellicom's Rarity Item Color System(cellicom_RarityItemColor.js)
http://forums.rpgmakerweb.com/index.php?/topic/49515-cellicoms-rarity-item-color-system/

装備アイコンが種別名に重なってます。
20161224_132.jpg

切り分け:
□cellicom_RarityItemColor.js
★「icon」で検索すると「this.drawIcon」以降で座標を決めている模様
★xとyを弄れば良さそうと推測して弄るも……上手くいかず

Window_Base.prototype.drawItemName = function(item, x, y, width) {
width = width || 312;
if (item) {
var iconBoxWidth = Window_Base._iconWidth + 4;
this.resetTextColor();
this.drawIcon(item.iconIndex, x + 2, y + 2);★

□rpg_windows.js(コアスクリプト)
★コアスクリプト側を見てもほぼ同じ
★つまりcellicom_RarityItemColor.jsはコアスクリプトの表示をほぼ継承しているから、ここじゃない

Window_Base.prototype.processDrawIcon = function(iconIndex, textState) {
this.drawIcon(iconIndex, textState.x + 2, textState.y + 2);★
textState.x += Window_Base._iconWidth + 4;
};

□UR65_SmartPhoneUI.js
★親切な記述付きでありました

//=====================================================
// アイコン位置修正
//=====================================================
if (using_iconposition) {
Window_Base.prototype.drawItemName = function(item, x, y, width) {
width = width || 312;
if (item) {
var iconBoxWidth = Window_Base._iconWidth + 4;
this.resetTextColor();
this.drawIcon(item.iconIndex, x + 8, y + this.lineHeight() / 2 - Window_Base._iconHeight / 2);★
this.drawText(item.name, x + iconBoxWidth + 14, y, width - iconBoxWidth);

★ここの「this.drawIcon」は前者2つと比較して、記述内容が異なることに注目
★つまり「UR65_SmartPhoneUI.js」プラグインに最適化された記述
★だったら「this.drawIcon」の記述に寄せれば、大丈夫なはず?と推測

対処1:プラグイン管理画面で並びを変更
20161224_133.jpg


これで「cellicom_RarityItemColor.js」よりも「UR65_SmartPhoneUI.js」が先に読み込まれるから「this.drawIcon」の記述も「UR65_SmartPhoneUI.js」が優先されるはず?と期待。

[期待したイメージ]
UR65_SmartPhoneUI.js>cellicom_RarityItemColor.js>rpg_windows.js

ダメでした。

対処2:cellicom_RarityItemColor.jsの記述をUR65_SmartPhoneUI.jsと同じように書き換え
★cellicom_RarityItemColor.jsのthis.drawIconが優先して読み込まれているのは分かったので、なら参照先を書き換えることに。

変更前
this.drawIcon(item.iconIndex, x + 2, y + 2);★

変更後
this.drawIcon(item.iconIndex, x + 8, y + this.lineHeight() / 2 - Window_Base._iconHeight / 2);★

成功しました。
20161224_134.jpg

□まとめ
・プラグインが競合している場合、どのプラグインが参照されているか突き止める
・参照されているプラグインの記述を、正常に動作したプラグインの記述で上書きする

少なくともレイアウト関係は、この方法が通じるかもしれません。
作品はこちらです。
よろしければ触ってみてくださいませ。

「地図の時間」
http://game.nicovideo.jp/atsumaru/games/gm868