GameMaker 日本語掲示板

views
16 フォロー
962 件中 161 から 200 までを表示しています。
5

ありがとうございます!わざわざ検索までしていただいてすみません。ぜひお世話になりたいとは思うのですが、この掲示板のやり取りを見ている限りどうも自分はレベルがまだまだ低いようなので、できるだけ自分で調べて恥ずかしく無いレベルになってから質問したいと思います。ただ、どうしてもわからないときはお世話になるかもしれないのでそのときはよろしくお願いいたします。

4
サトヤガンジ 2023/05/22 (月) 22:39:04

僕はGMS2から始めて、主にUdemyというオンライン学習プラットフォームのGameMaker有料講座で使い方を訓練しました。
と言ってもGMLの運用はクソ雑魚程度です。
結局はasaさんの言うように地道な積み上げが一番確実だと思いますが、それが一番難しかったりもしますよね。
有料講座以外にも、youtubeのチュートリアルを見ながら実際に作っていくと、少しずつ視界が開けてくるかもしれません。

3

いくらGameMakerがハードルが低いとは言ってもやっぱりゲーム開発は難しいですよね!
GameMakerでゲーム作るにあたり個人的にずっと重視してきたのは、分からないことを切り分けて特定する力と、英語で検索して必要な情報を見つける力を向上させることです。

分からないことは分かる人に訊いて乗り越えてください。
この掲示板、DiscodeのGameMakerの日本語コミュニティ、公式フォーラムなどを利用してください。

アセットブラウザについて検索して、フォーラムに以下のトピックがありました
レイアウトのリセットを試してみてください(開いてるアセットがあれば全て閉じてから試してください)
アセットブラウザが無しではおそらくゲーム制作は困難だと思いますので、これで解決されるといいのですが。

https://forum.gamemaker.io/index.php?threads/asset-browser-dissappeared.81724/
https://forum.gamemaker.io/index.php?threads/solved-cant-re-open-the-asset-browser.89764/

2

丁寧な返信ありがとうございます😭
お話を読んでいかに自分が甘えているか痛感した気持ちです。asaさんが取り組んだ当時に比べれば翻訳も格段にレベルアップしていますし、gamemakerにしてもちょっとところどころ怪しいとはいえ日本語対応しているわけですからやろうと思えばどこまでもできますよね…!甘えていないでもっと頑張ろうと思います。
あと、右のメニューというのはどうも「アセットブラウザ」というようです。とりあえず私は名前だけでも覚えなきゃですね😅
戻し方はわかりませんが、右クリックでも似たようなことができることがわかったので問題は解決しました。お手数かけてすみません。

1

私は最初はYoutubeのチュートリアルを参考にすることが多かったです。
当時はgoogle翻訳もアホで、まともな翻訳ができませんでしたので、英語を学び直しつつ、GMS1.xの勉強を進めました。
Youtubeを参考に作り始めて分からないことがあったら公式フォーラムを探して必死に翻訳するという感じです。
今と比べると日本語の資料はほぼ無かったので、英語を理解するしか無いと覚悟してやってました。

プログラム経験は無くななかったですが、ちょっとwebサイトを作るのに簡単なスクリプトを書くくらいしかやったことがなかったので、ゲームを作るのは何から手を付けたらいいか全く分かりませんでした。

0) キャラクターを画面に表示させる
1) キャラクターを自動で右に動かす
2) キーボードの「A」を押したらキャラクターを右に動かす
3) Aを離したらキャラが止まるようにする
4) キー操作でキャラクターを左右に動かす

というように1つ1つ、できることを増やしていきました。

IDEの使い方はプログラミングの苦労に比べたら、苦労した記憶がないです。自然に覚えました。

「右側のメニューが消えた」の右側のメニューが何なのか不明ですが、もしIDEに不具合があるなら公式に質問するかバグ報告してみてください。もちろんこの掲示板に投稿して聞くのもいいと思います。

