ゲーム制作|初心者

相楽慶司

ユーザー
ざじこ様、ワタベ様、アドバイスありがとうございます!!
現状が「もっと凝ったものにしなきゃ!」の一心でエターなりかけてるのもあるので
まずはシンプルに完成させて、シナリオとか伏線とかスキル量とか増やしていくように
していこうと思いました!!
何より、ぼっち製作者なもんで誰かに話せるだけで随分心強いです(笑
 

エケン

ユーザー
初めまして、ツクールVXaceにてゲームを製作中の初心者です。
初歩的な事かもしれず、お恥ずかしいのですが、質問させていただきたく投稿しました。

ゲーム内で使用する、全体的なフォントを変更しようと思い、スクリプトでfont項目を作って、任意のフォントに変更する事ができたのですが…

①フォントを変更してしまうと、アイテムやスキル、ステータスなどのヘルプ表示画面で改行した位置にのみ「・」が表示されてしまうのです。
ネットでそれらしい項目がないか、と調べてはみたのですが…おそらく改行文字?のバグの様だという事を理解しました。

しかし他の方の作品を拝見していると、その様な「・」表示はされていないので、解決策があるのかな、と思いました…。

スクリプト素材を配布されているサイト様で、ツクールの仕様を改善するスクリプトに上記の悩みを解決できそうなスクリプトを見つけたので、導入させていただいたのですが、なぜか解決せず…
サイト様の名前失念ですみません…:kaoswt2:

それともう一つ、あつかましくもすみません…
②フォントを変更した場合、そのフォントに文字がない場合◻︎が表示されるかと思いますが、その場合、次のフォントの候補にて表示する事ができません。
(例えばデフォルトのフォントでは表示できるので、最初のフォントがダメなら、デフォルトのフォントを候補にするという事です…。)

スクリプトの書き方がわからず、ネットで調べてみて、見つけたものをコピペして書いては見たのですが、解決できませんでした…:kaoswt2:


お手数をおかけしますが、ご助力いただければ幸いです:kaocry:
 
>エケンさん、こん**は。
あまりVXAceのフォント周りには詳しくない僕ですが、長期間コメントがついていないので、
助けになるか分かりませんが、僕の知っている範囲の事を書きます。

>②フォントを変更した場合、そのフォントに文字がない場合◻︎が表示されるかと思いますが、
>その場合、次のフォントの候補にて表示する事ができません。

まずはこれですが、フォントの配列は、あくまで「フォントが存在するか」(Font.exist?("フォント名"))で判定が行われ、
仮にフォント自身存在するが、そのフォントが該当する文字をサポートしなくても、
次のフォントを読んではくれず、未対応文字(ゲタや豆腐に置き換わる)という、極めて不親切な仕様になっています。
僕もFOMA時代に何度も仕事で泣かされた仕様、心中お察しします:kaocry:
解決策としましては、最も包括力のあるフォントを一番に採用する、これしかない、というのが僕の現状の結論です。

>①フォントを変更してしまうと、アイテムやスキル、ステータスなどのヘルプ表示画面で改行した位置にのみ「・」が
>表示されてしまう
のです。
ネットでそれらしい項目がないか、と調べてはみたのですが…おそらく改行文字?のバグの様だという事を理解しました。
しかし他の方の作品を拝見していると、その様な「・」表示はされていないので、解決策があるのかな、と思いました…。
ご確認されたサイトにも記載があったでしょうが、これは文字の改行コードの、文字コードの違いにおける表現の違いと、
さらに、コードを変換した際に間違ったやりかたで変換されることが最大の問題です。
ツクールVXAceは、文字コードはUTF-8なので、最初からそれを前提としたフォントなら問題ないのですが、
大抵は妙な変換が行われます。
こればかりは僕もお手上げ:kaocry:なので、フォントに詳しいサイトさんの記事を参考にされてください。

Unicodeが出てきてからかれこれ20年になりますが、僕が仕事でも趣味のプログラミングでも痛感しているのが、
「文字コードは鬼門」:kaodes:ってことです。
素人の手には負えません。技術のある方には、親切な人が多いですから、彼らの力を頼って、
問題を解決できることを願っております。Good Luck.
 

エケン

ユーザー
神無月さん、丁寧なご返答、詳しいお話をありがとうございます、感謝します!
しかし、なかなか難しい問題のようですね:kaoeh:
現状フォントは変更したいので、なんとかヘルプ文を1行でおさめ、改行しないようにしてはいますが:kaoback:
応援ありがとうございます:kaohi:
 
初めまして、まだ体験版で作ってみている初心者です。
今後買う予定ですが解決しない疑問があって行き詰ってます。

扉の開閉ってどうやればできますか?
詳しくいえば、何回も選択肢で「押す」と開くという扉を作成したいんですが
どうしても最初から開いてしまってできません。
調べてもあまり分からないので、どうしたらいいのか教えてくださいませんか('ω')ノ
 

開拓者

ユーザー
たぶん扉が開いたあとのイベントページに
表示条件:セルフスイッチAがONの時 とかを入れ忘れていて
常時表示されている状態じゃないかな?と予想しました、間違えてたらごめんなさい。
 
こんばんは、夢幻台です。
自分がいち早く思いついたのは変数を使うやり方でしょうか。

選択肢で「押す」を1回選ぶごとに変数Aの数値を1増加させていき、
2ページ目には変数Aが一定以上なら開くイベントページに飛ぶ…という感じで。

画像はイベント1ページ目の実行内容と、2ページ目の条件です。参考になれば幸いです。
 

Attachments

>グランティー様
開拓者様と夢幻台様の回答で解決すれば良いのですが、
よろしければ夢幻台様がされているように
イベント編集画面の画像を貼っていただけると的確なアドバイスができると思います。

キーボードの『PrtScn』というボタンを押せば画面に移されている映像が一時保存されますので、
ペイントソフトを適当に立ち上げて右クリック。
『貼り付け』で簡単にイベント編集画面をピクチャ化できますよ。
 

ゆーすけ

ユーザー
初めまして。ただいまVXAceを使って製作中です。質問をさせてください。

最近$game_variablesに文字列や配列を保存する方法がわかりました。
すごく便利だと思ったのですが以前どこかの講座か質問板かで

「原則$game_variablesには数字しか入れない。文字列の保存は使用しないアクターの名前を利用する。」

といった記述を見た覚えがあります。
$game_variablesに数字以外のデータを入れるのは何か問題があるのでしょうか?

下らない質問なのかもしれませんがよかったら回答お願いします。
 
>ゆーすけさん、こん**は。
それを俎上に上げたのは恐らく僕のツイッターだと思われます。
その時のやりとりは、以下のツイッターのモーメントで僕がまとめています。
https://twitter.com/i/moments/855760720532615168

つまり「本来の変数の想定された使い方とは異なるが、
利用する側が注意していれば何の問題もない」という結論です。

しかも、Javascriptと異なり、Rubyは、0や空文字列もfalseではなくtrueになるため、
安全性は、VX Aceではさらに高いです。

ですので、安心して、変数や配列を入れてかまいません。

この件は、僕はあくまで、変数には数字しか入れない、意固地な人間なので、
それでこういう質問をして、こういう流れになった、ということです。
 

ゆーすけ

ユーザー
>神無月サスケ様
御回答ありがとうございます。安心しました:kaojoy:
私が見たのは1年以上前だったので他の所ですね。

ただ、デバッグ画面に収まらないような量の数値を配列に入れた場合
[F9]を押して変数を表示しようとすると強制終了されてしまいます。
デバッグ画面が使えないのは不便なので実際は――

プレイ中はグローバル変数$nに代入

       ↓

セーブ画面を開いた時に

$game_variables[n] = $n if $n != nil
$n = nil
$game_switches[n] = true

       ↓

コモンイベント(トリガー自動実行:条件スイッチ[n])で

if $game_variables[n] != 0
$n = $game_variables[n]
$game_variables[n] = 0
end
$game_switches[n] = false

――のように、ちゃんとスクリプトを使ってる人に見せるのは恥ずかしい処理をしています……:kaoblush:

そんな回りくどいことしなくてもこうすれば簡単だよ
等のご助言頂けると嬉しいです。
 

めっつ

ユーザー
初心者です。
(会話などの)イベントで複数のキャラチップを変更する際、
スイッチを使用して、EVページ変更の条件に割り当てているのですが、
もっとこう…スマートなやり方があれば教えてください。

説明が分かりにくくて申し訳ないのですが、例えば、

進行のイベントでスイッチ1をON

条件が一致して
キャラAのEVページが2に切り替わる(キャラチップ変更のため)
キャラBのEVページが2に切り替わる(キャラチップ変更のため)

進行のイベントでスイッチ2をON

条件が一致して
キャラAのEVページが3に切り替わる(キャラチップ変更のため)
キャラBのEVページが3に切り替わる(キャラチップ変更のため)

と、堅実に変更されていて不都合な点は何もないのですが…。
変数やスクリプトを使って連動できるような小技がありましたら、
ぜひ教えていただきたく思います!
 

開拓者

ユーザー
Aceですが移動ルートの設定ページの右下のほうに「グラフィックの変更」というコマンドがあり
それを選ぶと指定したイベントのキャラチップを変更する事ができます。

ただ、凍っているキャラチップや倒れているキャラチップのように
「足踏みで見た目が変わる物」は何番目を表示するか設定できないので
それだけスイッチとイベントページで表示するといいですよ。
 

めっつ

ユーザー
Aceですが移動ルートの設定ページの右下のほうに「グラフィックの変更」というコマンドがあり
それを選ぶと指定したイベントのキャラチップを変更する事ができます。

ただ、凍っているキャラチップや倒れているキャラチップのように
「足踏みで見た目が変わる物」は何番目を表示するか設定できないので
それだけスイッチとイベントページで表示するといいですよ。
回答ありがとうございます!
キャラチップを作り直さなさなくてはいけませんが、
今後のことを考えると教えていただいた方法が使えるようにしたほうがいいですね。
 

めっつ

ユーザー
・毒ダメージで戦闘不能になる設定(FF6みたいに)
・メニューを閉じる時に変数を取得するやり方

…も質問したいのですが、こちらはスレッド違いになるでしょうか?
初心者故に、これが初歩的な質問かどうかも分かりません。
もし他で質問することでしたら、誘導していただきたく思います。
 
めっつさん、こん**は。
>・毒ダメージで戦闘不能になる設定(FF6みたいに)
こちらはデータベースの「システム」で変更可能です。
右上のオプションで「スリップダメージで戦闘不能」にチェックを入れたら、お望みの状態になります。

>・メニューを閉じる時に変数を取得するやり方
こちらは、そういったプラグインを作る必要があると思われます(既にあるかも)。
どのような目的で、どのような変数を取得したいかによって変わってくると思われます。
なので、そのあたりをもう少し詳しく書いてくれれば、助かります。
 

めっつ

ユーザー
めっつさん、こん**は。
>・毒ダメージで戦闘不能になる設定(FF6みたいに)
こちらはデータベースの「システム」で変更可能です。
右上のオプションで「スリップダメージで戦闘不能」にチェックを入れたら、お望みの状態になります。

>・メニューを閉じる時に変数を取得するやり方
こちらは、そういったプラグインを作る必要があると思われます(既にあるかも)。
どのような目的で、どのような変数を取得したいかによって変わってくると思われます。
なので、そのあたりをもう少し詳しく書いてくれれば、助かります。
回答ありがとうございます!
システムの項目にあったとは…もっと色々なところを調べないといけなかったですね。

メニューを閉じるときに変数を取得するのに使いたい理由は、
先頭キャラの情報(キャラID)を取得したいからです。

先頭キャラクターによって、マップに配置されるキャラクターが変わる状況を作りたいのです。
例えば、ABCDというキャラがいたとしまして、
Aが先頭の時はBCDがいる、Bが先頭の時はACDがいる…ということです。

そのマップで並び替え禁止を施して、マップの切り替え時に先頭キャラの変数を取得する
という解決策があるにはあるのですが(初心者なりに絞り出した…)、
どうせなら並び替えを行ったときに変更できたらいいなーと思って質問した次第です。
 
どうも、めっつさん、こん**は。

要するにご要望は、「先頭のアクターだけを表示したくない」ということですかね。
それを踏まえて、ちゃちゃっとプラグインを作成いたしました。

デフォルトは「先頭キャラ表示されない」状態で、プラグインコマンドで切り替えられます。

これがめっつさんのお望みのものであれば幸甚です。
 

Attachments

めっつ

ユーザー
神無月サスケさん
プラグインまで作っていただいて…本当にありがとうございます!
でも、大変申し訳ないのですが、ちょっと違うみたいです…。
こちらの伝え方が悪くてすみません。

具体的に例を挙げて説明しますと(パーティは隊列表示でないです)、

パーティ一行(ABCD)が宿屋の一室で休憩する
先頭アクターはプレイヤーとして行動し、
マップにあらかじめ配置された他アクターに話しかけて会話ができる
…という状況を作るのが目標なのです。
(メニューを開くとABCDが表示されています)

その際に、先頭アクターが変更された瞬間、
先頭アクターがイベントとして配置(表示)され、
新たに先頭アクターになったキャラのイベントが非表示になる
…という設定が必要だったわけです。

お手数おかけして、本当にすみませんでした。
 

Attachments

どうも、めっつさん、こん**は。
要するに、以下のことがやりたいんですね。

メニューを閉じたときに以下のことが実行される:
1.隊列歩行をなくして先頭のキャラだけを表示したい
2.2~4番目のアクターIDを取得したい

これも簡単にできると思うので、ちょっとやってみたいと思います。
しばしお待ちを。
 
トップ