GameMaker 日本語掲示板

views
16 フォロー
988 件中 601 から 640 までを表示しています。
1
asa 2021/09/29 (水) 17:36:19 修正

フォーラムでアドバイスを得て、浮動小数点の状態を確認しましたら、以下のようになりました。
image_index 5を指定すると4.99999952などの値になり、結果、期待に反してimage_index4で止まります。
image_index 4を指定すると4.00000048などの値になり、結果、期待通りにimage_index4で止まります。
この問題を避けるために、image_indexに「止めたいframe番号+0.1」を指定するといいと理解しました。

画像1

以上です。
とりあえず理解できたので、タイトルを「解決」にします。
YoYoGamesからの回答で、理解が完全に混乱してしちゃってました。

5

今まで使えていたのに、バージョンを戻してもダメっていうのは不可解ですね。
アンインストールしても何かゴミが残っててそれが悪さしてるんでしょうか…?

これが関係するか不明ですが、一応参考資料を貼っておきます。
User Permissions and Internet Access Required by GMS2
https://help.yoyogames.com/hc/en-us/articles/360022953052

2
yOichi 2021/09/25 (土) 05:01:47

情報ありがとうございます。

>PCはwindowsでしょうか?
>また、買ったのはsteamからでしょうか、YoYoGamesからでしょうか。
Windowsですね。
購入したのはYoYoGamesからですね。SteamからだとSteamとYoYoのアカウントを連携させないと起動しないといけないときがあるそうですが、これは当てはまらなさそうですね。

>インストールは成功していて、起動に失敗しているとすると、
>管理者権限で起動してみる
>セキュリティソフトを切って起動してみる
>YoYoGamesにログインできるか
YoYoGamesにはログインできているので、できるのは管理者権限かセキュリティソフト(Windpesディフェンダーくらいですが)でしょうか。とりまサブPCには入れられているので、週明けにでも試してみます。

ちなみに、こういうのも見つけて試してみましたが、効果はありませんでした。
https://help.yoyogames.com/hc/en-us/articles/115004943807-How-to-apply-the-Windows-software-renderer-if-your-GPU-does-not-support-GMS2

1
asa 2021/09/24 (金) 21:21:49 修正

PCはwindowsでしょうか?
また、買ったのはsteamからでしょうか、YoYoGamesからでしょうか。
(私自身は解決方法は分からないのですが、他の方が見る参考情報として。)

インストールは成功していて、起動に失敗しているとすると、
管理者権限で起動してみる
セキュリティソフトを切って起動してみる
YoYoGamesにログインできるか
steamで買った場合、steamにログインできるか
このあたりを確認するとどうなるでしょうか。

9

OS: win10
IME: google IME
IDE v2.3.4.583

IMEオンにするとショートカットキーが効かなくなる ---> 変わらず
インライン入力 ---> できる
全角スペースの入力 ---> できる
変換確定せず英数に戻した後の文字入力 ---> できる
IME使用中、ラグくなることがある ---> IDEがラグくなることがあるので、IMEとの関係がはっきりしない。
IMEで長い文章が入力できない ---> 変わらず。全角10文字以上入力するとインラインに反映されなくなる。

一時より改善されてる印象です。

8
hayate212 2021/09/23 (木) 23:27:35 >> 7

今回のアップデートでインライン入力出来るようになった気がします。
まだそんなに触っていないので不確かですが気持ち以前のバージョンより安定している気がしています!

7

日本語はずっと蚊帳の外なんで、中国語がサポートされた結果同時に日本語についても直ったらいいなと思います・・・

6
hayate212 2021/09/23 (木) 22:37:00

UI/UX: IME support has had several fixes to make it more reliable, especialy when using Chinese
https://gms.yoyogames.com/ReleaseNotes.html

リリースノート読む限り中国語へのサポート手厚くしていくようなので(?)今後解決すると願うばかりですね・・・

5
asa 2021/09/22 (水) 16:14:52 修正 >> 3

ご協力ありがとうございます!🙏

情報が集まって「どうもPC環境が原因のレアケースじゃないっぽいぞ」となったらYoYoGamesに報告して改善に役立ててもらいたいと思います。

4
生高橋 2021/09/22 (水) 15:40:09 >> 3

あーインライン入力はたしかにできないですね!

3
樹ひかり 2021/09/22 (水) 15:38:34

OSはWindows10、IMEはGoogle日本語入力です。
GameMakerのバージョンは2.3.3で止めてます。

IME使用後にショートカットキーが効かないのはウチも昔からですね。
別ウインドウをフォーカスしたりすると治るので、いつも日本語入力後にWindowsキーを2連打してます。