1つ1つできることを増やしていくと、何かに躓いた時、今自分は何が分からないのかが分かり、聞きたいことを整理して質問できると思います。

分からないことは、この掲示板、公式フォーラム、Youtubeのコメント欄、なんでも利用してください。
英語はgoogle翻訳、DeepL、みらい翻訳などなんでも活用して楽してください。

私の場合、こういう感じです。
がんばってください!

8

エラーメッセージを貼れますか?

あと書かれたコードにいくつかのミスがあるようです(ここに投稿する際のタイプミスかもしれません)。
それらを直した以下のコードに入れ替えるとどうなるでしょうか?
(マクロ"FRAME_RATE"が正しく定義されていることが前提です)

function PlayerAnimateSprite()
{
	var _cardinalDirection = floor(((direction div 45) + 1) * 0.5);
	var _totalFrames = sprite_get_number(sprite_index) / 4;
	image_index = localFrame + (_cardinalDirection * _totalFrames);
	localFrame += sprite_get_speed(sprite_index) / FRAME_RATE;

	if (localFrame >=_totalFrames)
	{
		animationEnd = true;
		localFrame -= _totalFrames;
	} 
	else
	{
		animationEnd = false;
	}
}
7

https://www.youtube.com/watch?v=9KxCE5QbK0s&list=PLPRT_JORnIuosvhfax2TQTEmN7OYTcSvK&index=2&t=1220s
です。おそらく問題の個所は
function PlayerAnimateSprite() {
var_cardinalDirection = floor(((direction div 45) + 1) 0.5);
var_totalFrames = sprite_get_number(sprite_index) / 4;
image_index = localFrame + (var_cardinalDirection
var_totalFrames);
localFrame += sprite_get_speed(sprite_index) / FRAME_RATE;

if (localFrame >=_totalFrames)
{
animationEnd = ture;
localFrame -= _totalFrames;
}else animationEnd = false;
}
かと思われます。初心者で拙くてすいません

6

そのチュートリアルをここに示すことはできますか?

5

初心者です。今ちょうどARPGのチュートリアルに取り掛かっていて、チュートリアルが古いバージョンのモノなのでコードをミスなく打っても動かないという事態に陥ってしまいました。
どなたかどのように仕様が変わったかわかる方いますか?

13

function PlayerAnimateSprite() {}
で全体をかこったのにエラーが出てしまいました…
アプデによって仕様が変わったことが原因かなって思ったりしてます…

12

なんか最近のアプデートが原因っぽくてまたエラーはいちゃうようになりましたね…

2

返信ありがとうございます!
とりあえずは文字コード入力は難しいので後回しにして、ビジュアルコードの方だけで既存のゲームを真似て作ってみようと思います。
わからないことなどあればまた質問するかも知れませんがその時はよろしくお願いします。
重ねてありがとうございました!

1

GameMakerでできるできないは、具体的にどんなものを作るか次第ですが、
説明されている内容をこちらで勝手に想像した上での判断としては、特にGameMakerでできないもの、困難なものとは思わないです。
おっしゃる通り、GameMakerは2Dに特化されたゲームエンジンで(でも3Dのゲームも作れはします)、初心者がぱっととっつきやすいようになっています。小規模で簡単なものであれば、比較的サクッとすぐに作れてしまいます。

分からないことは遠慮なくこの掲示板で質問してみてください!

5
wtseror3 2023/05/11 (木) 11:59:15

教えていただいた方法を試したら無事複数種類のフォントを表示することができました!とても助かりました!画像1

5

LTSを1.31にアップデートしてから「メインプロジェクトファイルが変更されました。リソースをリロードしますか?それとも保存しますか?」のダイアログが毎回出てくるようになりました。
しかも、今までは出てきたらリロード選んで終わってたのが、選択後も再度出てきて、何度もリロードと保存を繰り返すとやっと始められるというよく分からない事態になってます。
LTS使ってる方、原因がわかる方いたらアドバイス頂きたいです。

