【2D】ゲーム作成ツールGameMaker part5【マンセー】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2010/12/05(日) 09:57:49ID:AN26SQm8●本家(英語)
ttp://www.yoyogames.com/
●GameMaker Japan - 非公式情報サイト(日本語)
ttp://gamemaker.jpn.org/v1/(現在一時閉鎖中)
●The Game Maker's Apprentice
ttp://book.gamemaker.nl/
前スレ
【2D】ゲーム作成ツールGameMaker part4【マンセー】
ttp://hibari.2ch.net/test/read.cgi/gamedev/1240441868/
0163名前は開発中のものです。
2011/03/09(水) 20:17:07.93ID:GM2GEscmwhile (true) {
io_handle();
if (keyboard_check(ord('P')) break; // Pでポーズ解除
if (mouse_check_button(mb_left) && position_meeting(mouse_x, mouse_y, obj_button))
break; // ボタンをクリックしたら解除
// その他必要なマウスやキーの処理
screen_refresh(); // 場合によってはscreen_redraw()
sleep(1000 / room_speed);
}
みたいにすればこの中でメニュー処理とかもできる
ちょっと頑張ればアニメーションとかもできるよ
0164名前は開発中のものです。
2011/03/09(水) 23:04:05.38ID:djP5S+Y6ループを自分でやると閉じるボタンが効かなくなることがある
Begin step
//アニメーションをさせたくない場合 下2行をコメント解除
//instance_activate_all();
//screen_redraw();
instance_deactivate_all(true);
//instance_activate(parent_menu_object) //メニュー表示などをする場合
End step
instance_activate_all(); //アニメーションをしない場合、この行を消す
キー入力は普通にkeyboard event に作ればいい
0165名前は開発中のものです。
2011/03/10(木) 06:03:15.54ID:rN8C/d6H参考にさせてもらって使わせていただきました、ありがとうございます
0166名前は開発中のものです。
2011/03/10(木) 07:43:54.63ID:RIOc5T7c確かにバージョンで金取られるのが悔しいのもわかるけどGMに限ったことじゃないだろ
今後よくなるかもで手が出せないんならずっと手出せないんじゃねーかな
0167164
2011/03/10(木) 20:21:28.20ID:1TAXMbhCpause 管理をするオブジェクトのdepthを一番高く設定(depth = 100000 ぐらい)
Begin step
instance_deactivate_all(true);
//instance_activate_object(parent_menu_object) //メニュー表示などをする場合
End step 必要なし
Draw event
instance_activate_all();
Keyboard event(ポーズ状態にするとき)
instance_deactivate_all(true);
164 だと他のEnd step event が動いてしまうので修正
0168名前は開発中のものです。
2011/03/10(木) 20:28:10.20ID:RIOc5T7c何故かわからないけどvariable_local_array2_getを使うとエラー出るんだよね
まだまだ理解不足だなあ
0169名前は開発中のものです。
2011/03/10(木) 20:38:18.14ID:RIOc5T7c0170名前は開発中のものです。
2011/03/12(土) 00:19:05.47ID:csZUew4Uインスタンス名からオブジェクト名を得るのは簡単なん?
object_get_name(インスタンス)
だとならないんだが・・・
0171170
2011/03/12(土) 00:32:25.78ID:csZUew4U0172名前は開発中のものです。
2011/03/12(土) 05:55:20.49ID:MMg6Pv8Cうまくいった結果を載せてくれよ
0173170
2011/03/12(土) 12:59:33.29ID:csZUew4UパラメータはオブジェクトIDしか無理なようなので
var obj_id;
var obj_name;
with(インスタンスID)other.obj_id = object_index
obj_name = object_get_name(obj_id)
でできました
0174168
2011/03/12(土) 17:16:39.71ID:H04pfBlp思い込んでた間違いは、variable_local_array_getで値が存在するかしないかが返ってくると思ってた
実際は代入されている値が返って来るから文字列か数値かで処理を変えれば問題なかった
0175名前は開発中のものです。
2011/03/12(土) 20:30:47.61ID:ohio90gFなんでそんな遠回りなんだw
obj_name = object_get_name(インスタンスID.object_index); だけでいい
ついでだけど、varで宣言した変数はインスタンス変数ではなくローカル変数になる
だからwithの中から参照する時にotherを付けるのは間違い。何も付けなくていい
0177名前は開発中のものです。
2011/03/13(日) 22:07:35.85ID:XHHbxYaG0178名前は開発中のものです。
2011/03/17(木) 10:00:41.41ID:FiAydu5S0179名前は開発中のものです。
2011/03/20(日) 18:15:56.73ID:n9f7tcZ50180名前は開発中のものです。
2011/03/20(日) 20:27:12.84ID:tVTC6o5kシューティングゲーム作ってるけど、
自機とか自機弾の速度や方向に応じて自機の後ろにつかせてみたり攻撃の避け方を変えてみたりしてる
他にも自機の攻撃方向を学習して敵全体で共有するってのも考えてみたけど、バランスが崩壊しそうだからやめた
GMはAI作るのに役立つ関数が多いから作りやすくて良い
0181名前は開発中のものです。
2011/03/20(日) 21:47:41.83ID:qNX/YYGZ下手すると勇次郎クラスの化け物になるし作れる奴は凄いよな
0182名前は開発中のものです。
2011/03/21(月) 23:48:52.97ID:WI6Usfsf範囲内にオブジェクトがあった場合、そのオブジェクトより後ろを判定外にするにはどうするのがスマートでしょうか?
分かり難いので図で説明するとこんな感じです
● 始点 ○ 終点 □ 範囲 ★ オブジェクト
□□□□□□
●□□□□□□○
□□□□□□
↓途中にオブジェクトがあると
□□□★
●□□□□□□○
□□□□□□
思いついた限りでは★オブジェクトからもcollision_rectangleを後ろに伸ばし両方に干渉する場合〜といった所ですが
どうもかなり複雑になってしまう上、斜め等に対応させると非常に面倒かなと思います
皆さんならどのようにしますでしょうか。よろしくお願いします
0183名前は開発中のものです。
2011/03/22(火) 01:02:20.76ID:gB5rTKn/0184名前は開発中のものです。
2011/03/22(火) 04:17:42.19ID:ya/xFXIzありがとうございます。教えて貰ってなんですがあまり理解出来ず…
何となくこんな感じかなというのは出来たのですが
B
A
C
こんな感じで3点を取って
B
A
■
C
オブジェクト■が僊BC内にある時、Aから(■x,■y)を通る直線A■を延ばしてA■とBCの交点にCを移動
というような感じで変な風に解釈して遠回りをしてるかもしれませんが三角形の当たり判定なら出来そうです
しかしまた質問で申し訳ないのですが点A,B,Cを取ったとして三角形ABCを当たり判定として使うにはどうすれば良いでしょうか?
日本語ヘルプを見た所、衝突判定は点、線、矩形、円しかなくこれらを組み合わせて三角形の範囲を作る方法は思いつきませんでした
線を無数に引くとか強引な方法は好ましくありません。寝ボケておかしな見落としをしているかも知れませんがご教授お願いします
0185名前は開発中のものです。
2011/03/22(火) 08:12:42.90ID:iR906dOg他にも色々便利なのあるから見ておくといいかも
0186名前は開発中のものです。
2011/03/22(火) 09:45:03.18ID:iR906dOgとりあえず頭悪い方法かも知れんけど,自分なりに作ってみた(*‘ω‘ *)
判定領域を分割して,分割された小領域の中で一番近いオブジェクトに処理をするような感じ
めんどいからやってないけど斜めにもできないことはない・・・と思う
スペースで縦横変更 カーソルで移動
0187名前は開発中のものです。
2011/03/22(火) 20:14:48.48ID:ya/xFXIzProではないので実行は出来ませんでしたが何となく分かりました
0188名前は開発中のものです。
2011/03/24(木) 00:31:37.54ID:6D2aExw3スプライン補間のスクリプト作ったのに
もうGMLscritpsにあるじゃんかよ
0189名前は開発中のものです。
2011/03/31(木) 07:11:25.20ID:Rw3hKzTxここ見てると普通にWindowsアプリ作れそうだ
0190名前は開発中のものです。
2011/03/31(木) 09:07:46.03ID:JmnOgD/s0191名前は開発中のものです。
2011/03/31(木) 22:10:05.94ID:pPPL63YW0192名前は開発中のものです。
2011/04/01(金) 01:21:44.04ID:fKVwW7xQ0193名前は開発中のものです。
2011/04/01(金) 01:24:11.69ID:yh6qhoNL直訳だとなかなか進まないので、最低限意味が通じる程度の思い切った意訳をしようと決心した所でうs
いつになるかわかりませんが、完成したら公開する予定でうs
0194名前は開発中のものです。
2011/04/01(金) 08:03:15.74ID:LChGRC2L0195名前は開発中のものです。
2011/04/01(金) 20:52:47.03ID:YN4lAJadsprite_add関数にはsmoothの引数があったのですが、スプライトの設定画面では7にあったようなチェックボックスが見当たらないのですが。
あとsprite_add関数の説明にあるremovebackとはどういう意味でしょう?
ヘルプを翻訳にかけてもいまいち意味がわかりませんでした。
0196名前は開発中のものです。
2011/04/01(金) 21:16:13.62ID:yh6qhoNLremovebackは背景色(左下のピクセル)を透過させるかどうかだと思います
0197名前は開発中のものです。
2011/04/02(土) 00:24:24.14ID:yQMwUlx7ありがとうございました。
0198名前は開発中のものです。
2011/04/02(土) 02:09:13.66ID:sPaeXrCR基本的に7にあったものが消えたりはしてないと思う。変更はあるかもしれないけど。
sprite_addをヘルプで検索すればsmoothがある事くらいは英語読めなくてもわかるだろ
removebackはそのまま、背景を透過(削除・リムーブ)するかどうか。
sprite_add(fname,imgnumb,removeback,smooth,xorig,yorig)
>196は質問の意図と答えが合ってない
0199名前は開発中のものです。
2011/04/02(土) 02:30:35.48ID:sPaeXrCR追記。
スプライト編集画面で、images->Smooth Edgeを選べば関数でなくてもできる。
7ではチェックボックスでそんな事ができたのなら、8ではその機能はフィルタにまとめられたみたい
0200名前は開発中のものです。
2011/04/02(土) 02:37:40.65ID:0Uioc/mt右下のあたりにスムースエッジとかの4つの項目がねーか?
0201名前は開発中のものです。
2011/04/02(土) 02:38:52.77ID:0Uioc/mtその辺の細かい透過は気にしなくても良くなる、たぶん重くなるけど
0202名前は開発中のものです。
2011/04/04(月) 18:52:18.31ID:1rAEq9fVGM6ヘルプに無いirandomやrandom_rangeの存在を知ったから、というだけで気軽に手を出すような代物ではなかった
0203名前は開発中のものです。
2011/04/05(火) 01:11:25.80ID:jMPVCqkvまぁヘルプを隅々まで見るのはいい事だから色々な関数や機能がある事を知るのは大事だとは思うが
ヘルプも見ないでグダグダ言ってる奴よりまし
0204名前は開発中のものです。
2011/04/05(火) 01:19:20.62ID:tpTyCtn10205名前は開発中のものです。
2011/04/05(火) 08:20:03.45ID:vHX/a/R00206名前は開発中のものです。
2011/04/06(水) 14:03:30.37ID:5wnXN5zQ昨日はじめてGame playのヘッダ内のDeactivating instancesまでしか翻訳してない。
0207名前は開発中のものです。
2011/04/06(水) 16:54:48.96ID:eDzll7580208名前は開発中のものです。
2011/04/06(水) 21:01:17.51ID:c6d/JfS9応援してる!
マジがんばれ!超がんばれ!!
0209名前は開発中のものです。
2011/04/07(木) 05:14:09.27ID:5eJwbnd5今のところ6から8にかけての変更はほとんどなくて、モーションプランニングと実数計算の関数に少し追加があっただけ。
だからもう少し大幅な変更が見られたら途中でもうpできるようにしたいね。
理解できるかは別として普通に翻訳するだけだけどな。
0210名前は開発中のものです。
2011/04/07(木) 07:34:03.38ID:lcGuIQd6better accented character supportって言っても、きっと日本語サポートするわけじゃないんだろうな…
それなら即買いなのに
0211名前は開発中のものです。
2011/04/07(木) 09:34:31.19ID:r3wl6MHK0212名前は開発中のものです。
2011/04/08(金) 01:08:50.08ID:Qp/vxYBH0213名前は開発中のものです。
2011/04/08(金) 03:16:50.55ID:5vdAy8GN0214名前は開発中のものです。
2011/04/16(土) 07:05:57.57ID:aL9LMwd9スクリプトエディタ試したけどやっぱ日本語駄目だった
でもいい加減7に対応したいし、とにかく導入するしかないのかな…
ちなみに起動速度上がってるらしいけど、誰かGM7と比べてみた人いる?
0215名前は開発中のものです。
2011/04/16(土) 13:42:44.21ID:Y9cLKogOルームエディタの更新 ・・・ 操作的な意味で、オブジェクトを右クリックメニューから呼び出して編集する機能など
コードエディタの更新 ・・・ コードエディタの高速化、アクセント文字のサポート、コード補完のサポートなど
EXEファイルの暗号化 ・・・ 今までより安全
2D、3Dのレンダリング ・・・ 速くなったのと24bitのZバッファをサポート
マウスのホイール(中クリック)を使った新しい機能と、少しだけGMLも追加されたみたいね
起動速度の高速化はアナウンスされていない
>210のbetter accented character supportもアクセント文字のサポートだから強調表示の更新だろ 日本語じゃない。
0216名前は開発中のものです。
2011/04/16(土) 14:30:46.40ID:q8Rf4MHw直角三角形の高さは
底辺*tan(角度)
ですよね。
坂道用オブジェクトとのコリジョンイベントで以下のようなコードを書いてみたのですが、
xが長くなるにつれ、yの位置が坂道オブジェクトの描画されている位置より低くなってしまいます。
image_angleでは正確な角度にはならないのでしょうか?
y = other.bbox_bottom - abs(x - other.bbox_left) * tan(other.image_angle)
0217名前は開発中のものです。
2011/04/16(土) 14:40:05.44ID:WbnbNF9s三角関数がとるのはラジアン、image_angleは度だからdegtoradで変換する必要がある
あと、イメージが回転するとそれに合わせてbbox_bottomとかも更新される
(回転した後のスプライト全体を囲む矩形になる)から計算合わなくならね?
0218名前は開発中のものです。
2011/04/16(土) 14:52:59.50ID:q8Rf4MHwおお上手くいきました。
ありがとうございます。
回転した時のbboxの位置ですが、いろいろな角度で試してみた結果特に問題はありませんでした。
0219名前は開発中のものです。
2011/04/16(土) 16:19:19.13ID:mrGunqbY本体起動時に表示される広告
ゲーム背景にずっと表示される広告
ゲーム終了時にさらに表示される広告
実行ファイルのサイズがかなり膨れ上がる
レジストしているならそのままアップグレードすればいいんだろうけど
評価版は8.0のほうが明らかによい
0220名前は開発中のものです。
2011/04/17(日) 04:57:23.29ID:IpP4KM4S毎回32移動するとして周りの八方向の内ソリッドオブジェクトの無いいずれかにランダムとなると
自分は以下のようにやってますが非常に面倒です。repeatとか使えばもっと簡略化出来ますが…
if place_free(x+32,y){r=1}
if place_free(x+32,y+32){r_d=1}
if place_free(x+32,y-32){r_u=1}
if place_free(x-32,y){l=1}
〜〜〜
ここからまた
if(r=1 and r_d=1 and r_u=1 〜〜)
if(r=0 and r_d=1 and r_u=1 〜〜)
〜〜〜
というように目に見えて非効率的な方法しかよく分かりません。
0221名前は開発中のものです。
2011/04/17(日) 04:58:56.68ID:IpP4KM4Sランダムに四方八方のいずれかに移動する際の効率的な方法をご教授願いたいです。
よろしくお願いします。
0222名前は開発中のものです。
2011/04/17(日) 10:14:44.18ID:cJFcxO/l移動量32 で 八方向にランダムだったら
xm = irandom(2)-1; //もしくはround(random(2))-1
ym = irandom(2)-1;
if(place_free(x+xm*32, y+ym*32)) {
//移動させるコード
}
のように移動方向をランダムの対象にすればいいんじゃないかな
0223名前は開発中のものです。
2011/04/17(日) 12:52:54.13ID:5sAF/mq0(どこにも移動しないというのはナシ)なのかな。
だとすると、まずどこが空いているか調べておいて、その中から選ぶのが良いかと。
// 空いている場所を調べて配列に入れる
count = 0;
for (ix = -32; ix <= 32; ix += 32) for (iy = -32; iy <= 32; iy += 32) {
if ((ix != 0 || iy != 0) && place_free(x+ix, y+iy)) {
vx[count] = ix; vy[count] = iy; count += 1;
}
}
// 配列の中から移動先を選ぶ
ii = floor(random(count)); x += vx[ii]; y += v[ii];
0224名前は開発中のものです。
2011/04/18(月) 01:20:40.05ID:Xie74jLy配列ってのが何なのかよく分かりませんでしたがやっと理解出来ました。
これは便利ですね。ありがとうございます。
0225名前は開発中のものです。
2011/04/18(月) 02:23:34.93ID:1Zdo9985ttp://ja.wikipedia.org/wiki/%E9%85%8D%E5%88%97
0226名前は開発中のものです。
2011/04/18(月) 03:33:08.90ID:h9qFkv080227名前は開発中のものです。
2011/04/18(月) 09:10:13.37ID:1Zdo9985ループや条件分岐すらわからないならゲーム製作なんてできるわけがない
0228名前は開発中のものです。
2011/04/19(火) 00:20:01.67ID:kz1zizQk0229名前は開発中のものです。
2011/04/19(火) 07:59:19.80ID:NZqoseEoループや配列くらいは覚えといた方が何かと楽だとは思う
個人的にはPro版でGMLじゃないとやってられない
0230名前は開発中のものです。
2011/04/19(火) 14:44:37.14ID:Y48OGQHxActionScriptなんかよりはるかに楽なスクリプト言語だから覚えた方が得だとは思うんだけどな
0231名前は開発中のものです。
2011/04/20(水) 11:27:54.38ID:jL3wDbuI0232名前は開発中のものです。
2011/04/21(木) 08:39:54.92ID:ImOBjGilGame Maker Updaterが怪しいね
最新のアップデートはインストーラがあって、こっちならイケるっぽい
0233名前は開発中のものです。
2011/04/21(木) 15:46:08.07ID:JV6K58il0234名前は開発中のものです。
2011/04/22(金) 00:02:23.63ID:a+osDQye0235名前は開発中のものです。
2011/04/24(日) 14:17:04.01ID:RIEzWX8cCharSet 指定できるみたいだけどフォントだけじゃなくエディタにも連動しないから誰得な機能
値上げしたから機能充実・追加があったのかと思ったけどそんな感じではないな
0236名前は開発中のものです。
2011/04/25(月) 12:37:26.78ID:iMyGUfbt0237名前は開発中のものです。
2011/04/25(月) 15:44:26.74ID:ERTyqyNJ0238名前は開発中のものです。
2011/04/25(月) 18:09:13.49ID:/JSNEMHU0239名前は開発中のものです。
2011/04/25(月) 21:15:40.31ID:QQx7LSNe0240名前は開発中のものです。
2011/04/25(月) 23:08:07.50ID:HxgcpXgk0241名前は開発中のものです。
2011/04/25(月) 23:16:10.60ID:hYGZewdW無料版だと、どのバージョンがおすすめでしょうか?
テンプレで8.0の文字化けについて記載されていたので少々気になりました
慣れてきたら悪魔城的な2Dアクションを作ってみたいと思っているのですが…
0242名前は開発中のものです。
2011/04/26(火) 00:18:46.97ID:LDCyW6KMあれがないと、メモリの使用量がとんでもないことになるよな
大規模なゲーム作るならレジストは必須だろう
>>241
今はもう8しかダウンロードできないんじゃなかったっけ?
0243名前は開発中のものです。
2011/04/26(火) 00:55:14.78ID:oFKdc1AFエディタ中の日本語が気になるなら7あたりがいいと思う。
ただしレジストするなら最新版一択になっちゃうという感じかな
0244名前は開発中のものです。
2011/04/26(火) 01:41:14.09ID:mlSDowuO0245241
2011/04/26(火) 04:00:06.20ID:OFuVootNひとまず7を入手しました、しばらくは7の無料版を使ってみようと思います
レジストは操作に慣れてきたら考えようかなと…
0246名前は開発中のものです。
2011/04/26(火) 04:22:55.83ID:Tg5NYkhP日本語のコメントが書けないだけで他の機能も使えるしレジストしたほうが便利
というかアクションコマンドのコメントには日本語書けるんだけどな 何故か。
0247名前は開発中のものです。
2011/04/26(火) 05:49:41.00ID:Npu8jOulって言ってもせいぜい100〜200パターンくらいだから
いっそ外部ファイルに打ち込んだのを読み込んで変数にぶちこんだ方が早い気もしてきた
0248名前は開発中のものです。
2011/04/26(火) 06:41:34.92ID:Tg5NYkhPファイルから配列に1行おきにループで代入してる
テキストファイルあまり見られたくないならテンポラリファイルに展開するようにすればあんまり問題ないしね
0249名前は開発中のものです。
2011/04/26(火) 14:09:25.33ID:iIkImGvC0250名前は開発中のものです。
2011/04/26(火) 15:32:37.25ID:KekkYEKdアクションだけでも問題無いと思う
0251名前は開発中のものです。
2011/04/26(火) 16:05:36.00ID:iIkImGvCGMLのが簡単ってこともあるのか
まだGM自体触ったばっかだからもっと使ってみる
0252名前は開発中のものです。
2011/04/26(火) 16:49:36.12ID:TbagIrwcプログラムを全くやった事が無いならアクションから始めたほうがいいと思う
アクションで覚えた事はGMLに移る時も無駄にならないし
0253名前は開発中のものです。
2011/04/27(水) 08:59:32.68ID:iohphExaそうなるよね
文字列と対応するIDを別々のリストにいれておけば参照する時楽かな
0254名前は開発中のものです。
2011/04/27(水) 20:19:30.93ID:EEtUA/HmGMLのが簡単っていうのは表記ミスの発見や変更が加えやすいから簡単って言う意味だろうなあ
アクションでも同じ事はできるけど正直見づらくて、同じ事やろうと思うと結構グチャグチャになる
0255名前は開発中のものです。
2011/04/27(水) 22:07:08.31ID:5ZsESPRo0256名前は開発中のものです。
2011/04/28(木) 01:11:43.89ID:FOVplmLs0257名前は開発中のものです。
2011/04/28(木) 22:22:01.79ID:0X5ghGKSアクションをGMLに書き換えてくれた勇者がいるので紹介しておきますね
0258名前は開発中のものです。
2011/04/30(土) 02:01:30.31ID:CeAb+bJr検索かけても引っかからないから今までずっと知らなかった
タイムラインGMLで呼び出せないのかと諦めてたけどこれで随分楽になる。すごい助かったよ
0259名前は開発中のものです。
2011/04/30(土) 04:37:58.57ID:0CGYVCn/action関数はGM自体に含まれているんだけど、初心者の混乱を避けるためにヘルプには載せていないみたい
さらに引数のガイドもコードエディタで表示してくれないからあまり支持されていないそうだ
上記のサイトで引数についての説明もされてるから見れば完璧だとは思う
ちなみにタイムラインはtimeline_indexで指定できないの?
自作でタイムライン作っちゃうからあまり既存のタイムラインは使ったことがない
0260名前は開発中のものです。
2011/04/30(土) 10:49:28.96ID:NTSCSH680261名前は開発中のものです。
2011/04/30(土) 14:48:02.10ID:l+G1gOeI0262名前は開発中のものです。
2011/04/30(土) 15:14:18.12ID:s8CMxVtFオブジェクトの位置をそれに合わせればいいんじゃね?
■ このスレッドは過去ログ倉庫に格納されています