トップページgamedev
981コメント340KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/12/05(日) 09:57:49ID:AN26SQm8
無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。

●本家(英語)
 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/
0467名前は開発中のものです。2011/07/16(土) 01:55:01.72ID:CuCm9AmG
同値判定は==な
&&は見たまんまアンドだから二つとも真でないと全体が真にならない
0468名前は開発中のものです。2011/07/16(土) 08:43:25.55ID:tIImVnZu
GMは()内の=は==として扱う
0469名前は開発中のものです。2011/07/16(土) 09:06:41.08ID:dh9v5UQq
delphi は同値比較が=で、代入が:=だから部分的な記述としてはいいんだけど
delphiの演算子も混ぜて使えるってのはこれから覚える人にあまりよくないよなあ
全体的にみるとGMLはプログラミング勉強用として優しくない仕様だと思う
GMLの演算子はhelpにあるexpressionに合わせるのがいいよ
0470名前は開発中のものです。2011/07/16(土) 15:27:22.59ID:UGUynbns
変数の定義が必要ないから、文字変数と数字比較しちゃってエラーはいたりするよね
0471名前は開発中のものです。2011/07/16(土) 19:15:47.36ID:c6sNdZTg
>>466
実験してみたけど、片方が偽だとループが終わるね。
逆に||だと両方偽の時ループが止まる
0472名前は開発中のものです。2011/07/16(土) 19:18:35.56ID:m5UKc0In
こういうさ、簡単にそれこそ20秒で確認取れるようなコードをさ
なんで自分でやって確認しないのかすごく気になるんだけど
0473名前は開発中のものです。2011/07/16(土) 20:37:57.41ID:XUYir7DG
実際に作成中のゲームのコード内で思いついて、実験するには色々組み合わさってるのゲーム内で確認しなきゃならなくて面倒
かといってわざわざ新しく実験用の組み上げるのも面倒、というかどうすれば実験出来るのかって感じじゃないの
0474名前は開発中のものです。2011/07/19(火) 08:06:29.58ID:LMHQ7/8n
ものによっちゃそうだけど>>466くらいなら簡単に実験できるじゃん
デバッグウインドウで結果見るだけでもいいし。

まあ今でこそ新しい関数は簡単に組んで勉強したりするけど
始めたての頃はその辺要領つかんでなかった気もする
0475名前は開発中のものです。2011/07/20(水) 01:16:53.49ID:Qm4Ke15v
そろそろ8.1有料版に移行しようと思ってるんだけど
8.0とくらべて不具合があるのは>>430くらい?
0476名前は開発中のものです。2011/07/20(水) 05:13:02.50ID:dL+OoWXg
リネームしようとすると何故か検索になる不具合もなかったっけ
あと操作性の面でRoomのCtrl+右クリックと右クリックの動作が入れ替わってるのと
ホイールがスクロールじゃなくて拡大縮小になってる
0477名前は開発中のものです。2011/07/20(水) 07:02:31.76ID:lZQMywI6
>>475
http://store.yoyogames.com/downloads/gm4win/release-notes.html

好きな時に移行したらいいんじゃないかな
0478名前は開発中のものです。2011/07/20(水) 10:39:01.69ID:JQ2xpH9n
まあ8.1はアップデートが頻繁にあるからいずれ修正されるという期待は持てる
しかしこんなに修正があるって事はバグもたくさんあったって事
8.0はアップデートなんて無かったけどバグ関連はどうだったんだろう
0479名前は開発中のものです。2011/07/20(水) 12:59:22.31ID:fwGpP1Oq
>>477
これ見てみたら結構怖いバグあるな
file_copyが動かなくて8.1放置してたけど修正リストにあって吹いたわ
0480名前は開発中のものです。2011/07/21(木) 07:17:37.46ID:KsgR9Cab
もしかして8.1からmbtext使えなくなった?
コードエディターがUnicodeになったとかstringのフォーマットが変わったからなのか・・・
日本語描画中心だったから本当に困った
0481名前は開発中のものです。2011/07/21(木) 14:26:36.23ID:vfyBMJN/
mbtext初めて知ったけどこれは便利そうだな
ありがとう
0482名前は開発中のものです。2011/07/21(木) 23:38:26.37ID:wTtibFdt
8.1から引数が省略できなくなったと聞いたことあるけど
0483名前は開発中のものです。2011/07/22(金) 01:58:35.89ID:GYZLny7K
前は勝手に0が入ってたけど今はちゃんと(0,0,0,0)とか書かないとエラー出る
0484名前は開発中のものです。2011/07/22(金) 08:30:46.39ID:FfDe+wdB
いやそのエラーではないんだ
最新版だとGlobal Game Settingでエラー吐く吐かないの設定できるようになってるし