インライン入力はコレのことかと思いますが、
https://kotobank.jp/word/インライン入力-981
これもできてません。文中ではなく画面左上に変換候補が表示されます。

「2.3.3以降に見られるようになった症状」は、どれも発生してないです。

2

ご協力ありがとうございます!
しかしこの問題を指摘する声が他の日本語ユーザーから聞こえてきたことがありません。
これって、もしかしたらPC依存のレアケースなのかもしれませんね……

1
生高橋 2021/09/22 (水) 12:28:06

OS:Windows 10 
IME:Microsoft IME

数年前の症状のショートカットキーが効かなくなる現象は結構おきますね。
ただ IMEで日本語入力 > 半角英数に戻す ではなく突然なったりします。(まだよくわかってないです)
モニター2台で作業しているんですが、Editorとは違うモニターのどこかの入力画面で半角にしてからEditor側のモニターに戻るとなおります。

2.3.3以降の症状はいまのところおきてません。(インライン入力がなんなのかちょっとわかってないですが)
ただ、2.3.4にしたときに日本語入力関係なく入力関連のラグがあったのは感じました。

31

現行のv2.3.4.580で治りました。
とりまひとあんしん。

3

IME周りがどんどん悪化してますね
IME関係の問題を直そうといじってる途中、ということであればいいのですが。
https://forum.yoyogames.com/index.php?threads/2-3-5-beta-release.89261/#post-536274

14
yakata 2021/09/19 (日) 00:28:47

そうみたいです!
どうやってパーティクルのdepthを調整できるかはこれから考えますが大きく前進しましたありがとうございました!

13

part_system_depth()が関係してたんですね。直ってよかった!

12
yakata 2021/09/19 (日) 00:18:18

消えていたUIの一つのGUIイベントです

if(global.raihau_bar_f=2){
draw_sprite_ext(spr_UI_raihau_bar_aa,0,0,0,1,1,0,c_white,1)
	//文字系 
	draw_set_font(fnt_mincho_test)
	draw_set_colour(c_black);	
	draw_text_transformed(240-string_width(global.raihau_txt)*0.5,1 ,global.raihau_txt,1,1,0);
}
11
yakata 2021/09/19 (日) 00:10:58

part_system_depth()消したら治りました…!ここが原因のようです

10

実fpsはゲームの実行fpsよりはるかに高いです。1000以上は十分高いので問題なさそうです。
debug_overlayの棒グラフ、赤と黄色の部分も負荷は低いので問題ないようですね。
テクスチャページとスワップが37,38で多めですが、これで表示が消えたりするのはたぶん無いと思います(私の経験では無いです)。
キャプチャの瞬間に限れば、負荷の問題はないようです。

9

ありがとうございます!トピックみて調べてみます。

7
yakata 2021/09/18 (土) 23:51:12

キャプチャとってきましたこの部分で大丈夫でしょうか。
ただFPSは1000~3000で激しく変動しているようです。FPSってこんなに高いんだけっけ…(お恥ずかしいことに見方が分かってない)

画像1
画像2
画像3

8
asa 2021/09/18 (土) 23:51:12 修正

GUIイベントのコードを貼ることはできるでしょうか?

これは関係ないでしょうか。
https://forum.yoyogames.com/index.php?threads/particles-and-gui-gamemaker-1-4-9999-solved.52700/

6
生高橋 2021/09/18 (土) 23:34:26

問題なさそうですね...

海外のフォーラムで見たところ、パーティクルでGUIが消える問題についてのトピックがりました。
https://forum.yoyogames.com/index.php?threads/issue-with-gui-flashing-or-disappearing.84276/

どうやらpart_system_depthが影響しているらしいです。
ただそこまでしかわかりませんでした../

5

パフォーマンス面を見るために、
show_debug_overlay(true);
として、fpsやテクスチャスワップの情報を表示してみてください。
もう1つ、デバッガで動かして左上に表示されるグラフ?部分を見てください。
できればそれらのキャプチャ画像をここに貼れるでしょうか?
何か分かるかも知れません。

4

消えてしまう方のGUI表示は画面上に常に表示するHPバーなどのHUDで、複数のHUDが不規則に消えるので特定の表示コードがあるわけではないのですが大抵

draw_sprite_ext()

で描画しています。今気が付きましたが消える際は一つのobjにコードのある表示が丸々消えていますね、やっぱり処理が重いんですかね…

3

かなり読みづらいと思われますすみません。
プレイヤーがエネミーにぶつかったときにその方向に向けてドットのしぶきを飛ばすパーティクルになります。
パーティクルObjはルーム開始時に生成しておいてヒット時にuser_event0を呼び出す形です。

