なーるほど
掲示板が役に立ってよかった!
自分も同じ不具合になりました。そんでこのスレッドのおかげで解決しました。あせったー。
おおすごい!
このチュートリアルを元にクォータービューのマップを描画することに成功しました タイル1つ1つがdepthを持っているのでちゃんと裏に回れます
depth
親オブジェクトを作って子オブジェクトに継承する実装パターンでも同じことが出来てましたが、如何せん可読性に欠けるのがGMSの課題点だったなと。Structが使えるようになってよりスムーズな開発が出来るようになったのが個人的には一番嬉しいです。
クラスみたいな感じですね。 自分は変数系をただ単にまとめるだけとか、関数の戻り値を二つほしいときなんかに使ってます。
自分はこんな感じで使っています
function InstanceBase(_hp, _speed, _assets) constructor{ // 変数 hp = _hp; speed = _speed; assets = _assets; // 一時変数 mpX = undefined; mpY = undefined; // 状態変数 isMoving = false; // 移動開始 static move = function (_x, _y){ mpX = _x; mpY = _y; } // インスタンス共通処理 static step = function (){ if(mpX != undefined && mpY != undefined){ with(other){ if(point_distance(x, y, other.mpX, other.mpY) > other.speed){ other.isMoving = true; if(x < other.mpX){ image_xscale = 1; }else{ image_xscale = -1; } if(y < other.mpY){ sprite_index = other.assets.front; }else{ sprite_index = other.assets.back; } move_towards_point(other.mpX, other.mpY, other.speed); }else{ other.isMoving = false; other.mpX = undefined; other.mpY = undefined; speed = 0; } } } } }
// create player = new InstanceBase(10, 0.5, {front: player_front, back: player_back}); // step if(mouse_check_button(mb_left)){ player.move(mouse_x, mouse_y); } player.step();
コードエディターで文字の上でダブルクリックしたときに、全角と半角を区別して選択して欲しい
コードエディターでCtrl+左右キーを押したとき、半角文字と全角文字の境目で止まって欲しい
自分もその設定になってました...
最近存在に気付いた設定
デフォルトなのかいつの間にか設定してたのか分かりませんが、自分の環境だと コード補完遅延 が 2000ms に設定されておりGMLが苦行でしかなかったです😨
コード補完遅延
いやいや生高橋さんが申し訳なくなる必要どこにもないですよ!
あさまどさんが2.3にしたことで超大変なことになってるのなんか申し訳なくなってます...
オブジェクトの編集での座標やルームサイズの数値を変更する際に数値の直打ちだけでなく計算式を使いたい。
roomエディターに配置したインスタンスのoriginを表示する機能
下記バグが報告済みでした。修正されるのを待ちます。
In-Game: Tilesets do not update correctly when importing a replacement source image if "Disable Source Sprite Export" is disabled
すみません、この配列の一部分が消える現象はRunner.exe exited with non-zero statusの件とは別のエラーみたいです。
2次元配列を何度も使うスクリプトが原因だとみていたのですが、デバッガで確認してみたところ、スクリプトに使用される2次元配列の一部分がそっくり消えていました。
hairetu[0] = [1,2,3]←この部分が消失 hairetu[1] = [4,5,6] hairetu[2] = [7,8,9]
配列の要素数を削るような処理は書いてないはずなので、バッファオーバーフローの影響なのでしょうか。 (配列の要素が無いのが原因ならば普通にエラーメッセージが出てくる気もするのですが…)
仮に原因が特定できても本当にたまーにしかでない現象なので、検証は骨が折れそうです…。
・構造体を作ってる処理 ・roomのpersistent これらも、メモリリーク、バッファオーバーフローの要因になり得るようです。 もし原因箇所が絞り込めたら、わざとメモリリークを起こさせてできれば毎回再現するようにして、
gc_enable(false);
を試してみてください(再現性を確かめるためです。無効にするのは非推奨です)。 GMS2.3になってからガーベージコレクションがうまくいってないのかもしれません。 (GBに起因する他の不具合が修正されたばかりですし)
Forumの参考スレッド https://forum.yoyogames.com/index.php?threads/persistence-problem-i-think.78177/
Forumを調べたところこの問題はメモリリークやバッファオーバーフローが関連しているらしいです。 それが発生する部分どんな処理をしているか調べる必要がありそうです。
大きなファイルの読み書き、 非常に長い文字列の処理、 巨大な配列の処理、 オーバーフローを引き起こすループ処理、 サーフェイスの無限作成、などなど、
原始的な調べ方ですが、問題が出なくなるまで1つ1つコメントアウトしていき、原因箇所を突き止めるというもの。 https://forum.yoyogames.com/index.php?threads/x-windows-runner-exe-exited-with-non-zero-status-1073741819.53631/
しかし、たまにしか起こらないというのが曲者ですね。 上で挙げたような処理をしている部分に心当たりはあるでしょうか。
たぶんそういう理屈で差が出てるんだと思ってます。 描画パイプライン(と言うのか?)、描画までの内部のプロセスが分からないので、はっきりスッキリさせられないのがもやもやします。
むっちゃ仮説ですが 1の場合は640x360を0.75スケールしたもの 2の場合は640x360を2倍にして0.75でスケールしたもの
2の場合は画像上の1ドットは4pixelで表現されているので、なめらかに動いて見えるし、ドットの崩れも多少抑えられているみたいな感じでしょうか。
これ自分もずっと知りたかったやつです。ありがとうございます。
自分的にはドットの荒れ度合いよりもさらに動きがカクつくことが気になるので、「1は選びたくないなあ、でも2が負荷が高かったら嫌だな…」と思っていました。
そしたらプログラマーの方(著名ゲームを手掛けてる人で信頼しています)から負荷の違いはわずかだから好きな方を選んで大丈夫と教えてもらいました。
というわけで、未だ理屈は分かっていませんが、パフォーマンス面での違いは小さいと分かったので、2の方法を選ぶことにしました。
2.滑らかに動きます(サムネクリックで動きます)
View post on imgur.com
スクロールやキャラの動きにも違いが出ることが分かりました。
1.少しカクついています(サムネクリックで動きます)
Asset Browserでキーワード検索した時にフィルターされないオプションが欲しい。 今はフィルターされてマッチしたものだけが表示される。それしか選択肢がないのは不便だ。
gms2.3 Ctrl+Tでscript内のfunctionも検索対象にして欲しい。 そして選んだら、該当するscript内のfunctionを開いてちょうどいい位置に表示してほしい。Ctrl+Shift+Fの検索結果を開いたときのように。
gms2.3 コードエディタでfunctionにカーソル合わせてF1を押したら、該当するscript内のfunctionを開いてちょうどいい位置に表示してほしい。Ctrl+Shift+Fの検索結果を開いたときのように。
わお!
ありがとうございます! フォントエディタから[add]しておりまして、 texture page sizeを大きくしてみただけではダメだったのですが、 フォントエディタでサイズを小さくしたら正常に表示できました
IDEは2.2か2.3で、fontを組み込む際はfont_addを使用していますか?またはフォントエディタから[add]していますか?
font_addを使用しているならfont_texture_page_size(デフォルト1024px)を変更して解決されるかもしれません。
フォントエディタから追加してる場合は恐らく通常のテクスチャページに構成されますので ゲームのtexture page size(デフォルト2048px)を変更して解決するかもしれません。 game options > windows > graphics > texture page size
細かく自分なりにカーブで調整できるのはいいですよね。 コードだとそれが厳しいので。
結構大変そうですね
デバッガで、実行されたイベントやスクリプトのログが欲しい。(ブレークポイントからでいい)
理由 値が更新されたタイミングとどこで更新してるのかが知りたい時、無限にF11を押して値が変わるのを待つのが本当に疲れる。F11を押しすぎたら全部無駄になり最初からやり直し。これがつらい。 値が更新されたのを確認したらそこから少し戻って何が実行されたのか確認できたら楽になる。
野暮用を片付けたら、今月中に乗り換えるんだ……
Ctrl+Dやばいっすね
MathorooさんのはUdemyにもMathorooさんのはUdemyにも置いてあって、アドバイスも質問すれば受けてもらえるので良かったです。インドなまりあるけどゆったりとしていて結構聞きやすいので日本人にはいいと勝手ながら思ってます笑
マニュアル(ver2~2.2.x) マニュアル(ver2.3~) YoYoGames YoYoGames 公式コミュニティ GM関連のYoutubeチャンネル集 解説・資料サイト集(日本語) 解説・資料サイト集(英語)
なーるほど
掲示板が役に立ってよかった!
自分も同じ不具合になりました。そんでこのスレッドのおかげで解決しました。あせったー。
おおすごい!
このチュートリアルを元にクォータービューのマップを描画することに成功しました
タイル1つ1つが
depth
を持っているのでちゃんと裏に回れます親オブジェクトを作って子オブジェクトに継承する実装パターンでも同じことが出来てましたが、如何せん可読性に欠けるのがGMSの課題点だったなと。Structが使えるようになってよりスムーズな開発が出来るようになったのが個人的には一番嬉しいです。
クラスみたいな感じですね。
自分は変数系をただ単にまとめるだけとか、関数の戻り値を二つほしいときなんかに使ってます。
自分はこんな感じで使っています
InstanceBase
player
コードエディターで文字の上でダブルクリックしたときに、全角と半角を区別して選択して欲しい
コードエディターでCtrl+左右キーを押したとき、半角文字と全角文字の境目で止まって欲しい
自分もその設定になってました...
最近存在に気付いた設定

デフォルトなのかいつの間にか設定してたのか分かりませんが、自分の環境だと
コード補完遅延
が 2000ms に設定されておりGMLが苦行でしかなかったです😨いやいや生高橋さんが申し訳なくなる必要どこにもないですよ!
あさまどさんが2.3にしたことで超大変なことになってるのなんか申し訳なくなってます...
オブジェクトの編集での座標やルームサイズの数値を変更する際に数値の直打ちだけでなく計算式を使いたい。
roomエディターに配置したインスタンスのoriginを表示する機能
下記バグが報告済みでした。修正されるのを待ちます。
すみません、この配列の一部分が消える現象はRunner.exe exited with non-zero statusの件とは別のエラーみたいです。
2次元配列を何度も使うスクリプトが原因だとみていたのですが、デバッガで確認してみたところ、スクリプトに使用される2次元配列の一部分がそっくり消えていました。
配列の要素数を削るような処理は書いてないはずなので、バッファオーバーフローの影響なのでしょうか。
(配列の要素が無いのが原因ならば普通にエラーメッセージが出てくる気もするのですが…)
仮に原因が特定できても本当にたまーにしかでない現象なので、検証は骨が折れそうです…。
・構造体を作ってる処理
・roomのpersistent
これらも、メモリリーク、バッファオーバーフローの要因になり得るようです。
もし原因箇所が絞り込めたら、わざとメモリリークを起こさせてできれば毎回再現するようにして、
を試してみてください(再現性を確かめるためです。無効にするのは非推奨です)。
GMS2.3になってからガーベージコレクションがうまくいってないのかもしれません。
(GBに起因する他の不具合が修正されたばかりですし)
Forumの参考スレッド
https://forum.yoyogames.com/index.php?threads/persistence-problem-i-think.78177/
Forumを調べたところこの問題はメモリリークやバッファオーバーフローが関連しているらしいです。
それが発生する部分どんな処理をしているか調べる必要がありそうです。
大きなファイルの読み書き、
非常に長い文字列の処理、
巨大な配列の処理、
オーバーフローを引き起こすループ処理、
サーフェイスの無限作成、などなど、
原始的な調べ方ですが、問題が出なくなるまで1つ1つコメントアウトしていき、原因箇所を突き止めるというもの。
https://forum.yoyogames.com/index.php?threads/x-windows-runner-exe-exited-with-non-zero-status-1073741819.53631/
しかし、たまにしか起こらないというのが曲者ですね。
上で挙げたような処理をしている部分に心当たりはあるでしょうか。
たぶんそういう理屈で差が出てるんだと思ってます。
描画パイプライン(と言うのか?)、描画までの内部のプロセスが分からないので、はっきりスッキリさせられないのがもやもやします。
むっちゃ仮説ですが
1の場合は640x360を0.75スケールしたもの
2の場合は640x360を2倍にして0.75でスケールしたもの
2の場合は画像上の1ドットは4pixelで表現されているので、なめらかに動いて見えるし、ドットの崩れも多少抑えられているみたいな感じでしょうか。
これ自分もずっと知りたかったやつです。ありがとうございます。
自分的にはドットの荒れ度合いよりもさらに動きがカクつくことが気になるので、「1は選びたくないなあ、でも2が負荷が高かったら嫌だな…」と思っていました。
そしたらプログラマーの方(著名ゲームを手掛けてる人で信頼しています)から負荷の違いはわずかだから好きな方を選んで大丈夫と教えてもらいました。
というわけで、未だ理屈は分かっていませんが、パフォーマンス面での違いは小さいと分かったので、2の方法を選ぶことにしました。
2.滑らかに動きます(サムネクリックで動きます)
スクロールやキャラの動きにも違いが出ることが分かりました。
1.少しカクついています(サムネクリックで動きます)
Asset Browserでキーワード検索した時にフィルターされないオプションが欲しい。
今はフィルターされてマッチしたものだけが表示される。それしか選択肢がないのは不便だ。
gms2.3
Ctrl+Tでscript内のfunctionも検索対象にして欲しい。
そして選んだら、該当するscript内のfunctionを開いてちょうどいい位置に表示してほしい。Ctrl+Shift+Fの検索結果を開いたときのように。
gms2.3
コードエディタでfunctionにカーソル合わせてF1を押したら、該当するscript内のfunctionを開いてちょうどいい位置に表示してほしい。Ctrl+Shift+Fの検索結果を開いたときのように。
わお!
ありがとうございます!
フォントエディタから[add]しておりまして、
texture page sizeを大きくしてみただけではダメだったのですが、
フォントエディタでサイズを小さくしたら正常に表示できました
IDEは2.2か2.3で、fontを組み込む際はfont_addを使用していますか?またはフォントエディタから[add]していますか?
font_addを使用しているならfont_texture_page_size(デフォルト1024px)を変更して解決されるかもしれません。
フォントエディタから追加してる場合は恐らく通常のテクスチャページに構成されますので
ゲームのtexture page size(デフォルト2048px)を変更して解決するかもしれません。
game options > windows > graphics > texture page size
細かく自分なりにカーブで調整できるのはいいですよね。
コードだとそれが厳しいので。
結構大変そうですね
デバッガで、実行されたイベントやスクリプトのログが欲しい。(ブレークポイントからでいい)
理由
値が更新されたタイミングとどこで更新してるのかが知りたい時、無限にF11を押して値が変わるのを待つのが本当に疲れる。F11を押しすぎたら全部無駄になり最初からやり直し。これがつらい。
値が更新されたのを確認したらそこから少し戻って何が実行されたのか確認できたら楽になる。
野暮用を片付けたら、今月中に乗り換えるんだ……
Ctrl+Dやばいっすね
MathorooさんのはUdemyにもMathorooさんのはUdemyにも置いてあって、アドバイスも質問すれば受けてもらえるので良かったです。インドなまりあるけどゆったりとしていて結構聞きやすいので日本人にはいいと勝手ながら思ってます笑