もうちょっと詳しく言うと、mbtext("あいうえお", 0, 0)で座標(0, 0)に何かが描画はされるんだけど
"あいうえお"じゃなくてまったく意味不明の文字列なんだよね
jfontmakerとmbtextはSJISコード対応のだったはずだから、
もしかしてGMの文字列のコードが変わってて、そのせいでうまく読めなくなってるのかなと

とかなんとか言ってみたけど、mbtextのソースすら理解できない俺にはこれ以上わからないんだ
もし似たような状況になった人がいれば教えてほしい
0485名前は開発中のものです。2011/07/22(金) 08:31:54.57ID:FfDe+wdB
連カキコすまん
↑の例はmbtextじゃなくてmbtext_drawの間違い
0486名前は開発中のものです。2011/07/22(金) 14:21:42.97ID:h+6BW/bF
Version 8.1.106 から、コード上のマルチバイト文字を内部でユニコードとして処理するようになったため、現状 mbtext_draw() を使用することは不可能。
mbtext_draw() をユニコードで処理するように書き換えるしかないかも・・・かなり面倒なことになりそうだけど。

しかし、draw_text系は6.0の時から表示結果が変わらないし、何のためのユニコード対応か、理解できない。
0487名前は開発中のものです。2011/07/22(金) 18:30:24.06ID:oofkqUlO
完全に終わったな、日本語の表示すら不可能になるとか……
これだから海外製のツールは糞なんだよ
0488名前は開発中のものです。2011/07/22(金) 22:09:41.57ID:hmQXyD/L
全てのツールがこんな糞国の言語に対応してくれると思う方がおかしいんだよ
しかし確かに前まで使えてた物が使えなくなるってのは改悪以外の何物でもないな
0489名前は開発中のものです。2011/07/22(金) 22:58:09.68ID:q1OBgjaA
ユニコードに対応したといっておいて対応できてないのが問題な気がする
エディタ中だとカーソル位置がずれたり文字位置ずれたりで
テキスト描画はフォントの仕様で描画できないし
大体強制ユニコードならフォント設定欄にあるcharset設定しても意味ないじゃない
0490名前は開発中のものです。2011/07/23(土) 06:55:00.09ID:PuuIzQYH
頑張ってくれてるのはわかるんだけど、8.1はまだオープンベータっぽいのは否めないよね
エディタをユニコードにしたのも苦肉の策って感じだった
文字位置ずれるんじゃ殆ど使い物にならないし・・・
日本語描画が出来なくなったら本格的にGMがオワコンになってしまう
0491名前は開発中のものです。2011/07/25(月) 23:10:15.58ID:Fd3RnSTt
image scale にマイナス渡すと画像もマスクも狂うのか
反転分の画像やるのめんどくさいな

mod もそうだけどやってはいけないことがあるなら
それっぽい値を返すのではなくエラーや警告をだしてほしいよ
0492名前は開発中のものです。2011/07/26(火) 00:00:34.41ID:G+txuoKu
まじかよ、xscaleに-1とか指定して反転するの使ってるのに
バージョンアップしたらダメになるのか……
0493名前は開発中のものです。2011/07/26(火) 20:28:52.16ID:kQt/g10S
いや逆に8.1だと修正されてる
画像が状況によっておかしくなるのは少なくとも7.0の頃にはあって
8.0だと反転したり画像の一部がスクリーン外にあると表示が乱れるバグがある
0494名前は開発中のものです。2011/07/26(火) 20:35:52.43ID:Xpt9Sjrs
>>491,493のどっちが真実なんだよwww
0495名前は開発中のものです。2011/07/26(火) 20:46:27.32ID:kQt/g10S
みんな最新版使っているわけじゃない
今のところ最新版だと日本語回りが完全自作しないといけなくなったり
まだ見ぬバグがありそうだし様子見の人もいるんじゃないかな
GMに限った話じゃないけど有料なら移行する理由がなければ移らないと思う

