//スクリプト
function activer(object_name){
instance_active_object(object_name)
}
このスクリプトをcall_later(60,time_source_units_frames,activer(ObjectA))で実行すると「Time source callback must be a method or function」というエラーが起きます。その他すべてのスクリプトをcall_laterで実行してもそれぞれ同じエラーになってしまいます。(alarmを使えば解決するのですがシンプル化したかったので.....)
すみません!こんな感じです!表示されてるものを直接スクショしたのでサイズが異なるように見えますがフォントやフォントのサイズ等はどっちも同じです。他のフォントも同様のことが起こります。フルスクリーンにするプログラムはただwindow_set_fullscreen(true)を実行しただけです。
CSVファイルですか。参考になりました。
調べながらやってみます。
回答ありがとうございます!
スクリーンショットなどを貼っていただけると原因が特定しやすいので助かります
こんにちは
自作したダイアログシステムで開発していますが
チュートリアルの内容と若干似ているようなので
参考になるかわかりませんが私の手法を記載します。
メッセージの管理方法についてですが、すべて
CSVファイルで管理しています。
メッセージごとにID、話者名、アイコン(スプライトアセット名)、内容などを記載し、
GameMakerで配列内に構造体として読み込んでいます。
メッセージを表示させるときは、
例えばID1~5のメッセージ構造体を抽出して、描画用配列にプッシュするような使い方です。
続けて流すメッセージはグループ番号のようなものを振って、まとめて抽出するのもありです。
スプライトアセット名はそのまま文字列で読み込んでもエラーになるので、
asset_get_indexでインデックスIDに直してから使っています
array_pushやarray_shiftも使っていますが特に問題はないです。
参考になれば幸いです。
よろしくお願いします。
回答ありがとうございます。
リンクのマニュアルを読み、テストプロジェクトにて使用テストを行いました。
立ち絵操作以外の処理を行う単発式のダイアログシステムは
ほぼ完成してしまったので、せっかくなのでそちらを使用していこうと思います。
テキストの色を文字列から簡単に変えられるのは良いですね。
私は見つけられませんでしたが、表示するメッセージ、立ち絵の情報、発言者……などをまとめて管理する機能もあったりするのでしょうか。
行き詰まったりしたら、今後、使用するかもしれません。
リンク
上のリンクが切れてたので再掲です。
質問の趣旨とはずれるかもしれませんが、基本的なダイアログシステムの構築が楽になるGameMakerのライブラリーがあります。
リンク
テキストのタイプライター効果や、テキスト折り返しの条件などを割と簡単に指定できます。
機能がてんこ盛りなので、ドキュメントを精読して色々実験する必要はあると思いますがアドベンチャーゲームの作成にも役立つと思います。
解答がズレてたらごめんなさい!!
まさに欲してたものです!ありがとうございます!
やりたいことによって、
keyboard_key
keyboard_lastkey
keyboard_lastchar
keyboard_string
これらのビルトイン変数を使うのはどうでしょうか。
それぞれマニュアルで調べてみてください。
例えばDrawGUIでこう記述すると、最後に押された文字が表示されます
使い方で分からなかったらまた聞いて下さい
なるほど!!ありがとうございます!!!
一部分だけ半透明にして、他は影響させないようにする場合は、
というように、alpha値を戻してください。
そろそろ名前一括変換だけじゃなく、変数や関数の参照箇所のみの変換がほしいですねぇ。
便利そう!
対応してないからエラーが起きてたんですね......ありがとうございました!!!!
引数ありの関数にはまだ対応していなかったはずです。
次のように、一度引数なしのローカル関数でつつんであげるといけるかもしれません。
ストレージの故障というのはあくまで推測なのではっきりしたことが言えず申し訳ないですが、
バックアップはできるだけ頻繁に取るようにしたほうがいいですね。
今回偶然か気づいていないだけなのかもしれないんですが、作っていたプロジェクトだけがピンポイントで破損していたので......分かりづらかったんですがやっぱりHDD,SSDの問題ですよね.......。そこまでスペックも悪いわけでもないのに強制終了ショートカットが効かないフリーズだったので、パソコン本体の電源を直接落としたんですが.......電源落としは良くないですね....。
すみません!!
コード自体はシンプルで、
このスクリプトをcall_later(60,time_source_units_frames,activer(ObjectA))で実行すると「Time source callback must be a method or function」というエラーが起きます。その他すべてのスクリプトをcall_laterで実行してもそれぞれ同じエラーになってしまいます。(alarmを使えば解決するのですがシンプル化したかったので.....)
具体的なソースコードがあると原因が特定しやすいので貼り付けてもらえると助かります!
GameMakerのIDEを使っている中で、プロジェクトが壊れてアセットブラウザにアセットが表示されなくなることはあります。
その場合はプロジェクトファイルを修復するか、作り直す(別名でエクスポートなどの方法があります)のを試す流れになります。
ですが、GameMakerを起動していない時に何らかの原因でファイル自体が壊れたり消えたりするのは、GameMakerが原因ではないHDDやSSDの故障によるデータ破損のケースだと思います。
ちなみに、私の場合はプロジェクト丸ごとを圧縮してクラウドにバックアップしています。
私が使ってるのはdropboxですが、dropboxの同期対象フォルダにプロジェクトを置いて作業すると問題が生じるとか読んだ記憶があるので、プロジェクトはクラウドの同期対象フォルダには置かず、かつ同期などは使わずに手動でバックアップしています。
以前クラウド系にファイルを保存するなという警告を受けて、クラウド系からHDD(SSD)にコピーして使っていたんですが、少し前に戻ってしまうもののコピー元を削除していなかったのでよかったです!!!ありがとうございました!!!バックアップは今後しっかりとっておきます......
バックアップはないです....。一応Gamemaker studio2側のエラーか何かで消えた線を考えてみて質問させていただいたのですが......やはりそうですよね......。色々検討してみます!!ありがとうございました!!!
プロジェクトのフォルダの中身が消えたということでしょうか?
HDD(SSD)が破損してデータが失われたというケースを仮定しますと、
その場合はバックアップがあればそこから復活ですが、無ければ難しいかもしれません。
(HDDデータ復旧サービスはありますが、お金がかかって必ず復活できるかも分からないので、なんとも言えません)
バックアップはありますか?
レイヤー複数あったときこれないとまじできついっす。
ありがとうございました。
よかったです!!
色々と試していった結果、無事治すことが出来たため、同じ問題が起こった方のために書いておきます。
原因自体は明確にはわかっていませんが、Gamemakerを最初にインストールした時に作成されるファイル群にありそうです。
このファイル群は、Gamemakerをただアンインストールするだけでは削除されないようです。
、
1.作成しているファイルなどを外付けの記憶媒体に移しておく。
こちらのサイトに書いてあるアンインストーラーをダウンロードして起動
3.Gamemakerに関連するファイルを全て削除(この時に、1番を行っていないと作成したものが全て消えてしまいそうです。)
4.再度インストールし、1番を戻す。
この手順で無事サウンドファイル周りを使えるようになりました。
ありがとうございました。
xyz様
複数の解決への手かがりとなり得る方法を教えてくださりありがとうございます。
可能性程度でも良いので何か手段が思いつきましたら教えていただけると幸いです
流石にプロジェクト内のコードをいじっただけでシステムエラーは起きないと思います
最初に貼ったmicrosoftコミュニティの一番下にも書いてあった通りOSの再構築をすれば何とかなるとは思いますが.......下手したら最悪データが消えてしまったりもするのでなるべくその方法は避けたいですが.....今のところ対処法が考え付かないです....。申し訳ないです。何かいい方法を思いついたり見つけたらまた送ります!あともしこれを見ている方で分かる方がいたらお願いします!!
wavファイルで試しましたが、できませんでした。
Gamemaker以外では特に何もしていないです。
最後に実行できた状態から実行できなくなる状態になる間もずっとGamemakerを開いていたので、他のソフトなどが影響した可能性は少ないかなと思っています。
開けなくなる直前にしたことは、使用している関数の引数を変更し、それによる変数名を間違えていたくらいなのですが、それが関係ある可能性はありますかね?
すみません!!6):mp3,wav,oggの間違いです!!とはいえそうなってくると色々難しいですね......。ちなみに普通に開けていた時とエラーが起こるようになった時の間にGamemaker studio2以外で何かしら作業した覚えはありますか?
1)していません
2)ffエラーが発生します。
3)同じようなサウンドファイルが作成されてします。
4)クラウド系には保存されていません。
5)正常に開くことが可能です。
6)mp4などをインポートする方法が分からないです、申し訳ございません。
7)エラーは発生しませんでした。
サウンドファイルが全ての原因である可能性が高いってことですね.......
いくつかまた聞きたいことと試して欲しいがあるのですが、
1):サウンドファイルはmp4等のファイルを名前変更で拡張子を強制的にmp3等のサウンドファイルにしていないか
2):新しくプロジェクトを作成し、サウンドファイルをインポートし、一度閉じ、開いたときにエラーが起こった時に、再度コマンドプロンプトでコマンドを実行し、開いた場合エラーになるか
3):エクスプローラーから直接ドラッグアンドドロップした場合も同じようになるか
4):Gamemaker studio2のファイルとプロジェクトファイルがクラウド系(One Drive等)のファイルに保存されていないか
5):サウンドファイルがないプロジェクトで画像を作成し、Gamemaker studio2内の画像編集ツールで何か適当に描いて保存し、開いた場合正常に開けるか
6):mp4,wav,ogg全ての音声ファイルでエラーが起こるか
7):Gamemaker studio2以外のソフトで音声ファイルを扱った場合エラーは起きるか
聞くことが多くなってしまってすみません.....
一部訂正させていただきます
①起動時になんらかのサウンドファイルがある状態で、起動時にあったサウンドファイルが一つでも残った状態で実行を行うとff……エラーが発生する。
②起動時にサウンドファイルが一つもない、もしくは起動時にあったサウンドファイルが全て消えていて、
起動後にサウンドファイルを作成、インポートを行うと上で貼ったようなサウンドファイル(参照mp3の中身に関わらず、波形なし)が作成され、それがある状態で実行するとコンパイルエラー
一つもサウンドファイルがなければ何もエラーは起こらず、逆に一つでもサウンドファイルが存在すると1,2のどちらかに該当しエラーが発生します
xyz様の仰ったことを試そうと思い、別のプロジェクトを開き、とりあえず一度実行を行うと、またffprobe.exeエラーが発生してしまいました。
気になったため色々と実験をしてみたところ、それぞれのエラーの発生条件は分かりました
①起動時になんらかのサウンドファイルがある状態で実行を行うとff……エラーが発生する。
②起動時にサウンドファイルがない状態から、新たにサウンドファイルを作成、インポートを行うと上で貼ったようなサウンドファイル(波形なしでコンパイルエラー発生)
これが全てのプロジェクトで発生しています。
別のプロジェクトでインポートしても同じようになりますか?
ありがとうございます。
実行したところ、上記エラーが発生しなくなりました。
しかし、異なる問題が発生しました。
Error : Failed to convert audio file 'snd_cursor_select'. Check source file 'C:\Users\Username\GameMakerProjects\Project\sounds\snd_cursor_select\snd_cursor_select.mp3'
というコンパイルエラーが全てのSoundファイルで出るようになりました。
エクスプローラーからmp3を再生したところ、何も問題がなかったため、一度すべてのサウンドファイルを削除、サウンドファイルを参照する部分をコメントアウトして実行すると、無事実行することが出来ました。
そのため、もう一度サウンドファイルを作り直したところ、インポート操作を行っても
このように音の波形が表示されず、そのまま実行するとやはり上記エラーが発生してしまいます。
確認したところ、画像ファイルのインポートもできませんでした。(しかし、これによってエラーは発生しないようです)
これらの原因がわかる方いらっしゃいましたらよろしくお願いします。
microsofrコミュニティ
https://answers.microsoft.com/ja-jp/windows/forum/all/dllファイルを/4b65ab9b-5d52-4f96-80c4-0e475c8ddac6
microsoftサポート
https://support.microsoft.com/ja-jp/topic/システム-ファイル-チェッカー-ツールを使用して不足または破損しているシステム-ファイルを修復する-79aa86cb-ca52-166a-92a3-966e85d4094e
上手く貼れてなかったので貼り直しました!
このエラーはGamemaker studio2のエラーというよりかはWindows自体のエラーで似たような事象が起きた方のMicrosoftコミュニティのトピックとそこの解決方法に書いてあるコマンドについてのサポートページを見つけたので試してみてください
なるほど、そういうツールが作れたら便利そうですね。
ファイル分けを自動化するか、それが難しければ制作中は1つでやって最終的にファイルを分ける方法を考えたいと思います。
ありがとうございます!