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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/04/23(木) 08:11:08ID: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/
0784名前は開発中のものです。2010/05/16(日) 15:35:38ID:s7h1BRs+
>>782
string_formatが誰得な使えない機能になっているので、一番上のスコア部分をグラフィックで隠すか
str_number = string(number | 100000000) //8桁表示
draw_text(x, y, string_copy(str_number, 2, 8))
大きい桁の数で読み込んで上の桁を削るとかかな

>>783
日本語のやつは使ったこと無いから知らないけど
GM8の透過はアルファつきのpng読めば勝手に透明化してくれる
自分で画像を作るときはopacity設定して書くだけ
0785名前は開発中のものです。2010/05/16(日) 20:03:43ID:4L+tUZJD
>782
> 1250ではなく0001250のように表示する

四桁までなら以下のスクリプトで出来る。
http://www.mediafire.com/file/y1yzjo2vczz/chgdeg 3and4.gml

>784 のような方法が一番無難だけどね。
07867852010/05/17(月) 18:31:49ID:a6R0p8Vc
ファイル名間違えたorz
http://www.mediafire.com/file/znzhwrdwnjw/chgdeg_3and4.gml
正しくはこっちね。
0787名前は開発中のものです。2010/05/17(月) 19:19:16ID:qsApoeyK
すいません GameMakerで商業レベルの戦略 戦術シミュレーションゲームを作る事は可能でしょうか?
0788名前は開発中のものです。2010/05/17(月) 22:44:35ID:iruzC88G
無理
0789名前は開発中のものです。2010/05/18(火) 10:30:04ID:UBDSEPmt
GMをレジストする時のfirstname/lastnameってやっぱり本名だよね
PRO版になった後に「ライセンス保持者は○○」みたいにどこかに表示されたりする?
それともライセンス名は自由に決められる?

なんとなく気になったもので
0790名前は開発中のものです。2010/05/18(火) 20:08:56ID:SNyXku20
無理か無理じゃないかと言われたら無理じゃない
死ぬほど頑張れば出来るとおもうよ
0791名前は開発中のものです。2010/05/18(火) 20:10:43ID:C9Z95m5J
i wanna be the engine でゲームを作っているんですけど
オブジェクトと時計回りに飛ばすにはどうすればよいのでしょうか?
i wanna be the guy で言うとグラディウスの面の最後のサクランボです
0792名前は開発中のものです。2010/05/18(火) 21:24:11ID:SNyXku20
またアイワナか
0793名前は開発中のものです。2010/05/19(水) 00:25:50ID:CbssJVe7
しかもマルチかw別にいいけど
0794名前は開発中のものです。2010/05/20(木) 13:03:53ID:XqlYIriT
Game MakerとMMF2ってどっちの方がとっつきやすいの?
人によるのかな?
0795名前は開発中のものです。2010/05/20(木) 23:25:21ID:WBZEEzhD
使用者が少なくともプログラマじゃないとして

ツクールを裏技駆使したりするレベルでコアに使い込むタイプの人
→MMF2

デザイナーだけどFlashでActionScript使うのが好き(勉強が苦にならない)人
→Game Maker

どんなに苦労してもいいからゲーム作りを飯の種にしたいという決意の人
→Java
0796名前は開発中のものです。2010/05/21(金) 00:55:49ID:8RMu8YrK
>>795
なるほど、把握
0797名前は開発中のものです。2010/05/22(土) 23:51:45ID:kzKFYK2b
gamemakerの3D機能が本当に微弱という話は良く聞きますが
実際どれくらいの事まで出来るのでしょう?
良ければサンプル、あるいは3Dを使用した作品の動画などを教えていただけませんでしょうか
0798名前は開発中のものです。2010/05/26(水) 10:00:33ID:zLNiQ8yo
アクティベーションできない・・・
このレジスト方法嫌いだ。
0799名前は開発中のものです。2010/05/29(土) 00:36:22ID:tQ6NeHot
アクティできあ。
〜nameとか書いてあるから名前書いてたけど
メールアドレスだったのね・・・・サポートに2度もメール出しちゃった。
ハスカスィ
0800名前は開発中のものです。2010/05/29(土) 13:47:15ID:ri3eQDYH
〜nameってどこの事?
0801名前は開発中のものです。2010/05/29(土) 14:32:12ID:+iWaOSdT
licence holder のことでしょ
分かりにくいのは全部softwrapのせい
0802名前は開発中のものです。2010/05/30(日) 02:22:15ID:yzHAUCrX
マウスをゲームのウインドウからはみ出さないようにする事は可能でしょうか
マウスがウインドウから出た時ステップイベント中にwindow_mouse_setでウインドウ内に戻す方法では
一応ウインドウ内に戻る事は戻るのですが一時的にはみ出してしまいます
0803名前は開発中のものです。2010/05/30(日) 10:35:25ID:K80hcH1v
常にフルスクリーンならともかく
強制的にマウスをウインドウに閉じ込めるのは非常によろしくない
何がしたいのかわからないけれど、きちんとウインドウ外に出たときの処理を作ったほうがいい
0804名前は開発中のものです。2010/05/30(日) 13:45:16ID:yzHAUCrX
マウスを使うアクションゲームを考えているのですが
マウスがウインドウからはみ出してクリックする度にフォーカスが外れるのはストレスになるだろうと思いまして

ワイド画面の場合の余白の事もあるのでフル/ウインドウ問わずゲーム画面内にマウスをキープできればと
0805名前は開発中のものです。2010/05/30(日) 20:36:11ID:K80hcH1v
個人的なあれやこれやを押し付けてもしょうがないので先に解決策を書くと
>>802の状態で、おそらくウインドウいっぱいにゲーム領域があるんだろうけど
もう少しウインドウサイズを大きくして、ゲームに淵の部分をつけてマウスをその中に収めるようにすれば
フォーカスを失うことは無いかと

でもやっぱりウインドウモードでマウスが占有されるっていうのは、う〜む・・・
0806名前は開発中のものです。2010/05/30(日) 20:47:11ID:6CMxHS1M
FPSとかはゲーム中占有してるもんだけどね。
ただ、メニューモードになるとマウスカーソルが表示されて
ウィンドウフォーカスをマウスで選択できるようになるけど。
0807名前は開発中のものです。2010/05/30(日) 20:54:01ID:yzHAUCrX
たしかにこの方法だとフォーカスが移ってもマウスの移動が制限されてしまうんですよね
理想はFPSのウインドウモードのような感じなのですが

色々調べてみたところ望んだ動作をさせるにはDLLを使うしかないようです
そのDLLがどんな物なのかは全くの謎ですが
0808名前は開発中のものです。2010/05/30(日) 21:01:23ID:yzHAUCrX
>>806
更新したら同じようなレスが

メニューモードでもウインドウ内に閉じ込めるタイプがありますが、それが理想の動作かもしれません
ALT+TABでフォーカスを移してもマウスの動きも制限されないですし
0809名前は開発中のものです。2010/05/30(日) 22:56:03ID:jFXrZH5T
普通にフルスクリーン限定のゲームじゃダメなのかな
ウィンドウのFPSを遊んだ事が無いので何とも不愉快なイメージしか無い
人によってはフルスクリーンになる事の方が嫌なのかもしれないけど

それにそんな画面いっぱい使ってるゲームなら尚更フルスクリーンの方が楽しめるんじゃないかな
0810名前は開発中のものです。2010/05/31(月) 20:14:52ID:uB+Rcg9m
ゲーム画面が4:3だとモニターがワイドの場合フルスクリーンにすると余白ができてしまって不都合が出るかと思ったのですが
特に問題は無さそうなのでフルスクリーンで作ることにします
ありがとうございます
0811名前は開発中のものです。2010/06/01(火) 13:33:24ID:mLQywIcm
http://www.youtube.com/watch?v=K895MJuf10Y
この動画みたいに同じタイプのパーティクルを個別の位置(ザコ1匹毎)に作るにはどうしたら良いでしょうか?
0812名前は開発中のものです。2010/06/02(水) 21:15:39ID:pzl3yDfb
Proエディションにアップさせたいんだけど金はどうやって払えば良いのかな
銀行振り込みなんかが出来ると助かるんだけど

それと送られてきたキーはどのバージョンでも使えるのかな?
今GM6で何か別物になってそうな気がしてGM7に進めないんだけど
将来的にやっぱりバージョンは上げてくだろうし
0813名前は開発中のものです。2010/06/02(水) 23:38:52ID:MxWIiucV
GMってズーム機能とかはないのかな?
image_xscaleとimage_yscaleをいじるしかない?
0814名前は開発中のものです。2010/06/03(木) 02:49:00ID:dVlhQ8ao
>>811
敵の位置を指定して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
>>814
おお、ありがとうございます
おかげでズームアップできました
0816名前は開発中のものです。2010/06/03(木) 22:05:01ID:aReQvSl6
GM9はC#製になるらしいね
http://gamemakerblog.com/2010/05/26/game-maker-9-to-be-written-in-c/
0817名前は開発中のものです。2010/06/03(木) 22:13:37ID:ZiWZ04IR
新verか 線形補間解除できるようになったらいいな
0818名前は開発中のものです。2010/06/03(木) 23:37:06ID:AF5Clpsp
それって公式発表じゃない気が。
>>816のページもGameMakerユーザーがやってるっぽいし。
本当にC#だったら、Macは切捨てか・・・?
08198122010/06/04(金) 17:36:04ID:ds85S00c
>>814
ありがとう
互換性無いのか・・・
なんか知らぬ間にどんどんバージョン上がってきてるしどうすりゃ良いんだ
0820名前は開発中のものです。2010/06/07(月) 15:39:30ID:A0pl8E9h
線形補間って解除できなかったっけ
GM6だけ?
0821名前は開発中のものです。2010/06/09(水) 15:59:46ID:ebHnfTX2
スプライトの回転はProだけでしょうか。
0822名前は開発中のものです。2010/06/09(水) 17:02:25ID:3eDecubD
いえす
0823名前は開発中のものです。2010/06/09(水) 20:48:06ID:iBEd3wdQ
あるオブジェクトにある変数が定義されているかどうかを確認する方法ってありますか?
定義されていないならその処理は行わないみたいなことをやりたいのですが…
0824名前は開発中のものです。2010/06/09(水) 21:05:50ID:sZ3LRrvf
つ variable_local_exists(変数名)
0825名前は開発中のものです。2010/06/09(水) 21:19:21ID:iBEd3wdQ
う、ヘルプのその他の変数のところにしっかりとあったのですね。すごい恥ずかしい…
素早いレスありがとうございました。これで先に進めそうです
0826名前は開発中のものです。2010/06/09(水) 21:19:27ID:dOFxgLqw
>>820
まじか
8だと出来ないわ
0827名前は開発中のものです。2010/06/09(水) 23:03:40ID:3eDecubD
7はどうだったか忘れたけど、
8だと解除っていうかデフォルトで設定されてない
もちろんチェックをいれれば有効になる
0828名前は開発中のものです。2010/06/09(水) 23:05:13ID:dOFxgLqw
>>827
まじか
色々チェックを弄って試してるんだけど分からぬ
どのチェックかな
0829名前は開発中のものです。2010/06/09(水) 23:24:26ID:3eDecubD
Global Game Settings の interpolate
この辺は6から変わらないと思う
0830名前は開発中のものです。2010/06/09(水) 23:31:12ID:dOFxgLqw
すまない 画面を拡大した時に輪郭がボケるのを無くしたかったんだ
0831名前は開発中のものです。2010/06/11(金) 21:51:55ID:t2BjBbMT
いまTDS(TopDownShooter)で軽くゲームを作っているのだが、
どうもキーボード使って斜め移動をしているときに、銃を撃とうとすると斜め移動できなくなるな

なんでだろ
0832名前は開発中のものです。2010/06/12(土) 01:22:20ID:PYXKd/uJ
普通のキーボードはいくつものキーを同時押しできる作りにはなってない
組み合わせによっては三つ以上認識できないことがある
ShiftとかCtrlにすると改善されるかも
0833名前は開発中のものです。2010/06/12(土) 13:54:56ID:oloLVXQg
image_angleくらいliteでも使わせてくれ…うぅ
08348312010/06/13(日) 11:29:24ID:XK4fWSQG
>>832
やっぱりそうでしたか・・・
キーの組み合わせを調整してみます。

それでもうまくいかないようだったら四方向固定にしようかと。

>>833
激しく同意。 image_angleなしでTDS系のゲームとか作ろうとすると結構つらいorz
0835名前は開発中のものです。2010/06/13(日) 15:12:21ID:S6dSSaR1
2000円くらい払えよ
ゲーム製作なんて何ヶ月もかかるんだから、2000円ケチる方がはるかに損だと思うんだがな
0836名前は開発中のものです。2010/06/13(日) 19:10:48ID:ov7pH7B7
ところで格ゲーとかのコマンド入力ってどうやってる?
ボタン押したら変数onにしてタイムラインで一定時間内に次キーが押されなかったら変数offなんて面倒な仕様にしてるんだけど
もっと単純な方法は無いかな
0837名前は開発中のものです。2010/06/13(日) 21:29:16ID:taDSM2ud
技ひとつをオブジェクト扱いにして
処理コマンド(キーを入力する順番)を配列として持ったものと
技の入力状況を示すイテレータを持たせる

一定時間ごとにキー判定を取って、キーが一致すればイテレータを進め
一致しなければ先頭に戻す。最後まで到達すれば技発動・・・みたいなことを考えた
08388362010/06/16(水) 07:51:51ID:iSVFrURJ
なるほど、技ひとつひとつがオブジェクトですか
参考にしてみるよ。ありがとうございました
0839名前は開発中のものです。2010/06/16(水) 07:56:57ID:Jeqzgo2J
アクションゲーム作っていて、剣を振るとか殴るとかで
アニメが終わる間動きを止めたいんですけどどうすればいいのか
教えてもらえませんか?
よくアラームを使うって見かけるけどいまいちわからなくて…
AnimationEndを使うとオブジェクトをいくつも分けないとだし
変数もややこしくなるしで一つのオブジェクトで済ませたいんです
0840名前は開発中のものです。2010/06/16(水) 17:24:01ID:jPwPQDvq
動きに応じてsprite_indexを変更するようにしとけば、AnimationEndイベント使ってもひとつのオブジェクトでできるよ。
ただ、AnimationEndイベント内部はswitch-caseとかの場合わけが必要になるかもしれないけど。
08418392010/06/17(木) 00:24:48ID:mBfyuQLT
>>840
ありがとう。分けなくてもAnimationEnd使えるんですか
ただ動きに応じて、という処理の書き方・GMLは使ってないのでこれまた
書き方がヘルプ等見ても見当がつかないんですがGML使わなくても出来ますか?

というか皆さんこういう場合具体的にどうやっているんでしょうか?
散々調べたけどその辺詳しく解説されているところが見つからなくて…
ニュートラル>攻撃モーション完了(完了まで攻撃ボタン無効)>ニュートラル 
というのがどうやっても出来なくて数ヶ月詰まってます。
もっと簡単な方法とか他にあればどなたか教えて下さい
お願いします。
0842名前は開発中のものです。2010/06/17(木) 07:20:40ID:nIJZSKy9
全ての操作の条件に変数がonになってる事を追加して
攻撃モーションへ移る際にその変数をoff、モーション完了後に変数をonに直せば良いだけの話じゃないの?
08438392010/06/18(金) 21:45:25ID:zwccdsE4
>>842
ありがとう
なんかそう言われるとやけに簡単な気がして
ゼロから組み直したらある程度形になりました。
まだ思い通りにはいきませんが…
0844名前は開発中のものです。2010/06/22(火) 11:01:41ID:Ci7o/Mjt
進行方向と速度を指定してオブジェクト生成(電球に矢印のマーク)のアクションをGMLで表すにはどのようにするのでしょうか。
0845名前は開発中のものです。2010/06/23(水) 01:35:42ID:qd+uDdYg
>>844
まず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:RG53nBFr
すいません 
Step towards a point avoiding objects はGMLでどう表せばよいのでしょうか
http://www1.axfc.net/uploader/Img/so/87434.bmp
0849名前は開発中のものです。2010/07/01(木) 19:26:31ID: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使われると手間がかかるんだよなあ
0850名前は開発中のものです。2010/07/01(木) 19:50:38ID:RG53nBFr
>>849
ありがとうございます。

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

A*そのものについてはググッた方が早いかも
今なら結構解説サイトがあると思う
0852名前は開発中のものです。2010/07/01(木) 21:52:39ID:RG53nBFr
>>851
ありがとうございます
0853名前は開発中のものです。2010/07/03(土) 12:24:32ID:xej2WSqR
未レジストのGM5で迷路みたいな複雑な道をAIに通らせる
このようなアプローチは可能でしょうか
0854名前は開発中のものです。2010/07/03(土) 17:57:32ID:LChSDnyO
広さにもよるけど可能
08558532010/07/03(土) 18:31:38ID:xej2WSqR
>>854

mp_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:9sSVyJeo
英語でぐぐれ
0858名前は開発中のものです。2010/07/03(土) 21:35:54ID:9sSVyJeo
誤爆
08598532010/07/04(日) 09:41:34ID:R47f51en
>>856
そうですね・・・
Tower Defenceみたいに最短経路を辿らせてみたいのですが

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

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

かなりいい加減によけていくのでおそらく狭い通路みたいなところだとうまくないと思う
2Dの見下ろし型のゲームで単純な障害物をよけるような場面が適しているんじゃないかと
08618532010/07/04(日) 13:05:11ID:R47f51en
>>860
塗りつぶし法ですか

ちょっと調べてきます
有難うございました
08628532010/07/04(日) 14:11:38ID:R47f51en
>>860
>迷路の形状が決まった時点で、出口から通路をスコアつきで塗りつぶしていけば
調べてもなかなかよくわかりませんでした

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

GM5は古いしサンプル期待するのは難しいかもしれない
経路探索の名前はともかくアルゴリズムの本を見れば大抵のものには
これ系のものは載っていると思う
0864名前は開発中のものです。2010/07/04(日) 21:49:22ID:R47f51en
>>863
ヒントを有難う
これを参考に頑張ってみます
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
>>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)));
0867名前は開発中のものです。2010/07/13(火) 19:22:14ID:/NxeAPUS
補足すると sqrt(sqr(w) + sqr(h)) が対角線の長さなので
固定で距離をとる場合はこの値にすればいい。
もし角度によって距離を変える場合、縦の距離は上の式のcosをsinに変えれば出る。
0868名前は開発中のものです。2010/07/13(火) 21:37:38ID:K3o0YDHH
出来ました!
ありがとうございました
0869名前は開発中のものです。2010/07/17(土) 12:18:00ID:gER7nrJ5
TDS系のゲームで高速移動する銃弾を作りたいのですが

collision_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をどう使ってて、何がうまくいかないのかわからないと何とも
よくある間違いはcollision_lineの結果をtrueやfalseと比較することだけど
そこは大丈夫か?
0871名前は開発中のものです。2010/07/18(日) 14:00:31ID:4F6YppA5
>>870
大丈夫 だと思います

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

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

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

弾速が速い場合、今度は弾が壁の手前で消えるように見えるという問題が出るはず。
それが気になるようだったら、move_contact_solidを使って着弾点まで移動させればいい。
0875名前は開発中のものです。2010/07/19(月) 13:12:37ID:bqKfWWqP
GM7未レジスト版だけどこれも参考になるかも?
ttp://gmc.yoyogames.com/index.php?showtopic=320670
0876名前は開発中のものです。2010/07/19(月) 17:01:55ID:PLPwIk6X
collision_line の返り値みてあれって思ったけど
6だとtrue/falseが返ってくるのか。wikiにもそんなことが書いてあったし
7以降だとちゃんとidが返ってくるのにね
true/falseの返り値だとかなり使いにくいと思う
0877名前は開発中のものです。2010/07/19(月) 17:23:01ID: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だと早とちりする人は多い。
0878名前は開発中のものです。2010/07/19(月) 17:35:40ID:WcNhtTfY
ちなみにGMでは、0より大きい値は真、0かそれ以下の値は偽と解釈される。
if (A) は if (A > 0)、 if (!A) は if (A <= 0) と同じ意味。
>871のif文が期待どおり動くのはそういう理由。
これを if (collision_line(...) == true) と直接true/falseと比較してしまうと動かなくなる。
0879名前は開発中のものです。2010/07/19(月) 17:35:54ID:PLPwIk6X
なら単純に
ttp://gamemaker.wikicomplete.info/gml:collision-line
ここの説明が間違ってるのか
0880名前は開発中のものです。2010/07/19(月) 19:06:25ID:WcNhtTfY
うn
collision_pointの方の説明は合ってるのにね
他にも「bbox_*はProでしか使えない」とかところどころ間違ってる
08818732010/07/25(日) 20:00:59ID:1/i3AWzX
>>874-878
おおお!
俺がPC使っていない間に… みんなありがとう!

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

>875
サンプル有難うございます!
これを参考に頑張ります。
>878
そんな仕様があったなんて知らなかった・・・
0882名前は開発中のものです。2010/08/03(火) 20:30:08ID:cKSw/IY1
GM5.3Aで半加算処理って出来ないものなんでしょうか・・・
0883名前は開発中のものです。2010/08/17(火) 09:24:30ID:OKMjBkLc
早く多言語対応してくれー
■ このスレッドは過去ログ倉庫に格納されています