1 名前:名前は開発中のものです。 mailto:sage [2008/05/11(日) 01:41:47 ID:PRhlwPyW] 無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。 ●本家(英語) ttp://www.gamemaker.nl/ ●GameMaker Japan - 非公式情報サイト(日本語) ttp://gamemaker.main.jp/ ●初心者向けチュートリアル ttp://gamemaker.main.jp/modules/articles/index.php?cat_id=1 前スレ: 【2D】ゲーム作成ツールGameMaker【マンセー】 pc8.2ch.net/test/read.cgi/gamedev/1087068523/
293 名前:267 mailto:sage [2008/09/17(水) 18:36:14 ID:fciLO00k] やってみたところ(Unknown variable option)とゆうエラーが出てしまい 色々と設定を変えながらやってみたのですが 自分ではどうしてもエラーを無くす方法がわかりませんでした www1.axfc.net/uploader/File/so/11187.ttf 現物をupしました。どなたか教えていただけませんか?
294 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 18:47:37 ID:+iHp1HAA] >>292 それは != と同じで「等しくない」という演算子。 ちなみにGMのマニュアルに載っているのはC風の文法ですが、 歴史的な経緯からPascalライクの文法も一部受け付けるようになっています。 <> は != のPascal版。似たようなマニュアルに載っていないお仲間には and(&&), or(||), not(!), then なんてのがあります。 >>293 できればエラーメッセージは正確に書いてほしいな。 「array index out of bounds」(配列のインデックスが範囲外) ってのがこの場合の問題。 たとえばオプションの数が3つ(count=3)の時、配列の要素は option[0], option[1], option[2] の3つ。したがって最後のオプションは option[count] ではなくて option[count - 1] です。
295 名前:267 mailto:sage [2008/09/17(水) 20:35:59 ID:fciLO00k] 有難うございます。 そしてすいませんorのあとを書き忘れてました。
296 名前:292 [2008/09/17(水) 21:25:35 ID:3ZsvlK2w] >>294 ありがとうございます そんな演算子があったなんて驚きです
297 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 18:58:23 ID:ePV3MaT7] みんなどんなジャンルのゲーム作ってるんだろう……
298 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 19:20:38 ID:g090BAj9] 試しにマリオ風アクションを作ってて色々壁にあたり、 もっとシンプルなものから……と思ってゼルダ風に挑戦中 何か1つ完成させたいな〜…
299 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 20:51:49 ID:dGYbhKuz] GMの魅力は日本的ジャンル区分とは少しズレたものが作りやすいことじゃないかな 下らないアイデアでも作ってみようかって気になれる FLASHゲーのようなシンプルで即効性があって馬鹿っぽいものが作りやすい(モチベ的な意味で) 今作ってるのはダウンタウン熱血行進曲のパクリ 全24人(CPU操作)を同時に出して殴り合いのカオスを眺めてるだけのゲーム?らしきもの 某FPSのBOT戦を眺めてるときに思いついた 無理矢理どこかのジャンルに分類すればライフゲームの一種になるんだろうか ゲームの目的と遺伝的アルゴリズム的な何かを加えたら少しはゲームになるかもしれない しかしゲームにしようと思うと自ずと既存の何かに似てくるから困る
300 名前:名前は開発中のものです。 mailto:sage [2008/09/25(木) 23:26:48 ID:q3MsUpLj] やっぱ配布する時とかにGameMakerの表示出ると格好悪いよな 課金版欲しいなぁ
301 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 03:12:23 ID:sE3W1GIE] とりあえず、Cふう演算子以外は やらなくていいと思うよ いずれGameMakerを離れて自作するときに面倒になる
302 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 18:10:00 ID:LS/ACw4R] 昔このスレだったかで見たんだけど view機能によって表示されている画面の左上の座標を返す関数があったとおもうんだけど 誰か覚えてない? HPゲージの表示場所に使うんだ
303 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 20:13:19 ID:uhIOXa5a] ヘルプでviewひけばすぐ出てくる 5と6以降で名前が違うから気をつけるんだ
304 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 21:17:06 ID:LS/ACw4R] >>303 ありがとう。すごく助かった
305 名前:名前は開発中のものです。 mailto:sage [2008/09/29(月) 18:56:28 ID:UJys+BvP] GM6で梯子を作りたいのですが良い案はありませんでしょうか? 接触中は↑キーでy方向に-32移動出来る様にして、接触中のジャンプも可能にしたいです。 操作キャラのジャンプ条件はy方向1にソリッドオブジェクトがある時ですが、 この条件に当てはめなくてもソリッドオブジェクト上にいる時と同じ様にジャンプ出来れば良いです。 よろしくお願いします。
306 名前:名前は開発中のものです。 mailto:sage [2008/09/29(月) 21:40:35 ID:TA0YzXK0] ジャンプ時の条件に「梯子と接触している」を付け加えればいいのでは? D&D使ってるなら「If thre is an object」アクション、GMLならplace_meetingでチェックできる。
307 名前:名前は開発中のものです。 mailto:sage [2008/09/29(月) 23:26:55 ID:UJys+BvP] >>306 ありがとうございます。 こんな便利なアクションがあったのですね。 お陰で触れてる間に↑キーで梯子を上る事も出来ました。 ですが上った後に静止する方法が分かりません。キャラに重力を設定してあるので落ちていってしまいます。 重力を設定したキャラを空中で静止させるにはどうすれば良いのでしょうか? 何度も質問すみません。よろしくお願いします。
308 名前:名前は開発中のものです。 mailto:sage [2008/09/30(火) 00:47:31 ID:YIigZYPb] >>307 チュートリアルを参考にして作ってるならおそらく Stepイベントの中に「足下がfreeでなければ重力を0にする」 という処理があるはずなので、そこにも下に梯子があるという 条件を追加すればいいかな。
309 名前:名前は開発中のものです。 mailto:sage [2008/09/30(火) 10:28:05 ID:gaxEls3H] >>308 ありがとうございます。 その通りにやったのですが問題がありまして・・・。 歩いて接触し、↑キーで上れば空中で静止する事が可能になったのですが ジャンプしながら接触したり、落ちながら接触すると止まりません。 www1.axfc.net/uploader/He/so/143051.zip&key=gm6 こんな感じです。何処か間違ってましたでしょうか?
310 名前:名前は開発中のものです。 mailto:sage [2008/10/01(水) 21:47:12 ID:Fc7yZooq] 重力を0にしてもスピードはそのままなので、vspeedも0にする必要がある。 触れたら止まるって仕様だと、接触中でもジャンプできるって仕様と 食い合わせが悪い気がするけどな。
311 名前:名前は開発中のものです。 mailto:sage [2008/10/01(水) 23:12:59 ID:1MeHwIPf] >>310 ありがとうございます。 見事に梯子っぽくなりました。が、やはりジャンプは出来ないようです。
312 名前:名前は開発中のものです。 mailto:sage [2008/10/01(水) 23:35:57 ID:dOI1qd/B] >>311 梯子を昇っているかの処理を初めの方にやって、フラグで処理するようにやりなおしてみたら? 毎step時に梯子に接触してるか? 触れている 梯子フラグA = 1(ON) → 触れていない 梯子フラグA = 1(ON) 梯子の所で上キーを押した → 梯子フラグB=1(ON) 梯子フラグON時 → 重力・vspeed 0 にし、上下ボタンは上下移動(vspeed 10とか)に設定
313 名前:名前は開発中のものです。 mailto:sage [2008/10/01(水) 23:39:24 ID:dOI1qd/B] ぎゃー間違って送ったorz 毎step時に梯子に接触してるか? 触れている → 梯子フラグA = 1(ON) 触れていない → 梯子フラグA = 0(off)、重力(vspeed=元値)ON ・・・伝わったらいいなこの説明。
314 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 17:09:40 ID:JaYkkapt] >>312 ,313 ありがとうございます。 フラグを使って色々やってみたのですがジャンプは出来ても空中で静止出来なかったり 空中で静止出来てもジャンプは出来なかったりとどうも完璧にはなりませんでした。 まだ色々試してみますが、もしよろしければ>>309 のサンプルに付け加えて頂ければ幸いです。
315 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 14:39:18 ID:ZrsFoNA5] 皆さんBGMってどうしてます?
316 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 16:46:41 ID:uDeRDVYO] FamiTrackerっていうファミコン音源ツールで適当に
317 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 04:52:05 ID:H1cq3pc2] ごめんなさい。質問の言葉が足りなさ過ぎました。 BGMをつけるとき、楽曲を自分で用意するとしても、何処からか借りてくるとしても、 そのファイル形式について知りたいのです。midiとかmp3とか。 できれば、そのBGMをどう再生しているのかも知りたいです。 midiなら最初から入ってるsound_playで再生できるけど、oggならbGMスクリプトとか使ったり。
318 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 13:06:42 ID:Fn418VgV] midiはGSしか搭載されてない事多いから自分はもっぱらbGMスクリプトでoggだね。
319 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 20:02:29 ID:4niTijZC] 私はMP3ファイルを、再生する前にリソース置換してるな……
320 名前:名前は開発中のものです。 mailto:sage [2008/10/08(水) 15:16:57 ID:RDU/YXQB] >>318-319 ありがとうございました。 参考にさせていただきます。
321 名前:名前は開発中のものです。 mailto:sage [2008/10/11(土) 18:30:28 ID:J25bobba] 画面全体を真っ暗にするにはどうすれば良いでしょうか?
322 名前:名前は開発中のものです。 mailto:sage [2008/10/11(土) 22:42:26 ID:VYtC5Q29] >>321 それは画面を完全黒で塗りつぶすということ? それとも、半透明の黒(変な表現だな)で暗闇を作りたいってこと? どっちにしろ、レイヤーを変更して一番前に表示するようにしてみたら?
323 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 19:20:19 ID:0LPSWnKh] >>322 画面を完全に黒で塗りつぶしたいのです
324 名前:名前は開発中のものです。 [2008/10/12(日) 20:59:20 ID:WCmVlsh4] draw_rectangleアクションで高さと幅をroomと同じにして色を黒にするといいんじゃない?
325 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 23:04:23 ID:0LPSWnKh] >>324 なるほど、ありがとうございます。盲点でした・・・。
326 名前:325 mailto:sage [2008/10/12(日) 23:27:26 ID:0LPSWnKh] 一応やり方は分かったのですがイマイチそれをどう実行すべきか分かりません。 draw_rectangle(x1,y1,x2,y2,false)の座標1(x1,y1)はルームの左上(0?)かと思いますが 座標2(x2,y2)はどう指定すれば良いのか悩んでおります。 (0,0,room_heigh,room_width,false)ではどうも違うようなのです。何が間違っているのでしょうか?
327 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 01:58:15 ID:AHWrAmb7] >>326 本体のバージョンは?
328 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 01:59:44 ID:KOVLXVwd] というかwidthとheightが逆なのでは
329 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 03:38:00 ID:RgqatT8r] >>326 >>328 の言うとおり、widthは横、heightは縦。 (ついでにいうとheightのtも抜けてるが) 黒い長方形が一切見られないのなら: 1) drawイベントで実行している? 2) depthを一番小さくしてる?
330 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 10:30:18 ID:v588R7se] >>328 >>329 ありがとうございます。色々とスペルやら間違っていたようですね。 コリジョンイベントで実行していました。 本当にありがとうございます。
331 名前:名前は開発中のものです。 [2008/10/17(金) 21:27:46 ID:dQ5aX5kq] GM6でグラディウス式の横シューティングゲームを作っているのですが、 弾オブジェクトの数の上限を自機と各オプションそれぞれに設けたいと 思っているのですが、どうすればいいのかさっぱり見当がつきません。 どうすれば良いのでしょうか?
332 名前:名前は開発中のものです。 mailto:sage [2008/10/17(金) 22:05:41 ID:0ROIYotH] 弾オブジェクトが出来た時にAに+1して消えた時にAから-1するってのはどうかな? 3発上限ならAが3以下の時だけ発射出来るようにするとか。
333 名前:331 [2008/10/18(土) 17:21:01 ID:QonRt8Q9] なるほど、変数を使えばよかったんですね。 instance_number()を使うことしか頭に無かったので助かりました。 ありがとうございます。
334 名前:名前は開発中のものです。 mailto:sage [2008/10/23(木) 23:03:49 ID:URptRMn4] 公式・・・もう動かなくなってどのくらい起つのだろう。 早くバージョンアップしてほしい。
335 名前:名前は開発中のものです。 mailto:sage [2008/10/25(土) 07:24:32 ID:YPdYk3/P] シンボルエンカウントのRPG的な物を作りたいのですが 以前に誰かが作ったサンプルなどありませんでしょうか?
336 名前:名前は開発中のものです。 mailto:sage [2008/10/29(水) 07:41:16 ID:B8z2rdZk] GM6ですがroom1からroom2に移動した後、room2に移動する直前の状態のroom1に戻りたいのですが どうすれば良いのでしょう? 普通に戻ってしまうとroom1の最初の状態に戻ってしまいます。 よろしくお願いします。
337 名前:名前は開発中のものです。 mailto:sage [2008/10/29(水) 08:29:55 ID:vZOkTfmY] roomのsettingsタブにある、Persistentのチェックを入れるとできるはず。
338 名前:名前は開発中のものです。 mailto:sage [2008/10/29(水) 12:12:52 ID:SJ76vo7y] なんか、変な事が起こったので報告。 原因は不明だけど突然GameMaker製のゲームだけ、やたら重くなるという現象が起きました(バージョンは5.3、6で確認) 他のゲームやアプリケーションは何も問題なかったのですが、GameMaker製のゲームにだけ異常が起こります。 60fpsのゲームが常に40fps以下になったり。 再起動で治りました。
339 名前:名前は開発中のものです。 mailto:sage [2008/10/29(水) 21:20:06 ID:Jov+JTxt] Show &help on function and variable names Show the origin and &bounding box in the sprite image &Run games in secure mode, not executing programs セキュアモードで実行する, プログラムを実行しない これらの訳を手伝ってほしい
340 名前:名前は開発中のものです。 mailto:sage [2008/10/29(水) 23:19:05 ID:CygkE/Te] >>339 翻訳作業されてる方かな 英語を訳すというより実際にどうなるのかを日本語で説明した方が初心者には有り難いかも もちろん訳し方の好みがあると思うのであくまで私の意見ということで スクリプト編集の際、エディタ下部に関数/変数の候補を表示する スプライト編集の際、スプライトの原点と当たり判定を示す矩形を表示する
341 名前:名前は開発中のものです。 mailto:sage [2008/10/29(水) 23:23:51 ID:CygkE/Te] 解説サイトやwiki編集かと思って書いたけど もしかしたらGMそのものを日本語化するのが目的なのかな そうだったらこんな冗長な文面は適さないですよね ということで私のレスは忘れて下さい
342 名前:名前は開発中のものです。 mailto:sage [2008/10/29(水) 23:29:37 ID:/+O62xmv] 訳してたら先に答えてくれてた人がいた・・・。 ということで、GMそのものを日本語化しているという前提でやってみましたしだいです。 >>339 Show &help on function and variable names 関数と変数名の候補を表示する Show the origin and &bounding box in the sprite image スプライトのプレビューに基点(origin)と境界枠(bounding box)を表示する &Run games in secure mode, not executing programs セキュアモードでゲームを実行し、外部プログラムを実行させない こんな感じだろうか。 origin (スプライトの原点)や bounding box(当たり判定が実行される領域) の訳は 全体的に統一した方がよいと思う。
343 名前:名前は開発中のものです。 mailto:sage [2008/10/30(木) 20:15:39 ID:I528xhb9] >>340 >>342 ありがとうございます。 言われている通りGMそのものを日本語化しております。 E-WordChanger を使っており、その辞書ファイルに記述しています。 ツールチップは1つ試してみましたが、1度成功したと思っていても 次に表示すると日本語されていませんね。 中にはソフトを使ってもclipできない文章もありますね。 そちらも翻訳表示できません。 うまく表示できている人は居られるのでしょうか?
344 名前:名前は開発中のものです。 mailto:sage [2008/10/31(金) 18:19:41 ID:YzRs5LJ8] ちょいと困っています。 キャラとか画像が移動すると、ぶれるようなかすれるような感じでぼやけてしまいます。 移動させてもちゃんと写るようにするにはどうしたらいいですか? room speedは30です。
345 名前:名前は開発中のものです。 mailto:sage [2008/10/31(金) 18:27:01 ID:YzRs5LJ8] あと gamdev.org/w/?GameMaker はどこかに移転したんですか?
346 名前:名前は開発中のものです。 mailto:sage [2008/10/31(金) 19:54:07 ID:oCQp1Dl8] >>344 原因は色々ありうるけど同じく色々と試してみたと思うので意外な罠を一つ 俺がハマったのはモニタのリフレッシュレート うちの環境だと60hzなら普通に動くけど75hzだと掠れる 恐らく環境依存だしGMとは関係ない部分だから気づきにくい
347 名前:336 mailto:sage [2008/10/31(金) 21:53:02 ID:EFPq/rMO] >>337 遅くなりましたがありがとうございます。 出来ました。
348 名前:名前は開発中のものです。 mailto:sage [2008/10/31(金) 22:53:49 ID:YzRs5LJ8] >>346 モニタのリフレッシュレートとGMの設定とroom speedをそれぞれ60にしてみたけど、やっぱりブレれぅ・・・ 液晶だからかな・・・ そしてUse synchronization avoid tearingって意味がわかんない? エキサイト翻訳したら「同期が引き裂くのを避ける使用」って出る。 tearingを単体で調べても引き裂くとか猛烈とかな意味がでる。 同期するのを避ける?
349 名前:名前は開発中のものです。 mailto:sage [2008/10/31(金) 23:26:30 ID:mSkOAagk] >>348 さすがに俺も液晶よ 上で書いたケースとは別件かな もし他の方がGMで作った実行ファイルでも同様の症状が出るなら相性かもしれない ドライバ、グラボ、モニタ、DiretXのバージョンなどなど
350 名前:名前は開発中のものです。 mailto:sage [2008/11/01(土) 00:14:21 ID:cP7CN4r/] use synchronizationで「同期(シンクロ)を使用する」 avoid tearingで「破綻することを回避する」 tear=破ける,裂ける,破綻する Use synchronization avoid tearingで「破綻を回避するための同期(シンクロ)を使用する(使用せよ)」または「同期を使用して破綻を回避する」 例文: Synchronization - Avoiding Frame Tears=フレーム落ちを回避するための同期
351 名前:名前は開発中のものです。 mailto:sage [2008/11/01(土) 00:21:55 ID:cP7CN4r/] シューティングゲームの作成では、PC処理速度を超える過剰負荷がかかった時に、 「コマ落ち(フレーム落ち)」させるか「処理落ち」させるか、 フレームレート,リフレッシュレートの同期処理に悩みますよね
352 名前:名前は開発中のものです。 mailto:sage [2008/11/01(土) 01:01:45 ID:7HKnkTOG] >>348 ティアリングというのは、画像が横に動いているときに 画面の途中でちぎれたように上下がずれて見える現象。 それを避けるためにモニタの信号と同期をとるというのが設定の意味。 画像がぶれるというのとは関係ないと思う。 仮にビューを使っている場合、やりようによっては 更新タイミングの違いでぶれて見えることがあるけど そういうことはない?
353 名前:名前は開発中のものです。 mailto:sage [2008/11/01(土) 22:42:10 ID:spXHa3/O] こう・・・表記が変なのかなーと自分を疑ったり ブレるというかぼやけるというか、ブラーが掛かるというかにじむというか・・・ 左が普通で、右が動かしたときに見える感じ rainbow2.sakuratan.com/img/rainbow2nd43406.png
354 名前:名前は開発中のものです。 mailto:sage [2008/11/01(土) 23:05:00 ID:8D1Uiupl] >>353 なるほど スクリーンショットを撮って見ると輪郭パリパリで綺麗なのに 実際に動いてるのを肉眼で見てるとボヤけて見えるってことかな モニタの応答速度が遅いのが原因、に1票
355 名前:名前は開発中のものです。 mailto:sage [2008/11/02(日) 00:23:31 ID:UAtrgN40] このスクリーンショットが実際に動かしてる時に撮ったものなら応答速度ではないんですが どうなんでしょう
356 名前:名前は開発中のものです。 mailto:sage [2008/11/02(日) 00:46:03 ID:q7EnVYah] >>354 応答速度なのかな・・・ どこで調べたらわかるんだろ。
357 名前:名前は開発中のものです。 mailto:sage [2008/11/02(日) 01:10:29 ID:q7EnVYah] SONY SDM-S75F っていうモニター使ってるけど、これがダメなんかな・・・
358 名前:名前は開発中のものです。 mailto:sage [2008/11/02(日) 07:11:53 ID:Uttx017t] もう既にいろいろ試していると思うけど、とりあえず。 1)新しくテスト用のゲームを作ってみる 問題が起こる最低限の環境のゲームを作ってみる。 もし問題が起こらなければ、元のゲームのどこかに問題がある。 元のゲームを放置して新しく作り直すもよし、元のゲームの問題点を探すのもよし。 もし問題がまだ起こるのなら↓ 2)他の環境で調べてみる。 テスト用でもいいから作ったゲームを公開して、同じ現象が起こるかチェックしてもらう。 それでも問題が起こるのなら、アルゴリズムに問題がある可能性大。 もし問題が起こらないのなら、PCの環境のどこかに問題がある。(相性とか?)
359 名前:名前は開発中のものです。 mailto:sage [2008/11/03(月) 11:05:08 ID:0rtuC+vp] アクションゲームで、下に落ちたら死亡(画面からはみ出たら死亡)にしたいのですが 画面の左右と上にはみでないようにするにはどうすればいいでしょうか。5.3です
360 名前:名前は開発中のものです。 [2008/11/03(月) 19:13:01 ID:HnYJ+ws5] ルーム外イベント使わずに if (y>room_height) instance_destroy で出来るはず
361 名前:名前は開発中のものです。 mailto:sage [2008/11/03(月) 20:24:19 ID:SR5b1R59] Gamemakerって大掛りなACTでGMLをふんだんに使ったサンプルとかないのかね? 勉強したいんだけど、リンク切ればかりで出来ない英語の勉強するほうが先になりそうな予感
362 名前:名前は開発中のものです。 [2008/11/03(月) 21:53:58 ID:HnYJ+ws5] シューティングサンプル1945の全部gmlコード版があった気がする…
363 名前:名前は開発中のものです。 mailto:sage [2008/11/03(月) 22:24:41 ID:uwgdwITo] >>361 日本語の資料はあまり多くないね サンプルなら質も量も本家フォーラムが一番 ttp://gmc.yoyogames.com/lofiversion/index.php/ GMLなら↑のScripts[GML] 多少英語が読めてGMLを理解してる人なら宝の山だと思う 英語が読めなくてもGMLの理解があれば漁ってみる価値はある かなり話題がそれるけどFlex&ActionScriptのサンプルも結構面白い ECMAScript系の言語仕様、イベントドリブン、OOP(的である)、と共通点が多い 出来上がるのがFlashだからASに乗り換えるわけにはいかないけど御参考までに。
364 名前:名前は開発中のものです。 mailto:sage [2008/11/03(月) 23:43:47 ID:SR5b1R59] >>362 検索中スルーしてたかもなんで、後で、探してみます。 >>363 本家フォーラム倦厭してたけど、チラ見しただけでも大量の投稿で、まさに宝の山っぽいです。 自分は英語あまり読めませんが(;´Д`) Action Scriptのほうはちょっと気になってたんですが、そっちも後で見てみることにします。 御二方情報ありがとうです
365 名前:名前は開発中のものです。 mailto:sage [2008/11/05(水) 14:09:40 ID:lQ1u3lWL] デフォルトの背景background0と動きのある第二の背景background1をルームの設定に用意したのですが 途中でこれらを切り替えるにはどうしたらいいのでしょうか?
366 名前:名前は開発中のものです。 mailto:sage [2008/11/05(水) 22:26:45 ID:XjRGW3LY] >>365 ヘルプ見たら「background_○○」って関数が大量にあるので色々できると思うよ 単純に2つの背景を排他的に切り替えるだけなら background_visible[0] = !background_visible[0]; background_visible[1] = !background_visible[1]; // visible when room starts の設定によって開始時に1つだけ表示させとく // つまり片方にだけチェックをいれる ほとんど同じ処理を分かりやすく書くと if( background_visible[0] ) { background_visible[0] = false; background_visible[1] = true; } else { background_visible[0] = true; background_visible[1] = false; }
367 名前:名前は開発中のものです。 mailto:sage [2008/11/05(水) 22:31:36 ID:XjRGW3LY] ごめんなさい修正 直接backgroundのインデックスを指定すれば良いみたい if( background_index == 0 ) background_index = 1; else background_index = 0;
368 名前:名前は開発中のものです。 mailto:sage [2008/11/05(水) 23:58:10 ID:lQ1u3lWL] えーと、試して見たのですが背景がかわらず動かしたキャラクターの残像が無限に描写される状態になってしまいました。
369 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 00:01:14 ID:XjRGW3LY] >>368 ただのサンプルだから書く場所にもよるよ 毎フレーム呼び出したらそういう状態になるかも 例えばglobal mouse left pressedあたりに書けば マウス押すたびに切り替わるはず
370 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 00:07:30 ID:lQ1u3lWL] 即レスありがとうございます 一応初めからマウスがクリックされた時というところでそれをやっているのですが…
371 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 00:36:35 ID:RiMAKIfy] >>367 GMLではarray[0]とarrayは同じものを指すから、それは単に background_index[0] に一番最初に作ったbackground(id=0)と 2番目(id=1)を交互に割り当ててるだけ。 >366の方法が正解。
372 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 01:04:58 ID:eaSEHczR] キャラクター「A」と「B」が横一面で左に向かって競争していて、 「AがBを追い抜いたとき」と「BがAを追い抜いたとき」で別々に音を流したいのですがどうすればいいのでしょう。 上とは同じ内容で違う質問なんですが 試しにA.xがB.xの値の-1になった時〜などという風にIf a variabels has a valueでやってみましたができませんでした。 これではだめなのでしょうか?
373 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 07:42:34 ID:LwQsPuS+] >>372 単純に Aのx座標 < Bのx座標の時は音楽Bを流す、 Aのx座標 > Bのx座標の時は音楽Aを流す。 で良いんじゃないかな?
374 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 09:00:15 ID:5MtmmVSK] 追い抜いたときってのを調べるには、1ステップ前の状態を記録しといた方がいいんじゃない? 例えば、 Stepに difference = Aのx座標 - Bのx座標; を入れて、 Stepの最後の行かEnd Stepに prev_difference = difference; を入れる。 そしてStep内で、 prev_differenceとdifferenceをチェックする。 prev_difference(1フレーム前の差)とdifference(今現在の差)を見たとき、 マイナスからプラスになったり、プラスからマイナスになったりしたときが、 どちらかが追い抜いたとき、となる。どっちがどっちかはすぐわかるはず。 ちなみに2つ目の質問に答えると、ゲームに限らず、プログラムはそこに書かれているとおりに動く。 どういうことかというと、A.xがB.x-1になったときに音を再生する、 つまり、それが例え追い抜いたとしても後ろから近づいただけだとしても、座標軸でBがAの左にちょうど1離れたところにいる瞬間に音を鳴らす、という判定がかなりシビアな表現になる。
375 名前:名前は開発中のものです。 mailto:sage [2008/11/06(木) 12:01:46 ID:5MtmmVSK] そうそう、この場合prev_differenceを初期化することを忘れずに。 Create eventで、prev_difference = 0;とでも書いておけば大丈夫。 これを書いておかないと、Step内でチェックしようとしたときに「prev_differenceって何なんだ?」というエラーを返されるはず。
376 名前:名前は開発中のものです。 mailto:sage [2008/11/07(金) 07:12:26 ID:pXoTyMbW] そういやxpreviousってのがあった。 xpreviousってのはその名の通り、1フレーム前のxの値。 これを使えば>>374 で書いたprev_differenceは要らなくなる。 この場合の使用例としては↓ if (A.xprevious - B.xprevious > 0 && A.x - B.x < 0) { // 1フレーム前でBが前(左)だったのが、今のフレームでAが前(左)になった、 // つまりAがBを追い抜いた瞬間 } else if (A.xprevious - B.xprevious < 0 && A.x - B.x > 0) { // 1フレーム前でAが前(左)だったのが、今のフレームでBが前(左)になった、 // つまりBがAを追い抜いた瞬間 }
377 名前:名前は開発中のものです。 mailto:sage [2008/11/07(金) 07:28:10 ID:pXoTyMbW] ちょっとした注意。 HelpのUsing Game MakerのEventsにも書いてあるけど、 ゲーム内の全てのアクションは↓の順に実行されていく。 ・Begin step events ・Alarm events ・Keyboard, Key press, and Key release events ・Mouse events ・Normal step events ・(now all instances are set to their new positions) ・Collision events ・End step events ・Drawing events ここで言いたいのは、stepイベントの後に全てのインスタンスの移動が行われるってこと。 だから>>376 で書いたのは、End stepイベントにでも入れておくといいと思う。 ……まぁ1フレームの差だけど。
378 名前:名前は開発中のものです。 [2008/11/07(金) 17:17:30 ID:q2bnCqzi] 不思議のダンジョンのようなターン性を採用したいのですがどのように作ればいいのでしょう?
379 名前:名前は開発中のものです。 [2008/11/07(金) 22:09:04 ID:dk+hUO84] 割り込む感じでスイマセン、質問です 非公式サイトから導入した日本語描画スクリプトですがフェード機能をつけるには どうしたらいいですか? drawアクションじゃないからalphaも使えないし……
380 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 00:32:27 ID:ralVUMsS] >>378 こんなので良ければ参考にして下さい www1.axfc.net/uploader/File/so/13426.zip
381 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 01:05:10 ID:YaFy+mMy] おお、ありがとうございます。 敵が複数いる場合でも同じ処理で大丈夫何でしょうか?
382 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 01:17:10 ID:tiFPEnIw] うーん。 敵が複数居る場合、固定値ではなく、数値を増やしていって 最後に行動したモンスター(キャラ)が変数を1に戻すとかどうかな?
383 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 01:24:43 ID:YaFy+mMy] 敵の数がある程度減ったらランダムで数匹追加などもしたいのですが 減ったり増えたりした時の処理が難しそうでどうも…
384 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 01:29:31 ID:tiFPEnIw] global変数(A)に、現状の敵個数を記憶しておいて 敵が死ぬ時にglobal変数(A)を減らす。 ある程度の数値になったら敵を追加。 追加されたらglobal変数(A)が増えるようにしておく。 チェックするのはBegin stepでもEnd stepでもお好きな時にどうぞ?
385 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 08:00:14 ID:usFb+U0s] ダンジョンで思い出したけどダンジョン自動生成てのはやっぱり難しいもんなのかな。
386 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 21:37:31 ID:YaFy+mMy] >>384 遅れましたがありがとう もう一つ質問したいのですが、「最初にランダムでどこか一方向に動く、動く前にもし行きたい方向に壁があれば残り三つからランダムでどこか一方向に、そこにも壁があれば〜」という判断をさせたいのですがどういったアクションを組めばいいのでしょう?
387 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 21:38:58 ID:HeJ/3Xvw] ttp://amagame.blog12.fc2.com/blog-entry-1989.html ttp://d.hatena.ne.jp/Gemma/20070816 これとか読んでみ。目から鱗な考え方だ
388 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 21:51:38 ID:tiFPEnIw] >>387 うっは、ブログの方のファイル落とそうとしてgamDEVという事に愕然とした! 誰かファイルもってないかなorz
389 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 21:56:28 ID:tiFPEnIw] >>386 まず処理したい系統を図式にして処理したい順番を考える。 質問の例だと、 1) 移動方向をランダムにチェック (壁があるかないか判断) 2) 壁がない? Y→移動 N→1)に戻って処理しなおし とするか、 1) 敵Aの周りの壁を総当たりチェック。 2) 移動できそうな場所を記憶。 3) その中からランダムに選択 とするか、が浮かぶ。 もちろん他にも良い手段はあると思う。
390 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 22:45:40 ID:YaFy+mMy] うーむなるほど やはりそういうのにはGMLが必須なのでしょうか…
391 名前:名前は開発中のものです。 mailto:sage [2008/11/08(土) 22:52:26 ID:tiFPEnIw] >>390 そっちのほうが楽ではあるけど、 処理の中に処理ってのは普通配置でもできるからガンバッ! Control の Other にある、start/End block や else などをうまく組み合わせてみよう。
392 名前:名前は開発中のものです。 mailto:sage [2008/11/09(日) 14:58:27 ID:XXK2SOj2] >>387 上の凄いな。考えもしなかった
393 名前:名前は開発中のものです。 mailto:sage [2008/11/09(日) 18:30:25 ID:iQ0fQqMk] Access violation がでるなあ execute piece of code だとエラー吐くのに 同じ内容をscripts に記述すると直るのは嫌らしい仕様だ