極端な例だけど外人作成の去年完成したIjiってゲームは5系の奴で作ってたらしい
0496名前は開発中のものです。2011/07/29(金) 21:05:44.26ID:kA07dPke
前から興味あって、今日DLしてみた。
楽しいなこれ
0497名前は開発中のものです。2011/08/01(月) 05:29:51.99ID:2eC23z/g
世の中の人間プログラミングが難しいものとして考えすぎ
主観だが外国語を習う程度の難しさでしかないというのに
0498名前は開発中のものです。2011/08/01(月) 06:48:35.15ID:IGlihiZW
難しいじゃん
0499名前は開発中のものです。2011/08/01(月) 16:40:41.05ID:1SdlK0Ad
外国語習うよりよっぽど簡単だよ
話すための言葉っていうのは時代とともにどんどん使いやすく変化していくから、新しく覚えようとする人には覚えにくくてしょうがない
その点プログラミング言語は、あらかじめ構文が決められてて例外もないからそれだけで相当覚えやすいわけだ
0500名前は開発中のものです。2011/08/01(月) 16:47:08.32ID:zjdT+8zc
プログラミングできなくてもゲームが作れるGMのスレでどうしたの?
褒めて欲しいの?
0501名前は開発中のものです。2011/08/02(火) 01:56:28.67ID:TjTyXTDH
プログラミングできなくてさーせん
0502名前は開発中のものです。2011/08/02(火) 04:00:15.86ID:Be+ijC+E
外国語より相当難しいと思うけど
インクルードだかなんだかとかそういう「お決まり事」だけでもう限界
Cだとソフトが必要みたいだしそのソフトでも単純にソースコードだけじゃなく色々あってややこしい
BASICとかHSPみたいに単純だと良いんだけど。自由度を上げようとするとそうなってしまうのかね

GMLは2Dゲーム専用言語としてはかなり使いやすいよね
0503名前は開発中のものです。2011/08/02(火) 10:52:51.92ID:7WwXHEIU
素人質問申し訳ないんだけど、悪魔城みたいなノリのMAP移動頻繁にする探索タイプの横アクションって初心者には作るの難易度高い?
0504名前は開発中のものです。2011/08/02(火) 11:01:32.40ID:1ptxQiva
画像さえ用意できるのならGMならどうにでもなるレベル
0505名前は開発中のものです。2011/08/02(火) 17:12:43.72ID:7WwXHEIU
なるほど、サンクス。
頑張ってみる
0506名前は開発中のものです。2011/08/02(火) 23:35:58.42ID:PNiE8aaO
更新でコードエディタのバグ直したとあったから確認してみたけど
全く変わってないように見えるな
試しにユニコードで日本語描画やってみたけど、漢字だけはどうにもならないな
フォントを画像化すると中国語と韓国語も含んでしまうからリソースが無駄に膨れ上がってしまう
フォントまわりは更新のたびに悪化の一途をたどってるな
0507名前は開発中のものです。2011/08/03(水) 02:36:08.33ID:rSaSk5ck
いつも悩むのだけどSFCのマリオカートみたいな2Dなのに奥行きのあるゲームってどうやって作ってるのだろう

DOOMだっけ?ああいう感じのはパノラマ画像使って作れるのではと思ったのだけど、
レーシングゲームみたいに複雑にうねった道で奥に進んでいくってのはどういう仕組なのかな
0508名前は開発中のものです。2011/08/03(水) 08:50:06.61ID:Y8AMFpjM
2D画像をなんとか変換して奥行きもたせてるんじゃなかったかな
イメージとしてはぺらい紙を目線に平行にするみたいな
拡大縮小を駆使したらGameMakerでもできそうだけど、実際どうなんだろう
0509名前は開発中のものです。2011/08/03(水) 22:21:13.36ID:82meJIHS
SFCのマリカーはコースにうねり、起伏など高さがない疑似3D(2D)
64、wiiのマリカーは3D