4
wtseror3 2023/05/11 (木) 09:43:26

なるほど……ためしてみます!
ありがとうございます🙇‍♂️

3

draw_set_font(フォント);で指定したらそれ以降はそのフォントで表示されますので、
戻したい場合はもう一度draw_set_font(フォント);で指定してください。

例えば1ヶ所だけフォント2で表示させて他の部分をフォント1で表示させたいとしたら、
draw_set_font(フォント2);
draw_text(...); // ここだけがフォント2で表示されます
draw_set_font(フォント1);

という感じです。

2
wtseror3 2023/05/11 (木) 03:57:58

コメントありがとうございます!
draw_set_font(フォント);という関数はこれまでも使っていたのですが、フォント変更の影響がゲーム全体に及ぶため、後に呼び出した方のインスタンスで指定したフォントに統一されてしまいませんか?

1
asa 2023/05/11 (木) 01:16:34 修正

ウィンドウのインスタンスのDrawイベント
draw_set_font(フォント1);
draw_text(...);

USBアイコンのインスタンスのDrawイベント
draw_set_font(フォント2);
draw_text(...);

という形で可能です。

draw_set_font(フォント);
で指定したらそれ以降ずっとそのフォントでテキストが表示されます。
この関数でフォント指定すれば、同一Drawイベント内でも複数のフォントを使えます

4
生高橋 2023/05/05 (金) 09:43:12

roomにオブジェクトがおけなくなるバグがありやす
再度プロジェクトを開くとなおります

1

prefabって調べたらUnityの概念が出てきましたが似たようなものなんですかね。

自分の作業のほとんどがコードエディタなんで、コードエディタ周りが便利になってワークフローが改善してほしいな~

bitsummitに出展するみたいですね。

3
生高橋 2023/05/04 (木) 18:57:27

新しいランタイムになったらサブスク限定になるのは確定らしいですね。
その際、永久ライセンスの人がサブスクに移行した場合、12か月無料になるみたいです。

2

タイルセットのソースにしているスプライト画像を更新してもタイルセットに反映されないバグがまだ直ってない。

回避策は、
タイルセットを一旦nooneにして、再割り当てすると反映される。

1

ビルドにかかる時間が最短になりました。

自分のプロジェクトで、

  • インストール後の初回ビルドには数十秒
  • 2回目以降は5秒
    毎回数十秒かかってた日々は何だったんだというくらいの進歩です。ありがてえ…
2
サトヤガンジ 2023/03/08 (水) 11:36:16

asaさん、解答ありがとうございます!
僕も同じ予測だったので安心しました。

1
asa 2023/03/08 (水) 11:28:14 修正

あくまで私個人の理解ですが、

GameMaker Studio2(GMS2)は2022.3バージョンでGameMakerに改名されましたがこれはまだGMS2ランタイムであり、永続ライセンスの対象です(永続ライセンスで使い続けることができます)。

私もGMS2の永続ライセンス(買い切り版)を持ってますが、現在のGMの機能を使えていて、エクスポートもできているので、永久ライセンスで今のGMを使えてると認識してます。

「将来(時期は不明)、新しいランタイムになったらそれはサブスクリプションだけになる」とアナウンスされているので、それ以降の新しいGMは永続ライセンスでは使えなくなると認識しています。

2
生高橋 2023/03/08 (水) 04:29:58

イントロ付きループが作りやすくなった

5
umaaaaaa 2023/02/14 (火) 09:55:22

環境依存かもですが最近起こってるバグ関係です

・ワークスペース→右クリック→「ウィンドウを全て閉じる」=一部アセットが開かなくなる・・・ことが割と頻繁にある
→ 再起動で直る

・アセットブラウザーでソートを「カスタム順序」に→アセットの名前を変更→ソート順番がなぜかバラバラになったりならなかったり→その後アセットの序列を変更したり名前を再度変えたりするとソート順が元に戻ったり戻らなかったりする

