[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/06 23:07 / Filesize : 265 KB / Number-of Response : 893
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【2D】ゲーム作成ツールGameMaker part4【マンセー】



1 名前:名前は開発中のものです。 mailto:sage [2009/04/23(木) 08:11:08 ID:iAS0afeL]
無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。

●本家(英語)
 ttp://www.gamemaker.nl/
●GameMaker Japan - 非公式情報サイト(日本語)
 ttp://gamemaker.main.jp/(現在一時閉鎖中)

前スレ
【2D】ゲーム作成ツールGameMaker part3【マンセー】
ttp://pc11.2ch.net/test/read.cgi/gamedev/1210437707/


847 名前:名前は開発中のものです。 mailto:sage [2010/06/23(水) 01:54:04 ID:qd+uDdYg]
いや、別に一時変数だから使い回しでいいし
一時変数すら使いたくないならwithを使う方法もある
with (instance_create(x, y, object)) { spped=速度; direction=方向; }
同じことをあちこちでやるんだったらスクリプトにすればいい。

848 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 17:55:32 ID:RG53nBFr]
すいません 
Step towards a point avoiding objects はGMLでどう表せばよいのでしょうか
www1.axfc.net/uploader/Img/so/87434.bmp


849 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 19:26:31 ID:U4SaJhzr]
レジストしているのならA*を使う
レジストしていないなら
mp_potential_settings(maxrot,rotstep,ahead,onspot)
で設定した後
mp_potential_step_object(x,y,stepsize,obj) もしくは mp_potential_step(x,y,stepsize,checkall)

関係ないけど画像でaxfc使われると手間がかかるんだよなあ

850 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 19:50:38 ID:RG53nBFr]
>>849
ありがとうございます。

ところで A*ってなんでしょうか

851 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 20:36:34 ID:U4SaJhzr]
読み方は A star 最短経路を出すアルゴリズム。
GameMaker でも使えるみたいだけどGMで使ったこと無いから
精度とかコストはどれほどものかわからない

A*そのものについてはググッた方が早いかも
今なら結構解説サイトがあると思う

852 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 21:52:39 ID:RG53nBFr]
>>851
ありがとうございます


853 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 12:24:32 ID:xej2WSqR]
未レジストのGM5で迷路みたいな複雑な道をAIに通らせる
このようなアプローチは可能でしょうか

854 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 17:57:32 ID:LChSDnyO]
広さにもよるけど可能

855 名前:853 mailto:sage [2010/07/03(土) 18:31:38 ID:xej2WSqR]
>>854

mp_potential_stepとmp_potential_settingsを使うのでしょうか
ルームの広さは大体600×600くらいです



856 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 20:41:39 ID:LChSDnyO]
何をしたいかによるよ
例えばTower Defense系のように最短経路を辿らせたいとか
トルネコみたいなローグ系な動きとか
迷路のほうはともかくAIに何をさせたいか分からないと説明に困るぞ

857 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 21:34:57 ID:9sSVyJeo]
英語でぐぐれ

858 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 21:35:54 ID:9sSVyJeo]
誤爆


859 名前:853 mailto:sage [2010/07/04(日) 09:41:34 ID:R47f51en]
>>856
そうですね・・・
Tower Defenceみたいに最短経路を辿らせてみたいのですが

説明忘れてましたorz

860 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 11:49:06 ID:fTuJE3/P]
TDなら塗りつぶし法がいいと思う
迷路の形状が決まった時点で、出口から通路をスコアつきで塗りつぶしていけば
敵はそのスコアが小さくなるようにたどっていけば最短になる

mp_potential_stepとmp_potential_settingsの組み合わせはTDには向いていない
根本的に最短を通るわけではないし

かなりいい加減によけていくのでおそらく狭い通路みたいなところだとうまくないと思う
2Dの見下ろし型のゲームで単純な障害物をよけるような場面が適しているんじゃないかと

861 名前:853 mailto:sage [2010/07/04(日) 13:05:11 ID:R47f51en]
>>860
塗りつぶし法ですか

ちょっと調べてきます
有難うございました

862 名前:853 mailto:sage [2010/07/04(日) 14:11:38 ID:R47f51en]
>>860
>迷路の形状が決まった時点で、出口から通路をスコアつきで塗りつぶしていけば
調べてもなかなかよくわかりませんでした

サンプルとかあると幸いです