2Dだと平面を走っているだけだから基本的にうねったりはできない
複雑なのを作りたければ3Dを覚えるしかない
game makerで3Dはまだ人柱用な気がする。エディタも3Dに適してないし
0510名前は開発中のものです。2011/08/07(日) 00:39:10.92ID:dMo2npZN
というか、素直にUnityとか使った方がいいような>3D
0511名前は開発中のものです。2011/08/09(火) 20:35:09.60ID:zYCiIxey
>>491
8.0でimage_xscale=-1にしてみたが絵も判定も何の問題もなかったぞ
もしかして判定も反転するのをことをいってんのか?
たまに縦に1〜2ピクセル伸びる問題なら確認したが
0512名前は開発中のものです。2011/08/09(火) 22:26:52.62ID:qukQPt8J
491じゃないけど、かなり前に確認したやつ
ttp://www.gazo.cc/up/51568.png
全部同じ画像でどれが何に対応しているかは忘れた
ドット絵調の奴だとすごく汚く見えるんだよなあ
判定はしらん。丸めの段階で画像と当たり判定はずれる
結構前に公式フォーラムで判定がおかしくなるという話題は見たことはある
0513名前は開発中のものです。2011/08/10(水) 00:10:00.76ID:1pr44AXm
>>512
うーんわからないな。GM8使って1年過ぎたが俺は一度も起きたことがなかったよ。
そういやsprite editerが止まるバグも俺は一度もなかったし…パソコンによるものなのかな。
とにかく情報ありがとう。
0514名前は開発中のものです。2011/08/10(水) 05:21:51.40ID:64tSlmHO
値上がりしたとか言う話題出てたけど、前のバージョンのも高くなってるの?
ていうか前のバージョンのまだ課金出来るの?
0515名前は開発中のものです。2011/08/11(木) 06:50:19.13ID:LIurj36Q
素人がまず最初にやるべき事とか、参考にするべきサイトとかのオススメある?
0516名前は開発中のものです。2011/08/11(木) 08:39:32.26ID:xfARJOgA
サンプルゲームを日本語ヘルプ見ながら弄って多少覚えた
最新版の追加機能とか全然わからん
ちゅうがくせいれべるのえいご()
0517名前は開発中のものです。2011/08/11(木) 14:28:36.93ID:LIurj36Q
>>516
サンプルゲームか、なるほど。
ありがとう
0518名前は開発中のものです。2011/08/11(木) 19:35:28.85ID:U715DoTf
俺は8.1が出た直後8.0を課金したよ。両方使えると思ってね。
でもアップグレードできなかったよ。アップグレードできなかった人はのは結構いたみたいだ。
8.0liteは今ダウンできないぽいけど俺は前に持っていたから課金できたよ。
0519名前は開発中のものです。2011/08/12(金) 16:37:53.61ID:1hiYeA3U
image_angelの代わりとして使えるものってある?
素人+not課金だからよくワカンネ
0520名前は開発中のものです。2011/08/12(金) 16:55:23.71ID:nK5VFVPq
スプライトエディターのAnimation -> Rotation Sequenceで回転した絵を作って
オブジェクトのimage_indexを欲しい角度のサブイメージ値に変更すればできる

ただしこの方法だとアニメを付けるのが難しいのと細長いスプライトでも大きな正方形にしないといけない
0521名前は開発中のものです。2011/08/12(金) 20:58:42.36ID:sVNOAUT5
メモリも大量に食うしな
0522名前は開発中のものです。2011/08/12(金) 21:38:07.70ID:PUCK9v+B
8.1からはLite版でもimage_angleが使えるようになってるよ
draw_sprite_extも解禁されてるけど、image_blendだけは使えない
0523名前は開発中のものです。2011/08/13(土) 01:39:03.40ID:f0K+WE2x
>>520-522
ありがとうy
0524名前は開発中のものです。2011/08/17(水) 00:55:18.81ID:ziSuWo4f
とりあえず,mbtextを日本語に対応させるのには成功した.
0525名前は開発中のものです。2011/08/17(水) 04:16:01.82ID:w/FTdIZc
うおおおおおおお本当か
8.1でってことなら救世主じゃないか
0526名前は開発中のものです。2011/08/17(水) 08:12:24.60ID:ziSuWo4f
>>525
もちろん8.1でだよー
→ttp://eidwinds.com/tooru/mbtext_script_81.zip
まぁ,まだ自分でしか試してないからあれだから,誰か試してみてほしい
0527名前は開発中のものです。2011/08/17(水) 17:10:57.11ID:UC/Toxc/
対応表作ったのかマジで乙
情熱のなせる業だなw
0528名前は開発中のものです。2011/08/17(水) 17:27:44.48ID:WDleL0qu
5.3だかなんだかの旧verでやってる初心者なんだけど、やっぱり日本語対応差し引いても新しいやつのがいい?
0529名前は開発中のものです。2011/08/17(水) 23:31:15.82ID:ve8/bZKi
8.1対応きたあああああああああああああああ
0530名前は開発中のものです。2011/08/18(木) 02:05:41.09ID:akhx6xbN
触ってみたけど、本当に日本語描画できるじゃないか、感動した
Unicode8からSJISへの写像を手で作ったのか…その努力に感謝する