4
ぽんでり 2023/02/08 (水) 01:19:00

フォントのSDFレンダリングにちょっと期待してます。まだいじってないですが。

2

とてもとてもありがたいチュートリアルです!
一番最初のチュートリアルはいくつかあるのですが、
作り始めてから、こんなことしたい、あんなことしたいっていう部分がなかなかなくて、
GMLの情報をあつめつつも、わからないことだらけで・・

ここにたどり着けたので、
とりいそぎチュートリアル記事を全部読もうと思います!

2

そのような関数が追加されていたのですね!
重複もないので使えそうです。
ありがとうございます。

3
生高橋 2023/02/04 (土) 10:59:39 >> 2

ds_listのようなデータ構造は今後構造体とかになりそうな予感がしてます。

2

配列の関数がかなり充実して何でもできるようになってきてるので、DS_Listを使わなくてもよくなってきてますね

1
生高橋 2023/02/03 (金) 20:36:09

指定した値を配列の中身から探してインデックスを取得するarray_get_index関数が追加されてましたね。
indexを探すfor文は書かなくて済みそうです。

1
生高橋 2023/02/03 (金) 20:31:18

GameMaker最新版の2023.1から指定した値を配列の中身から探してインデックスを取得するarray_get_index関数が追加されました。
もし配列の中身に重複がなければ使えると思います。

サンプルコードです。

var _array = [2, 8, 10];
var _tile_index = choose(2,8,10);
var _new_tile_index = array_get_index(_array,_tile_index) + 1;
show_debug_message(_tile_index);
show_debug_message(_new_tile_index);
3
生高橋 2023/02/01 (水) 12:17:19

よかったです。
surface_copyのほうがシンプルだったかもしれませんね。

2
名前なし 2023/01/31 (火) 21:55:34 修正 >> 1

サンプルが一つのオブジェクトで複数の効果だったので求めてたものとはちょっと違いましたがご教授いただきありがとうございました!
考え方を知れたのでうまく実装することができました。
surface_copyとか使わないんですね・・・。

複数オブジェクトでの実装方法を書いておきます。

Createイベント

isSurface = false;

objSurface1(レイヤーが一番下)のStepイベント

isSurface = (instance_exists(objSurface2) || instance_exists(objSurface3)); //レイヤーが下であるほど多くなる

objSurface3(レイヤーが一番上)のDrawGUIイベント

var sfc = application_surface;
if(instance_exists(objSurface1)) sfc = objSurface1._surf; //レイヤーが上であるほど多くなる
if(instance_exists(objSurface2)) sfc = objSurface2._surf; 
	
if (!surface_exists(_surf)){
	var w = surface_get_width(application_surface);
	var h = surface_get_height(application_surface);
	_surf= surface_create(w,h);
}
if(isSurface) surface_set_target(_surf);
	shader_set(shd_grayscale);
		draw_surface(sfc, 0, 0);
	shader_reset();
if(isSurface) surface_reset_target();
1
生高橋 2023/01/30 (月) 20:08:15

シェーダーを複数回かけるマルチパスのことですかね。
とりあえずサンプルプロジェクトを用意しましたので、参考にどうぞ。
こちらからダウンロード

バージョンは以下で作成してます。バージョンが古いともしかしたら動かないかもしれません。
IDE 2022.11.1.56
Runtime v2022.11.1.75

内容は次の3つのシェーダーを画面全体に重ね掛けするというものです。
・歪みシェーダー
・グレースケールシェーダー
・色収差シェーダー

1,2,3キーでシェーダーの効果をオン、オフできます。

大まかな流れは次のとおりです。

  1. application_surfaceに対してshader1をかけたものを自作surface2に保存
  2. surface2に対してshader2をかけたものを自作surface3に保存
  3. surface3に対してshader3をかけたものを描画
    となっています。

サンプルを見てなにかわからないことがあれば聞いてください。