2

パーティクルObjのcreate_event

pp=global.main_player
col_ten=make_color_rgb(255,170,60);

FirstParticleSystem = part_system_create();
part_system_depth(FirstParticleSystem,-500);
first_particle = part_type_create();

part_type_shape(first_particle,pt_shape_pixel);
part_type_scale(first_particle,1,1);
part_type_size(first_particle,1,1,0,0);//wigleとは反復のことらしい
part_type_color2(first_particle,col_ten,col_ten);
part_type_alpha3(first_particle,1,1,0.8);//透明度
part_type_speed(first_particle,3,5,-0.015,0);//粒子速度
part_type_direction(first_particle,35,55,0,0);//方向
part_type_gravity(first_particle,0.04,-90);//重力。強さと、方向
part_type_orientation(first_particle,0,0,0,0,false);//回転
part_type_life(first_particle,20,30);//寿命
part_type_blend(first_particle,false);//ブレンド

//ここからエミッタ
first_emitter = part_emitter_create(FirstParticleSystem);
part_emitter_region(FirstParticleSystem, first_emitter,  x-1, x+1, y-1, y+1, ps_shape_line, ps_distr_linear);

パーティクルObjのuser_event0

pp=global.main_player
pp_tg=global.main_player.target_enemy

//以下プレイヤーの攻撃方向と対象エネミーの位置を反映させる処理
part_system_depth(FirstParticleSystem,-pp.play_y+4);
part_emitter_region(FirstParticleSystem, first_emitter,  pp_tg.play_x-1, pp_tg.play_x+1, pp_tg.play_y-52, pp_tg.play_y-52, ps_shape_line, ps_distr_linear);
if(pp.doujiosi_bottan=1||pp.doujiosi_bottan=11||pp.doujiosi_bottan=12){
	part_type_direction(first_particle,0,20,0,0);
}
			
if(pp.doujiosi_bottan=2||pp.doujiosi_bottan=22||pp.doujiosi_bottan=21){
part_type_direction(first_particle,160,180,0,0);
}
			
if(pp.doujiosi_bottan=3||pp.doujiosi_bottan=33||pp.doujiosi_bottan=34){
	part_system_depth(FirstParticleSystem,-pp.play_y-1);
	part_type_direction(first_particle,250,290,0,0);
	//した
}
			
if(pp.doujiosi_bottan=4||pp.doujiosi_bottan=44||pp.doujiosi_bottan=43){
	part_emitter_region(FirstParticleSystem, first_emitter,  pp_tg.play_x-1, pp_tg.play_x+1, pp_tg.play_y-32, pp_tg.play_y-32, ps_shape_line, ps_distr_linear);
part_type_direction(first_particle,70,110,0,0);	
	//上
}
				
if(pp.doujiosi_bottan=13||pp.doujiosi_bottan=31){
part_system_depth(FirstParticleSystem,-pp.play_y-1);
	part_type_direction(first_particle,315-10,315+10,0,0);
	//右下
}
if(pp.doujiosi_bottan=14||pp.doujiosi_bottan=41){
		part_emitter_region(FirstParticleSystem, first_emitter,  pp_tg.play_x-1, pp_tg.play_x+1, pp_tg.play_y-32, pp_tg.play_y-32, ps_shape_line, ps_distr_linear);
	part_type_direction(first_particle,35,55,0,0);
	//右上
}
if(pp.doujiosi_bottan=23||pp.doujiosi_bottan=32){
	part_system_depth(FirstParticleSystem,-pp.play_y-1);
	part_type_direction(first_particle,225-10,225+10,0,0);
	//左下
}
if(pp.doujiosi_bottan=24||pp.doujiosi_bottan=42){
	part_emitter_region(FirstParticleSystem, first_emitter,  pp_tg.play_x-1, pp_tg.play_x+1, pp_tg.play_y-32, pp_tg.play_y-32, ps_shape_line, ps_distr_linear);
	part_type_direction(first_particle,135-10,135+10,0,0);
	//左上
}
//方向と位置が決まったので80個生成
part_emitter_burst(FirstParticleSystem, first_emitter,first_particle,80);
1
生高橋 2021/09/18 (土) 21:33:27

GMSのバグの可能性もありそうですが
パーティクルのコードとGUI表示のコードがまず怪しそうですね。
その箇所って見せられそうですか?

21
生高橋 2021/09/17 (金) 00:06:45 >> 20

後者の例でめっちゃ使ってたんですけど関数化してなかったやつです!
そういえば小数点を丸めるのにも使えるのか!