見たところ、第二水準漢字には対応してないみたいだね(手で作るならそりゃ大変だけど)
だったらリンクにあるUnicode対応表から自動で(u8_bit1, u8_bit2, res_bit1, res_bit2)を割り出せないかな
素人の発想だからあれだけど、その対応表をcsvか何かにしてから読み込んで
それを(u8_bit1, u8_bit2, res_bit1, res_bit2)の組に変換するコードを組むとか

あとはそれを出力したファイルをGMで読み込んで
res_bit1[u8_bit1, u8_bit2] //(u8_bit1, u8_bit2)に対応するres_bit1
res_bit2[u8_bit1, u8_bit2] //(u8_bit1, u8_bit2)に対応するres_bit2
を定義するとかすれば手作業は省けるかもしれないけど
これだと配列のサイズが大きくなりすぎて問題かな
0531ziSuWo4f2011/08/18(木) 07:55:45.88ID:Huqj3QU8
>>530
UTF-8からSJISへの対応表は、りーどみーに書いてある「JIS第一水準漢字・文字コード表」から自動生成させたものだから、そこまで手間はかかってなかったりする。
同じような感じで第2水準漢字も対応表があれば、実装できそうなんだけどなー
0532ziSuWo4f2011/08/18(木) 07:57:39.82ID:Huqj3QU8
って書き込んだけど、普通にあったわ
ちょっと作ってくる
0533ziSuWo4f2011/08/18(木) 08:37:49.83ID:Huqj3QU8
とりあえず、第二水準漢字にも対応させてみた
ダウンロード場所は、 >>525 と同じ所

といった独り言みたいになってるけど、これまた自分での確認だけでは不安だから、誰か試してみてほしい
0534名前は開発中のものです。2011/08/18(木) 08:46:59.09ID:akhx6xbN
早すぎるだろ!
仕事終わったら早速試してみるわ、ありがとう
0535名前は開発中のものです。2011/08/18(木) 14:16:40.13ID:I7jWaH++
GameMakerはじまったな
0536名前は開発中のものです。2011/08/19(金) 00:01:52.79ID:F2HMcDlR
開発言語変わったとかどこかで見た気がするんですが
バージョン8以降になってから動作速くなったりしてます?
まだ7つかってるんですが。
0537名前は開発中のものです。2011/08/22(月) 11:15:05.84ID:LxHZyaFC
久しぶりにスレ開いたら神降臨ですか。
日本語はsprite_partで一文字一文字書いていたからマジ助かる。
0538名前は開発中のものです。2011/08/24(水) 17:57:02.57ID:b9763/ur
>>533
マジで乙
まだあんまり触ってないんだが、忘れないうちに記号の×が表示されないのだけ報告しとく
個別に報告しても役に立たないのはわかってるが・・・
0539名前は開発中のものです。2011/08/26(金) 17:49:55.32ID:YwNYyvsB
ところで、公認ガイドっぽいのって買ってる人いる?
ttp://book.gamemaker.nl/
0540名前は開発中のものです。2011/08/27(土) 09:49:20.08ID:LBkY6ZYx
いないんじゃないか。内容的に小中学生向けの本だし
内容が簡易であっても英語わからないとさっぱりだろうし
逆に英語が堪能なら付属のチュートリアル見るなりフォーラムで質問するなりしたほうがいい
0541名前は開発中のものです。2011/08/27(土) 13:32:07.57ID:7oU+FEwe
いや、図示されてるから英語さっぱりでも内容まったく分からないということはないんじゃなかろうか?
まあでも、小中学生向けの本だな。
0542名前は開発中のものです。2011/08/28(日) 01:43:08.09ID:/6xx2dSK
質問です。
これ使ってAndroidで有料ゲーム作れますか?
あと、プログラム言語は何を使うの?Java?
0543名前は開発中のものです。2011/08/28(日) 01:53:13.56ID:+r6NpT97
>>542
あんたはこのツールは使わなくてよい
05445422011/08/28(日) 02:04:41.25ID:/6xx2dSK
自己解決した。
公式のWikiみたら「You can even sell them. 」ってあったから大丈夫そうだな。
ドキュメント漁ってライセンス調べてみるわ。
あと、言語はGMLって専用のスクリプト使うみたいだ。