863 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 14:58:54 ID:fTuJE3/P]
ん〜例えば、Sをスタート、Gをゴールとして下の図を塗りつぶすと
ずれているかも知れないけど右のようになるでしょう
あとは数字が少なくなるように移動させるだけ
□□□□    3456
□■S □ → 2■65
□G ■□   10■4
□□□□    2123

GM5は古いしサンプル期待するのは難しいかもしれない
経路探索の名前はともかくアルゴリズムの本を見れば大抵のものには
これ系のものは載っていると思う

864 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 21:49:22 ID:R47f51en]
>>863
ヒントを有難う
これを参考に頑張ってみます

865 名前:名前は開発中のものです。 [2010/07/13(火) 18:47:11 ID:K3o0YDHH]
戦闘機のシューティングを作っているんですが…

自機スプライトの縦と横の長さが違い、回転するのでroomの中に常に収めるコードが
うまく書けません。
正方形のスプライトなら if (x < sprite_width/2) x = sprite_width/2
とかで出来るんですが…(原点=中心)

lengthdirとか使ってもうまくいきません
いい方法ありませんか?



866 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 19:14:30 ID:/NxeAPUS]
>>865
仮にスプライトの縦の方が横より長いとして
自機が縦向きで画面の端にくっついているとしよう。
その状態で自機が回転して横向きになったら、ぐぐーっと端から離れないといけないの?
縦と横の最大値をとって、その分だけ固定で離した方が簡単だし自然じゃない?

ちなみにスプライトの幅÷2をw、高さ÷2をhとおくと一番遠い端までの距離はこうなる。
a = degtorad(image_angle);
b = arctan(h/w);
x = sqrt(sqr(w) + sqr(h)) * max(abs(cos(a + b)), abs(cos(a - b)));


867 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 19:22:14 ID:/NxeAPUS]
補足すると sqrt(sqr(w) + sqr(h)) が対角線の長さなので
固定で距離をとる場合はこの値にすればいい。
もし角度によって距離を変える場合、縦の距離は上の式のcosをsinに変えれば出る。

868 名前:名前は開発中のものです。 [2010/07/13(火) 21:37:38 ID:K3o0YDHH]
出来ました!
ありがとうございました

869 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 12:18:00 ID:gER7nrJ5]
TDS系のゲームで高速移動する銃弾を作りたいのですが

collision_line(x,y,x+hspeed,y+vspeed,壁オブジェクト,1,0)

だとSpeedが10や13ぐらいなら壁をすり抜けずにすむのですが、Speedを60とかにすると
うまいこと行きません。
何かいい方法はないでしょうか?
Gamemakerのバージョンは6、未レジストです

870 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 20:48:18 ID:7i0jj3Bm]
collision_lineをどう使ってて、何がうまくいかないのかわからないと何とも
よくある間違いはcollision_lineの結果をtrueやfalseと比較することだけど
そこは大丈夫か?

871 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 14:00:31 ID:4F6YppA5]
>>870
大丈夫 だと思います

どうやら俺の作り方がまずかったみたい。

Step Event:
execute code:


if(collision_line(x,y,x+hspeed,y+vspeed,kabe,1,0)){sound_play(chakudan);instance_destroy();}

と設定すると着弾処理自体はしっかりと行ってくれるみたいです

ですが、弾道のトレースを行うと壁を貫通しているんです
うp:www1.axfc.net/uploader/Sc/so/135056
形式は.gm6です


872 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 14:07:27 ID:XkeNVelG]
そりゃそうよ
xとyが更新されるのはStepイベントの後、Collisionなどが実行される手前
(ヘルプでEventのところを見ると詳しく書いてある)
・Stepイベントでcollision_lineでチェック→この時点ではまだ貫通してない
・その後、xとyにhspeedとvspeedが足される
・Drawイベントでx,yから直線を描画
1ステップ未来の弾道を見てるから、貫通してるように見えるだけ。

873 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 15:14:06 ID:4F6YppA5]
>>872
なるほど
いろいろと調べながら頑張ります。

ありがとうございます

874 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 17:51:47 ID:XkeNVelG]
言い忘れてたけど、draw_line(xprevious, yprevious, x, y) にすれば見た目どおりになる。
End stepイベントでcollision_line(xprevious, yprevious, x, y, ..) でチェックしてもいいけど
(その場合Stepイベントでは駄目)

弾速が速い場合、今度は弾が壁の手前で消えるように見えるという問題が出るはず。
それが気になるようだったら、move_contact_solidを使って着弾点まで移動させればいい。

