【2D】ゲーム作成ツールGameMaker part4【マンセー】
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2009/04/23(木) 08:11:08ID:iAS0afeL●本家(英語)
ttp://www.gamemaker.nl/
●GameMaker Japan - 非公式情報サイト(日本語)
ttp://gamemaker.main.jp/(現在一時閉鎖中)
前スレ
【2D】ゲーム作成ツールGameMaker part3【マンセー】
ttp://pc11.2ch.net/test/read.cgi/gamedev/1210437707/
0807名前は開発中のものです。
2010/05/30(日) 20:54:01ID:yzHAUCrX理想はFPSのウインドウモードのような感じなのですが
色々調べてみたところ望んだ動作をさせるにはDLLを使うしかないようです
そのDLLがどんな物なのかは全くの謎ですが
0808名前は開発中のものです。
2010/05/30(日) 21:01:23ID:yzHAUCrX更新したら同じようなレスが
メニューモードでもウインドウ内に閉じ込めるタイプがありますが、それが理想の動作かもしれません
ALT+TABでフォーカスを移してもマウスの動きも制限されないですし
0809名前は開発中のものです。
2010/05/30(日) 22:56:03ID:jFXrZH5TウィンドウのFPSを遊んだ事が無いので何とも不愉快なイメージしか無い
人によってはフルスクリーンになる事の方が嫌なのかもしれないけど
それにそんな画面いっぱい使ってるゲームなら尚更フルスクリーンの方が楽しめるんじゃないかな
0810名前は開発中のものです。
2010/05/31(月) 20:14:52ID:uB+Rcg9m特に問題は無さそうなのでフルスクリーンで作ることにします
ありがとうございます
0811名前は開発中のものです。
2010/06/01(火) 13:33:24ID:mLQywIcmこの動画みたいに同じタイプのパーティクルを個別の位置(ザコ1匹毎)に作るにはどうしたら良いでしょうか?
0812名前は開発中のものです。
2010/06/02(水) 21:15:39ID:pzl3yDfb銀行振り込みなんかが出来ると助かるんだけど
それと送られてきたキーはどのバージョンでも使えるのかな?
今GM6で何か別物になってそうな気がしてGM7に進めないんだけど
将来的にやっぱりバージョンは上げてくだろうし
0813名前は開発中のものです。
2010/06/02(水) 23:38:52ID:MxWIiucVimage_xscaleとimage_yscaleをいじるしかない?
0814名前は開発中のものです。
2010/06/03(木) 02:49:00ID:dVlhQ8ao敵の位置を指定してpart_particles_createするだけじゃないの?
particle systemとtypeは、適当なコントローラオブジェクトにでも作らせて
グローバルに一個だけ持っておけばいい。
>>812
支払いはクレジットカードとPayPalだけだったかと。
バージョンによってやり方は微妙に違うと思うけど、
Lite版だったらGM起動するたびに「Proにしないか」って画面が出るから
それを押して案内に従えばいいと思う。
ちなみにバージョン間でキーの互換性はないよ。
(GM6買った時は5と6両方のキーがもらえたけど)
>>813
GM6以降だったら、Viewを使って拡大縮小ができる。
0815名前は開発中のものです。
2010/06/03(木) 15:22:06ID:YHqswL3eおお、ありがとうございます
おかげでズームアップできました
0816名前は開発中のものです。
2010/06/03(木) 22:05:01ID:aReQvSl6http://gamemakerblog.com/2010/05/26/game-maker-9-to-be-written-in-c/
0817名前は開発中のものです。
2010/06/03(木) 22:13:37ID:ZiWZ04IR0818名前は開発中のものです。
2010/06/03(木) 23:37:06ID:AF5Clpsp>>816のページもGameMakerユーザーがやってるっぽいし。
本当にC#だったら、Macは切捨てか・・・?
0820名前は開発中のものです。
2010/06/07(月) 15:39:30ID:A0pl8E9hGM6だけ?
0821名前は開発中のものです。
2010/06/09(水) 15:59:46ID:ebHnfTX20822名前は開発中のものです。
2010/06/09(水) 17:02:25ID:3eDecubD0823名前は開発中のものです。
2010/06/09(水) 20:48:06ID:iBEd3wdQ定義されていないならその処理は行わないみたいなことをやりたいのですが…
0824名前は開発中のものです。
2010/06/09(水) 21:05:50ID:sZ3LRrvf0825名前は開発中のものです。
2010/06/09(水) 21:19:21ID:iBEd3wdQ素早いレスありがとうございました。これで先に進めそうです
0826名前は開発中のものです。
2010/06/09(水) 21:19:27ID:dOFxgLqwまじか
8だと出来ないわ
0827名前は開発中のものです。
2010/06/09(水) 23:03:40ID:3eDecubD8だと解除っていうかデフォルトで設定されてない
もちろんチェックをいれれば有効になる
0828名前は開発中のものです。
2010/06/09(水) 23:05:13ID:dOFxgLqwまじか
色々チェックを弄って試してるんだけど分からぬ
どのチェックかな
0829名前は開発中のものです。
2010/06/09(水) 23:24:26ID:3eDecubDこの辺は6から変わらないと思う
0830名前は開発中のものです。
2010/06/09(水) 23:31:12ID:dOFxgLqw0831名前は開発中のものです。
2010/06/11(金) 21:51:55ID:t2BjBbMTどうもキーボード使って斜め移動をしているときに、銃を撃とうとすると斜め移動できなくなるな
なんでだろ
0832名前は開発中のものです。
2010/06/12(土) 01:22:20ID:PYXKd/uJ組み合わせによっては三つ以上認識できないことがある
ShiftとかCtrlにすると改善されるかも
0833名前は開発中のものです。
2010/06/12(土) 13:54:56ID:oloLVXQg0834831
2010/06/13(日) 11:29:24ID:XK4fWSQGやっぱりそうでしたか・・・
キーの組み合わせを調整してみます。
それでもうまくいかないようだったら四方向固定にしようかと。
>>833
激しく同意。 image_angleなしでTDS系のゲームとか作ろうとすると結構つらいorz
0835名前は開発中のものです。
2010/06/13(日) 15:12:21ID:S6dSSaR1ゲーム製作なんて何ヶ月もかかるんだから、2000円ケチる方がはるかに損だと思うんだがな
0836名前は開発中のものです。
2010/06/13(日) 19:10:48ID:ov7pH7B7ボタン押したら変数onにしてタイムラインで一定時間内に次キーが押されなかったら変数offなんて面倒な仕様にしてるんだけど
もっと単純な方法は無いかな
0837名前は開発中のものです。
2010/06/13(日) 21:29:16ID:taDSM2ud処理コマンド(キーを入力する順番)を配列として持ったものと
技の入力状況を示すイテレータを持たせる
一定時間ごとにキー判定を取って、キーが一致すればイテレータを進め
一致しなければ先頭に戻す。最後まで到達すれば技発動・・・みたいなことを考えた
0838836
2010/06/16(水) 07:51:51ID:iSVFrURJ参考にしてみるよ。ありがとうございました
0839名前は開発中のものです。
2010/06/16(水) 07:56:57ID:Jeqzgo2Jアニメが終わる間動きを止めたいんですけどどうすればいいのか
教えてもらえませんか?
よくアラームを使うって見かけるけどいまいちわからなくて…
AnimationEndを使うとオブジェクトをいくつも分けないとだし
変数もややこしくなるしで一つのオブジェクトで済ませたいんです
0840名前は開発中のものです。
2010/06/16(水) 17:24:01ID:jPwPQDvqただ、AnimationEndイベント内部はswitch-caseとかの場合わけが必要になるかもしれないけど。
0841839
2010/06/17(木) 00:24:48ID:mBfyuQLTありがとう。分けなくてもAnimationEnd使えるんですか
ただ動きに応じて、という処理の書き方・GMLは使ってないのでこれまた
書き方がヘルプ等見ても見当がつかないんですがGML使わなくても出来ますか?
というか皆さんこういう場合具体的にどうやっているんでしょうか?
散々調べたけどその辺詳しく解説されているところが見つからなくて…
ニュートラル>攻撃モーション完了(完了まで攻撃ボタン無効)>ニュートラル
というのがどうやっても出来なくて数ヶ月詰まってます。
もっと簡単な方法とか他にあればどなたか教えて下さい
お願いします。
0842名前は開発中のものです。
2010/06/17(木) 07:20:40ID:nIJZSKy9攻撃モーションへ移る際にその変数をoff、モーション完了後に変数をonに直せば良いだけの話じゃないの?
0843839
2010/06/18(金) 21:45:25ID:zwccdsE4ありがとう
なんかそう言われるとやけに簡単な気がして
ゼロから組み直したらある程度形になりました。
まだ思い通りにはいきませんが…
0844名前は開発中のものです。
2010/06/22(火) 11:01:41ID:Ci7o/Mjt0845名前は開発中のものです。
2010/06/23(水) 01:35:42ID:qd+uDdYgまずcreateしてからsppedとdirectionを設定すればいい
a = instance_create(x, y, object);
a.speed = 速度;
a.direction = 方向;
Createイベントの時点ではまだspeedとdirectionが設定されてないから
厳密に言うとアクションと等価じゃないけどな
0846名前は開発中のものです。
2010/06/23(水) 01:44:03ID:tBjeKmtzたくさん変数を用意しないといけませんね。
0847名前は開発中のものです。
2010/06/23(水) 01:54:04ID:qd+uDdYg一時変数すら使いたくないならwithを使う方法もある
with (instance_create(x, y, object)) { spped=速度; direction=方向; }
同じことをあちこちでやるんだったらスクリプトにすればいい。
0848名前は開発中のものです。
2010/07/01(木) 17:55:32ID:RG53nBFrStep towards a point avoiding objects はGMLでどう表せばよいのでしょうか
http://www1.axfc.net/uploader/Img/so/87434.bmp
0849名前は開発中のものです。
2010/07/01(木) 19:26:31ID:U4SaJhzrレジストしていないなら
mp_potential_settings(maxrot,rotstep,ahead,onspot)
で設定した後
mp_potential_step_object(x,y,stepsize,obj) もしくは mp_potential_step(x,y,stepsize,checkall)
関係ないけど画像でaxfc使われると手間がかかるんだよなあ
0850名前は開発中のものです。
2010/07/01(木) 19:50:38ID:RG53nBFrありがとうございます。
ところで A*ってなんでしょうか
0851名前は開発中のものです。
2010/07/01(木) 20:36:34ID:U4SaJhzrGameMaker でも使えるみたいだけどGMで使ったこと無いから
精度とかコストはどれほどものかわからない
A*そのものについてはググッた方が早いかも
今なら結構解説サイトがあると思う
0852名前は開発中のものです。
2010/07/01(木) 21:52:39ID:RG53nBFrありがとうございます
0853名前は開発中のものです。
2010/07/03(土) 12:24:32ID:xej2WSqRこのようなアプローチは可能でしょうか
0854名前は開発中のものです。
2010/07/03(土) 17:57:32ID:LChSDnyO0855853
2010/07/03(土) 18:31:38ID:xej2WSqRmp_potential_stepとmp_potential_settingsを使うのでしょうか
ルームの広さは大体600×600くらいです
0856名前は開発中のものです。
2010/07/03(土) 20:41:39ID:LChSDnyO例えばTower Defense系のように最短経路を辿らせたいとか
トルネコみたいなローグ系な動きとか
迷路のほうはともかくAIに何をさせたいか分からないと説明に困るぞ
0857名前は開発中のものです。
2010/07/03(土) 21:34:57ID:9sSVyJeo0858名前は開発中のものです。
2010/07/03(土) 21:35:54ID:9sSVyJeo0859853
2010/07/04(日) 09:41:34ID:R47f51enそうですね・・・
Tower Defenceみたいに最短経路を辿らせてみたいのですが
説明忘れてましたorz
0860名前は開発中のものです。
2010/07/04(日) 11:49:06ID:fTuJE3/P迷路の形状が決まった時点で、出口から通路をスコアつきで塗りつぶしていけば
敵はそのスコアが小さくなるようにたどっていけば最短になる
mp_potential_stepとmp_potential_settingsの組み合わせはTDには向いていない
根本的に最短を通るわけではないし
かなりいい加減によけていくのでおそらく狭い通路みたいなところだとうまくないと思う
2Dの見下ろし型のゲームで単純な障害物をよけるような場面が適しているんじゃないかと
0862853
2010/07/04(日) 14:11:38ID:R47f51en>迷路の形状が決まった時点で、出口から通路をスコアつきで塗りつぶしていけば
調べてもなかなかよくわかりませんでした
サンプルとかあると幸いです
0863名前は開発中のものです。
2010/07/04(日) 14:58:54ID:fTuJE3/Pずれているかも知れないけど右のようになるでしょう
あとは数字が少なくなるように移動させるだけ
□□□□ 3456
□■S □ → 2■65
□G ■□ 10■4
□□□□ 2123
GM5は古いしサンプル期待するのは難しいかもしれない
経路探索の名前はともかくアルゴリズムの本を見れば大抵のものには
これ系のものは載っていると思う
0864名前は開発中のものです。
2010/07/04(日) 21:49:22ID:R47f51enヒントを有難う
これを参考に頑張ってみます
0865名前は開発中のものです。
2010/07/13(火) 18:47:11ID:K3o0YDHH自機スプライトの縦と横の長さが違い、回転するのでroomの中に常に収めるコードが
うまく書けません。
正方形のスプライトなら if (x < sprite_width/2) x = sprite_width/2
とかで出来るんですが…(原点=中心)
lengthdirとか使ってもうまくいきません
いい方法ありませんか?
0866名前は開発中のものです。
2010/07/13(火) 19:14:30ID:/NxeAPUS仮にスプライトの縦の方が横より長いとして
自機が縦向きで画面の端にくっついているとしよう。
その状態で自機が回転して横向きになったら、ぐぐーっと端から離れないといけないの?
縦と横の最大値をとって、その分だけ固定で離した方が簡単だし自然じゃない?
ちなみにスプライトの幅÷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)));
0867名前は開発中のものです。
2010/07/13(火) 19:22:14ID:/NxeAPUS固定で距離をとる場合はこの値にすればいい。
もし角度によって距離を変える場合、縦の距離は上の式のcosをsinに変えれば出る。
0868名前は開発中のものです。
2010/07/13(火) 21:37:38ID:K3o0YDHHありがとうございました
0869名前は開発中のものです。
2010/07/17(土) 12:18:00ID:gER7nrJ5collision_line(x,y,x+hspeed,y+vspeed,壁オブジェクト,1,0)
だとSpeedが10や13ぐらいなら壁をすり抜けずにすむのですが、Speedを60とかにすると
うまいこと行きません。
何かいい方法はないでしょうか?
Gamemakerのバージョンは6、未レジストです
0870名前は開発中のものです。
2010/07/17(土) 20:48:18ID:7i0jj3Bmよくある間違いはcollision_lineの結果をtrueやfalseと比較することだけど
そこは大丈夫か?
0871名前は開発中のものです。
2010/07/18(日) 14:00:31ID:4F6YppA5大丈夫 だと思います
どうやら俺の作り方がまずかったみたい。
Step Event:
execute code:
if(collision_line(x,y,x+hspeed,y+vspeed,kabe,1,0)){sound_play(chakudan);instance_destroy();}
と設定すると着弾処理自体はしっかりと行ってくれるみたいです
ですが、弾道のトレースを行うと壁を貫通しているんです
うp:http://www1.axfc.net/uploader/Sc/so/135056
形式は.gm6です
0872名前は開発中のものです。
2010/07/18(日) 14:07:27ID:XkeNVelGxとyが更新されるのはStepイベントの後、Collisionなどが実行される手前
(ヘルプでEventのところを見ると詳しく書いてある)
・Stepイベントでcollision_lineでチェック→この時点ではまだ貫通してない
・その後、xとyにhspeedとvspeedが足される
・Drawイベントでx,yから直線を描画
1ステップ未来の弾道を見てるから、貫通してるように見えるだけ。
0873名前は開発中のものです。
2010/07/18(日) 15:14:06ID:4F6YppA5なるほど
いろいろと調べながら頑張ります。
ありがとうございます
0874名前は開発中のものです。
2010/07/18(日) 17:51:47ID:XkeNVelGEnd stepイベントでcollision_line(xprevious, yprevious, x, y, ..) でチェックしてもいいけど
(その場合Stepイベントでは駄目)
弾速が速い場合、今度は弾が壁の手前で消えるように見えるという問題が出るはず。
それが気になるようだったら、move_contact_solidを使って着弾点まで移動させればいい。
0875名前は開発中のものです。
2010/07/19(月) 13:12:37ID:bqKfWWqPttp://gmc.yoyogames.com/index.php?showtopic=320670
0876名前は開発中のものです。
2010/07/19(月) 17:01:55ID:PLPwIk6X6だとtrue/falseが返ってくるのか。wikiにもそんなことが書いてあったし
7以降だとちゃんとidが返ってくるのにね
true/falseの返り値だとかなり使いにくいと思う
0877名前は開発中のものです。
2010/07/19(月) 17:23:01ID:WcNhtTfY> 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だと早とちりする人は多い。
0878名前は開発中のものです。
2010/07/19(月) 17:35:40ID:WcNhtTfYif (A) は if (A > 0)、 if (!A) は if (A <= 0) と同じ意味。
>871のif文が期待どおり動くのはそういう理由。
これを if (collision_line(...) == true) と直接true/falseと比較してしまうと動かなくなる。
0879名前は開発中のものです。
2010/07/19(月) 17:35:54ID:PLPwIk6Xttp://gamemaker.wikicomplete.info/gml:collision-line
ここの説明が間違ってるのか
0880名前は開発中のものです。
2010/07/19(月) 19:06:25ID:WcNhtTfYcollision_pointの方の説明は合ってるのにね
他にも「bbox_*はProでしか使えない」とかところどころ間違ってる
0881873
2010/07/25(日) 20:00:59ID:1/i3AWzXおおお!
俺がPC使っていない間に… みんなありがとう!
>874
move_contact_solidか・・・使ってみたらめり込みが改善されました。
>875
サンプル有難うございます!
これを参考に頑張ります。
>878
そんな仕様があったなんて知らなかった・・・
0882名前は開発中のものです。
2010/08/03(火) 20:30:08ID:cKSw/IY10883名前は開発中のものです。
2010/08/17(火) 09:24:30ID:OKMjBkLc0884名前は開発中のものです。
2010/08/17(火) 13:43:12ID:4/akdMWt0885名前は開発中のものです。
2010/08/17(火) 13:46:28ID:4/akdMWt>>883
禿同。
0886名前は開発中のものです。
2010/08/30(月) 12:44:47ID:4I8KA9ny0887名前は開発中のものです。
2010/09/02(木) 07:47:32ID:GMFPofTi有償でGM(7pro)に本当に詳しい人を募集したら、集まるものだろうか?
自分はプログラムは素人だけど、GMLを2年くらい触ってる。
0888名前は開発中のものです。
2010/09/02(木) 19:43:56ID:DnjUZssB同人ゲームとか?あえてソフトウェアと呼ぶという事はツールとかかな?
0889名前は開発中のものです。
2010/09/02(木) 21:17:32ID:0WLIvYuZ0890名前は開発中のものです。
2010/09/03(金) 10:10:05ID:MNeR9scqそう、同人ゲーム。
興味がある人がいれば連絡用のメアドを晒そうと思うので、
詳しいことはそちらで改めて。
>>889
べ、別にメモリリークとか言ってないんだからね!
0891名前は開発中のものです。
2010/09/07(火) 21:58:20ID:4Oy4y2r6興味ありますなあ、教えてもらう側として
0892名前は開発中のものです。
2010/09/19(日) 22:23:46ID:rmqa1/V50893名前は開発中のものです。
2010/09/20(月) 10:57:08ID:8iAYpL5b0894名前は開発中のものです。
2010/09/25(土) 09:28:35ID:z7hfMkRR0895名前は開発中のものです。
2010/09/25(土) 09:32:38ID:z7hfMkRRしてるのかな? ググっても良くわからなかったが
0896名前は開発中のものです。
2010/10/04(月) 19:27:47ID:1XNZlB77最悪ムービーを連番画像化して音を別に流せば何とかなる気もするけど…
間違いなくずれるなw そしてexe肥大化するし。
0897名前は開発中のものです。
2010/10/04(月) 22:27:13ID:jyzenNLT0898名前は開発中のものです。
2010/10/04(月) 23:47:24ID:nPL36qTA0899名前は開発中のものです。
2010/10/05(火) 07:11:07ID:Ic8INzlSそういうエクステンションならいくらでもあったような
0901名前は開発中のものです。
2010/10/05(火) 15:24:36ID:qGis8gOUパチスロゲーとか作ろうとしても紙芝居じゃどうしても演出が大変だったんだ
GM6を卒業する時が来たらしいな
0902名前は開発中のものです。
2010/10/06(水) 14:56:26ID:Ty8IdKCx0903名前は開発中のものです。
2010/10/08(金) 00:09:20ID:2eH0fymjGamemaker8になってタブインデントができなくて困る
(勝手にスペースになる)んだけど、これって設定しだいで直せます?
0904名前は開発中のものです。
2010/10/12(火) 22:27:48ID:g8GuItbA全部置き直さないと変えれないかな?
0905名前は開発中のものです。
2010/10/13(水) 12:00:34ID:eqtsqMr8GMLとGM7Pro版を使えるものとして話を進める。
インスタンス固有のidは読み取り専用だから変更できない。
with構文を使うとどんなときでもidが小さい順に処理されるからこれでも無理。
そこで、処理したいオブジェクトに優先度を格納する変数aを用意して個別に値を設定し、優先度つきキューに入れる。
その後にキューからaの大きい(小さい)順に取り出しつつ処理すれば、置き直さずに処理の順番を変更できる。
途中で順番を変更したくなったら個別にaを変えてやると良い。
Lite版でも配列を駆使して優先度つきキューを実現できれば、目的の処理はできる。
サンプル作ったから見てみて。GM7で見れる。
http://www1.axfc.net/uploader/Sc/so/162440.zip
分かりにくかったらごめん。
0906名前は開発中のものです。
2010/10/13(水) 22:56:36ID:62J2Pig+なるほど、優先度つきキューですか。
thx
レス数が900を超えています。1000を超えると表示できなくなるよ。