スレ汚しスマン。
0545名前は開発中のものです。2011/08/28(日) 07:58:50.95ID:DOl7TkST
>>541の続き
ゲームデザインが段階的に分かる本ではあるけれども。
本の雰囲気が見ていいと思ったら買えばいい。
http://book.gamemaker.nl/chapters/Chapter3.pdf
付属CDのResources Folderの素材は、商用利用可(ただし、sprite、backgrounds、soundsはfreeware collectionからの流用なのでこれらを省く)。二次配布禁止。
0546名前は開発中のものです。2011/08/28(日) 08:24:30.17ID:DOl7TkST
ゴメン、GameMaker以外での使用も不可だった。一応全文載せとく。
Resources
This folder contains all the resources (graphics, music and sound effects)
needed to create the games in the book plus a few bonus ones as well. There
is a subfolder for each chapter containing the corresponding resources.

In purchasing this book, the authors and publisher grant you permission to use
these electronic resources in your own Game Maker games, including for
commercial use. However, redistribution of these resources is prohibited, as
is their use for games not made with Game Maker.

Games
This folder contains editable versions of all the games created in the book.
There are generally several versions of each game showing them at different
stages of construction. There is a subfolder for each chapter containing the
corresponding game files. You are permitted to use these as the basis for
your own games. However, redistribution of the original games is prohibited
and the authors retain copyright of all the game concepts and names in this
book.
0547名前は開発中のものです。2011/08/28(日) 09:17:47.61ID:DOl7TkST
まあ、でも探してみたらこんなんあった。上の人の講座かな?
『GameMaker言語講座』
ttp://eidwinds.com/tooru/GM6HP/addSample/GML.pdf
0548名前は開発中のものです。2011/08/28(日) 09:40:25.13ID:zv9DvT+u
>>545
contentsを見る限りこれはゲームデザインの本じゃないよ
良くも悪くも"GameMaker"の入門書でしかない
0549名前は開発中のものです。2011/08/28(日) 10:13:50.19ID:DOl7TkST
>>548
うん、勘違いしてたわ。ゲームデザインの事は学習曲線ぐらいしか載ってないね。
続きのCompanionはサンプルゲーム3つのうち2つ(ZOOLは素材利用不可)はApprenticeの規約と同様。
(後、いつだったかフォーラムで"RPGの製作本も出るといいなあ"とかいう、コメントがあったけどたぶんそれは無いだろうなあ...)
0550名前は開発中のものです。2011/08/28(日) 11:53:41.96ID:hhtKC3B9
●The Game Maker's Apprentice
なんでこれ突然>>1に入ったの?
0551名前は開発中のものです。2011/08/28(日) 13:42:07.08ID:DOl7TkST
>>550
作者本人も執筆してるから、入れといた方がいいかなと思って。
0552名前は開発中のものです。2011/09/01(木) 18:28:36.76ID:VTzX0wGr
最近頻繁にあったアップデートが無くなったな
一段落ついたのかな
0553名前は開発中のものです。2011/09/07(水) 00:42:30.37ID:DmIN3cjo
今ブロック崩しを作ってて、ボールの反射で詰まってるんですけど、
参考になりそうなソース付きのブロック崩しはないでしょうか?
できれば反射の部分をBounceアクション使わずに処理してるやつがいいのですが……
0554名前は開発中のものです。2011/09/07(水) 01:23:52.41ID:+XQowWwA
なんでBounceだとダメなの?
0555名前は開発中のものです。2011/09/07(水) 06:34:59.16ID:YRnKa2iR
横からぶつかった場合はhspeedを逆に、縦からの場合はvspeedを逆に、で良いんじゃない
他に方法があるのかもしれんけどhspeed=hspeed-2hspeedとか
0556名前は開発中のものです。2011/09/07(水) 08:23:36.17ID:qtjhrAGd
>552
かもしれんね
スクリプトエディタの表示は改善される見込みがなさそうだが
それ以外は安定してきてるんだろうか
0557名前は開発中のものです。2011/09/07(水) 08:56:26.19ID:DmIN3cjo
>>554
Bounceアクションだとごくたまにですが、L字型に並んだ壊れないブロックの内側とかに当たったときなどにスタックするんです
それでも今自力で作った反射よりはバグは少ないんですが……

あとボールが当たった面によって反応が違うブロックとかも作ってみたいので(PC98のぶろっくでポンみたいなの)、どうせ当たった面を判別させるなら
反射もそこでやらせたほうが都合がいいだろうと思いまして

GMじゃなくても、衝突した面を判定する方法(特にカドに当たった時の処理)が説明されているサイトなり本があればいいのですが……
0558名前は開発中のものです。2011/09/07(水) 20:09:55.61ID:YRnKa2iR
俺の方法はダメなの?
0559名前は開発中のものです。2011/09/07(水) 20:51:18.92ID:DmIN3cjo
>>558
単体のブロックの4面の真ん中の方に当たったときはそれで問題なく動くんですけど、カドにあたったり、並んでるブロックの境界に当たったときは
意図した通りの動作をしてくれないんです。スタックしたり一瞬止まったりとか

どっちかというと反射の方法よりその前の衝突面を判定する処理がうまくいってないんじゃないかと思います
0560名前は開発中のものです。2011/09/07(水) 20:58:35.93ID:No/jMI5Y
ブロック崩しは正確さうpオプション入れた反射アクションで問題なかったけどな
0561名前は開発中のものです。2011/09/07(水) 21:35:51.26ID:yBuuheHH
ゲームの中の物体というのは連続的じゃなくて、数ピクセルずつとびとびに動く
衝突した時、ボールはすでにブロックの中にめりこんでいるわけだから
それが縦の辺に当たったのか、横の辺なのかという判断は実はけっこう難しい

ブロックを対角線で4つに区切って、上下左右どの領域にボールがあるか見るとか
より厳密に、移動前後の位置を線でつないでどの辺と交わるか計算する方法とかあるけど
必ずしもゲーム的に自然になるとは限らないしね。

不具合出ないようにするなら、まず縦横どちらかに反射させるか決めて
その方向にブロックがあったら、別の方に反射させるようにすればいいんじゃないかな。
縦横両方ともふさがっていたら、もと来た方向にはね返させるとか
0562名前は開発中のものです。2011/09/07(水) 23:07:09.66ID:3sgJEou8
GML に慣れていれば簡単だけど、そうでなかったらかなり面倒かも
動かないブロックで上下左右判別有だと下のようになる
(ボールからBlock(Solid属性)に対してコリジョンイベント)
x = xprevious;
y = yprevious;
move_contact_solid(direction, 32);
if(place_meeting(x+sign(hspeed), y, Block)){
hspeed *= -1; //左右
}
else if(place_meeting(x, y+sign(vspeed), Block)){
vspeed *= -1; //上下
}
else{
vspeed *= -1; //例外として角
hspeed *= -1;
}
0563名前は開発中のものです。2011/09/09(金) 08:12:25.77ID:spl7XhZ7
GMのコードエディタって検索履歴消せるのかな。見当違いなワードが候補に出てきて鬱陶しいのだがw
ヘルプとかに書いてあったらスマソ
0564名前は開発中のものです。2011/09/09(金) 08:29:50.36ID:SeyQ3xvv
たぶんレジストリのFindStr0~16消せば消える
置換の方もReplStr0~16で
0565名前は開発中のものです。2011/09/09(金) 18:50:24.06ID:spl7XhZ7
ありがとう。でもめんどくさいからいいわw
0566名前は開発中のものです。2011/09/09(金) 22:21:30.09ID:vQHkG/8r
ブロック崩しのことで以前質問したものですが、
ボールの判定を矩形にして、四隅で判定を取ることで問題が解決しました
色々とアドバイスを頂きありがとうございました
■ このスレッドは過去ログ倉庫に格納されています