20

小数点以下を指定の桁数で丸める関数

function round_decimal(_value,_decimal_places){
	return round(_value / _decimal_places) * _decimal_places;
}

1.2345678 のような小数点以下の桁数が長い数値を、指定の桁数でカットできます。
round_decimal(1.2345678, 0.1) → 1.2
round_decimal(1.2345678, 0.01) → 1.23
round_decimal(1.2345678, 0.001) → 1.234

更にこの関数は小数点に限らず、例えば5刻みで数値を丸めるなどもできます。
round_decimal(12, 5) → 10
round_decimal(19, 5) → 20

1

ベータ版は正式リリース版と同時に併用できるそうなので、
テストしてみたいって人はぜひ。

19
生高橋 2021/09/15 (水) 23:42:58

指定した数値が範囲内かどうかを返す関数

function in_range(val,min,max) 
{
  return val >= min && val <= max;
}
4
asa 2021/09/14 (火) 23:43:08 修正 >> 3

書き忘れてました。
「From Code」でフォントに文字を追加する場合は、
コード中に使いたい文字を書いた後で、フォントにAdd Rangeしてください。

順序が逆になると、コード中に文字がない状態でAdd Rangeすることになり、フォントに文字が追加されませんのでご注意ください。

3
kisena 2021/09/14 (火) 23:33:17

丁寧な説明ありがとうございます!!
フォントに関して曖昧だったのでとても助かります。

これからもよろしくお願いします!!

2
asa 2021/09/14 (火) 23:20:12 修正

動画ではフォントを font_add_sprite()でglobal.font_mainというスプライトフォントを作っています。
で、そのフォントで draw_text_ext()でテキストを表示しています。

draw_textでテキスト表示するのは日本語でも同じやり方です。
問題は、日本語で使う文字全てをfont_add_spriteでスプライトフォントにするのは無理ってことです。
(限られた文字しか使わないのであれば可能です)

そこで、日本語フォントは下記の手順で作ります。
日本語フォントを作ったらあとは動画の方法でそのまま使えます。

アセットブラウザでフォントを新規作成します。
画像1

フォントエディタが開くので、
1)で日本語フォントを選択します。
2)でサイズなどを設定して、
3)をクリックします。
画像2

(1)か(2)を選びます。
(1)を選ぶとコード中に使われている文字が自動でスプライトフォントに追加されます。
(2)を選ぶと外部テキストファイルを読み込んで、そこで使われている文字が追加されます。
動画ではコード中のテキストを表示しているので、(1)を選びます。
最後に(3)のAdd Rangeをクリックします。
画像3

これで日本語のスプライトフォントができました。

このフォントを使って、以下のコードで日本語が表示されるか試してください。
(仮にフォント名はfont_jpとします)

オブジェクトのDraw(またはDraw_GUI)イベント

text = "あいうえお今日は晴れです。";
draw_set_font(font_jp);
draw_text(10, 10, text);

これが表示されれば、フォントは作れてます。このフォントをチュートリアル動画でそのまま使ってください。

1
生高橋 2021/09/14 (火) 23:13:41

可能ですが超大変です!
文字はパソコン上では数字(文字コード)が割り当てられていて
例) 大文字Aなら41、大文字Bなら42 となってます
文字画像をつくるときは文字コードの順番に配置して読み取ります。
基本的に英数字や基本的な記号は0 ~ 127番目までなのでなんとかできますが、ひらがななどは12400番目、漢字なんかもっといみわからんところにあったりします。
それらの順番などをしっていて画像を配置できれば可能ですがかなり大変です。

上記のチュートリアルのFontの読み込み部分をSpriteではなく、Fontの読み込みに変更したほうがやりやすいです。
また、読み込み方法が違くても上記のチュートリアルは問題なくできそうです。
FontはSpriteをつくって実行中に読み込まなくてもGMSのEditor上で読み込むこともできます。
日本語に対応しているFontを読み込み、ゲーム内で使うであろう文字を入力すればgms内部にフォントの画像を用意してもらえたりします。

日本語フォントの読み込みに関して表示などまでまとめてあるサイト

GameMakerStudio2で日本語を表示する方法
GameMakerStudioを使っていて、日本語を表示させたい!って思ったことはない?実はGMSデフォルトで、日本語を認識する事ができないんだ!なので今回は、GMSで日本語を表示できるようにする方法を解説するよ!既に旧1.4バージョンでの方法が、日本語で丁寧に解説されているので、この記事ではGameMakerStudio 2を対象に説明するね!
初心者でもできる!ゲーム開発