875 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 13:12:37 ID:bqKfWWqP]
GM7未レジスト版だけどこれも参考になるかも?
ttp://gmc.yoyogames.com/index.php?showtopic=320670



876 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 17:01:55 ID:PLPwIk6X]
collision_line の返り値みてあれって思ったけど
6だとtrue/falseが返ってくるのか。wikiにもそんなことが書いてあったし
7以降だとちゃんとidが返ってくるのにね
true/falseの返り値だとかなり使いにくいと思う

877 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 17:23:01 ID:WcNhtTfY]
いや、6でもインスタンスIDか-4(noone)を返すよ。
> All these functions return either the id of one of the instances that collide,
> or they return a negative value when there is no collision.
ここの説明は5から8までずっと変わっていない。
ただ、全体読まずに関数の説明だけ見てtrue/falseだと早とちりする人は多い。

878 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 17:35:40 ID:WcNhtTfY]
ちなみにGMでは、0より大きい値は真、0かそれ以下の値は偽と解釈される。
if (A) は if (A > 0)、 if (!A) は if (A <= 0) と同じ意味。
>871のif文が期待どおり動くのはそういう理由。
これを if (collision_line(...) == true) と直接true/falseと比較してしまうと動かなくなる。

879 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 17:35:54 ID:PLPwIk6X]
なら単純に
ttp://gamemaker.wikicomplete.info/gml:collision-line
ここの説明が間違ってるのか

880 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 19:06:25 ID:WcNhtTfY]
うn
collision_pointの方の説明は合ってるのにね
他にも「bbox_*はProでしか使えない」とかところどころ間違ってる

881 名前:873 mailto:sage [2010/07/25(日) 20:00:59 ID:1/i3AWzX]
>>874-878
おおお!
俺がPC使っていない間に… みんなありがとう!

>874
move_contact_solidか・・・使ってみたらめり込みが改善されました。

>875
サンプル有難うございます!
これを参考に頑張ります。
>878
そんな仕様があったなんて知らなかった・・・


882 名前:名前は開発中のものです。 mailto:sage [2010/08/03(火) 20:30:08 ID:cKSw/IY1]
GM5.3Aで半加算処理って出来ないものなんでしょうか・・・


883 名前:名前は開発中のものです。 [2010/08/17(火) 09:24:30 ID:OKMjBkLc]
早く多言語対応してくれー

884 名前:名前は開発中のものです。 mailto:sage [2010/08/17(火) 13:43:12 ID:4/akdMWt]
>>

885 名前:名前は開発中のものです。 mailto:sage [2010/08/17(火) 13:46:28 ID:4/akdMWt]
途中で送ってしまったorz
>>883
禿同。



886 名前:名前は開発中のものです。 [2010/08/30(月) 12:44:47 ID:4I8KA9ny]
透過PNG使いてぇけど、GM8だと日本語がまったく使えなくなるからなぁ

887 名前:名前は開発中のものです。 mailto:sage [2010/09/02(木) 07:47:32 ID:GMFPofTi]
GMで商用ソフトウェアを作っていたんだが、一つだけどうしても潰れないバグがある…
有償でGM(7pro)に本当に詳しい人を募集したら、集まるものだろうか?
自分はプログラムは素人だけど、GMLを2年くらい触ってる。

888 名前:名前は開発中のものです。 mailto:sage [2010/09/02(木) 19:43:56 ID:DnjUZssB]
商用ってどんなの?
同人ゲームとか?あえてソフトウェアと呼ぶという事はツールとかかな?

889 名前:名前は開発中のものです。 mailto:sage [2010/09/02(木) 21:17:32 ID:0WLIvYuZ]
幻想少女大戦?

890 名前:名前は開発中のものです。 mailto:sage [2010/09/03(金) 10:10:05 ID:MNeR9scq]
>>888
そう、同人ゲーム。
興味がある人がいれば連絡用のメアドを晒そうと思うので、
詳しいことはそちらで改めて。

>>889
べ、別にメモリリークとか言ってないんだからね!

891 名前:名前は開発中のものです。 mailto:sage [2010/09/07(火) 21:58:20 ID:4Oy4y2r6]
>>890
興味ありますなあ、教えてもらう側として

892 名前:名前は開発中のものです。 mailto:sage [2010/09/19(日) 22:23:46 ID:rmqa1/V5]
日本語対応まだー






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<265KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef