GameMaker 日本語掲示板

views
17 フォロー
1,131 件中 761 から 800 までを表示しています。
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を対象に説明するね!
初心者でもできる!ゲーム開発

5
生高橋 2021/09/13 (月) 07:40:18

なぬー!カクツキはしんどいのでバージョンあげようか迷います...

30

裏でYoutubeを流しているとゲームがたまに重くなる、カクつくという問題(何が原因なのかは分かりませんが)
参照:新バージョン(2.3.3)でのカクつき - Youtubeとの関連

このバージョンになってから見ることが無くなった?と感じます。気のせいじゃなければいいな。

4

IDE v2.3.4.577 / runtime v2.3.4.440 になってから、この現象を感じることがなくなってます。
なくなったのか、軽減されたのか、ただの気のせいかはっきりしませんが。

3
hayate212 2021/09/12 (日) 07:43:30

上記の方法を参考に、画像を分割しなくても正しく前後関係を解決することに成功しました。

https://i.gyazo.com/b4e341001fd8c7ef0c45378df54e9b75.mp4
gyazo

29

同じ症状の報告がぽちぽち上がってますね。
とりま、前のバージョンに戻してReset Layout したらもとに戻ったので、ひとまずはこれで作業すすめるかな、と…。

28

新しいIDEが超ラグい
CPU使用率が異常に高くなる。ラグい。
https://forum.yoyogames.com/index.php?threads/new-gamemaker-ide-is-laggy.89155/

IMEが超ラグいのもこれかな・・・?

27

Change Since IDE 577 の部分が変更内容だと思います

(リリースノートの更新が遅れるのは昔からあるので見た時には更新されてなかったのかも)

26

スニペットのショートカットがおかしくなってませんか?
画像1

2

軽いし日本語インライン入力できるし、当たり前のことができることに感動しました。
わたしも次のプロジェクトで使ってみます。

1
生高橋 2021/09/11 (土) 01:24:30

次のプロジェクトで試したいですね

25
hayate212 2021/09/10 (金) 21:44:06

v2.3.4.580来てますね。
ただリリースノートは577となっているのでこれから580の更新内容を載せるんでしょうか・・?

24
asa 2021/09/10 (金) 16:12:39 修正 >> 23

IDEを再起動したら直りました。
発生条件などは不明。

IDEで作業してる時間が経過するほど遅くなっていくようです。
遅くてやってらんねえなとなったら、IDE再起動するしかないです。

23

IDEで日本語入力→すごく動作が重い

コードエディタで日本語を入力してると入力途中から動きがもっさりとして重い。
Enterで変換を確定してコードエディタに文字が入力されるまでにラグがある。
昨日は感じなかった現象。今日はすごく重くて困る。

4
yOichi 2021/09/10 (金) 15:41:39

Ren'Pyの存在を初めて知りました。
海外インディーでノベルゲームをよく見かけるようになり、日本以外にそういったエンジンがあるのかな~と思ってましたが、これだったんですね。

22

リリースの間隔が短いのはいいが、そのせいで安定版ですら安定してないじゃないか
どのバージョンも不安定ということにならないか?
という声が上がっています。

運営としては、安定版を本当に安定したバージョンにするために、何か考えてるとは言ってますね。
なんとかいい方法を考えてほしいです。