1 名前:名前は開発中のものです。 [2005/07/12(火) 09:03:47 ID:DK0oUKwt] 無料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/
137 名前:名前は開発中のものです。 mailto:sage [2006/02/15(水) 20:04:58 ID:6LM6alMi] いっそ同人ゲー板のほうに立てるか類似スレ立てたほうが人集まるんじゃね?
138 名前:125 mailto:sage [2006/02/16(木) 19:54:41 ID:+HYBFe6p] さっぱりわからんです…… ダッシュと組み合わせようとするとなおさらさっぱり。
139 名前:名前は開発中のものです。 mailto:sage [2006/02/17(金) 04:01:55 ID:dYDNpFED] >>138 タメジャンプじゃなくて、マリオみたいにジャンプ後に制御したいのかな? 変数を一つ用意して、ジャンプした時に変数を1にする。 一定時間経過するか、ボタンを離したら変数を0に戻す。 で、変数が1の間は重力の効きを弱くする、というのではどうでしょう。
140 名前:名前は開発中のものです。 mailto:sage [2006/02/17(金) 21:27:27 ID:EyjSGAvO] 139じゃないけど139をヒントに作ってみた ttp://gamdev.org/up/img/4690.zip こんな感じ?
141 名前:名前は開発中のものです。 mailto:sage [2006/02/17(金) 23:48:09 ID:7zEm/w8C] うぉ いつのまにかレスが >>139 その通り、マリオ(もっというとロックマン)みたいなジャンプを再現したかったのです。言葉足りなくてスマソ とりあえずその方法を試して見ます。 >>140 感じとしてはそんな感じです、わざわざすみません。
142 名前:名前は開発中のものです。 mailto:sage [2006/02/19(日) 14:11:12 ID:CCeheyjZ] 同意できるのに>>134 がスルーされている件について ヘルプ読んでも、わかんねえ…。
143 名前:名前は開発中のものです。 [2006/02/19(日) 14:15:33 ID:hVYPSpvh] 引用: Save the game(ゲーム状況を保存) 現在のゲーム状況をセーブします。 つ「ttp://gamemaker.main.jp/」
144 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 01:52:21 ID:Ngv0PK/O] ヘルプにあるぞ。 Finishing the Game -> Global game settings -> Various other options Let <F5> save the game and <F6> load a game デフォルトでこの機能は有効になっている。 変数などの状態は保存できるので、機能的には通常、これで十分かと思われる。 しかし、どこでもセーブ可能なため、制限したいならこのチェックをはずし、アクション "Save the game" 等を使って自力で組む必要がある。 パーティクルの状態が再現されないなどの点にも注意。
145 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 12:39:53 ID:7gRnoyKe] わざわざ自前でファイルに書き出して読み込みやってたオレはアホかw スクリプトがもっと書きやすかったらGameMaker良いんだがなあ・・・。
146 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 13:49:24 ID:QEe7nvmj] そこでDelphiですよ
147 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 14:55:56 ID:4zpNyKhY] なんでまたDelphi
148 名前:名前は開発中のものです。 mailto:sage [2006/02/20(月) 16:13:18 ID:ZzYiwD5Z] どこでもセーブはゲームバランス崩されるし、 直ぐ飽きられる場合もあると思う。 >>145 こだわりがあっていいじゃん。
149 名前:名前は開発中のものです。 mailto:sage [2006/02/21(火) 23:19:35 ID:ygP3Me4d] ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`)/< 先生! 自己満足ゲーム作ってたら、 _ / / / \ 原因不明のバグにぶち当たりました! \⊂ノ ̄ ̄ ̄ ̄\ \_______________ ||\ \ ||\|| ̄ ̄ ̄ ̄ ̄|| || || ̄ ̄ ̄ ̄ ̄|| .|| ||
150 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 00:04:54 ID:+bb3J/62] うp汁
151 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 02:13:42 ID:WD1YjkLm] ドット絵ばかり書いててまったくゲーム作りが進まない俺ガイル
152 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 10:18:04 ID:RmfqUly/] >>150 とうあえずうp ttp://gamdev.org/up/img/4743.zip □ 同士が離れていると、仲間の近くへ移動するようにしたいんだけど動いてくれない。 ○のDepthを変えるとちゃんと動くようになるみたいなんだけど、 GameMaker自体のバグか何かなのかな? だけど変えると今度は○の方がおかしくなるし・・・
153 名前:149=152 mailto:sage [2006/02/22(水) 12:17:49 ID:RmfqUly/] 6.1バージョンで問題なく動くのを確認・・・ どうも5.3Aのcollision関連の関数で起きる模様。
154 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 12:38:07 ID:RtW+y/jz] >>150 まちがってたらすません 前レスの717〜740ぐらいに丼氏のボイドトランサーで逆のパターン(近くにいるおなじインスタンスから離れる) だったかの質問レスがあるのでそれもチェックしてみたら? >>50 に前レスログのURLあるよ
155 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 13:08:59 ID:RtW+y/jz] >>よこしま氏 mbtext_scripts&jfont使わせてもらってます。今のところええ感じです・・といいつつ質問なんですが(^-^;; mbtext_draw()の第4引数widthを指定しない時やwidthに満たない幅で描画するときに描画幅を調べる構文を以下の様に書いてます。 今のところ"\\n”や改行などを無視してもいい状況なのでこれで妥協してます。 作者観点から付け加えがありましたらヨロシクです。 ----------ここから--------------- var inputtext, code, text_len_cnt, i, textareawidth; inputtext = "描画させる文字列1234" textareawidth = 0; text_len_cnt = string_length(inputtext); for( i = 1; i <= text_len_cnt; i += 1) { code=ord(string_char_at(inputtext, i)); if((code>=32)&&(code<=126)) textareawidth += global.mbchar_size/2; if((code>=129)&&(code<=152)) textareawidth += global.mbchar_size; }
156 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 13:44:20 ID:RtW+y/jz] 上の続き この後に mbtext_draw(inputtext, room_width/2 - textareawidth/2, 150, 0, 0, 0)) といった感じで続けています。
157 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 14:14:25 ID:CuQeG0lj] >>151 絵師乙です!
158 名前:149 mailto:sage [2006/02/22(水) 14:32:17 ID:RmfqUly/] >>154-156 サンクス!調べてみます。
159 名前:154 mailto:sage [2006/02/22(水) 14:52:00 ID:RtW+y/jz] >>149 レス番間違えてた;;ごめん;
160 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 18:51:30 ID:WbHshgLK] 質問なのですが、Keypressed、Keyreleasedに相当するジョイパッドのイベントはないのでしょうか? それとも押したら変数で逃がしてうんたらかんたらなどをGMLで記述しないと作れないのでしょうか。
161 名前:よこしまなMr.0 mailto:sage [2006/02/22(水) 19:28:30 ID:vs/6uiJn] >>155-156 さんのご指摘を受けて、テキスト領域の試算のみ行う関数(mbtext_draw_test関数)を追加し、mbtext scripts 1.3.0として公開しました。 ttp://gamemaker.main.jp/modules/news/article.php?storyid=31 >>160 以下のスレッドに同様の質問があります。 GMJ Forum -> ジョイスティックのボタン押下時にイベントを発生させたい ttp://gamemaker.main.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=37&forum=1
162 名前:名前は開発中のものです。 mailto:sage [2006/02/22(水) 23:01:27 ID:kPdMax+/] >>152 instance_furthestの返り値を表示してみたら-4(noone)になってるね。 しかし、Squareがルーム内に複数いる以上、nooneが返ることはありえないはず。 は、もしかして……! スプライトとオブジェクトの名前がかぶってますよ。
163 名前:149 mailto:sage [2006/02/23(木) 10:06:26 ID:tTwTR64C] ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀`)/< 先生! if (collision_circle(self.x,self.y,70,Spuare,false,true)) _ / / / \ を \⊂ノ ̄ ̄ ̄ ̄\ | if (distance_to_object(Spuare) < 70) ||\ \\ に代用させた所、問題なく動きました! ||\|| ̄ ̄ ̄ ̄ ̄|| \_______________ || || ̄ ̄ ̄ ̄ ̄|| .|| || >>162 違うようにした方がいいんでしたっけ?
164 名前:名前は開発中のものです。 mailto:sage [2006/02/23(木) 12:52:18 ID:3zWbUjiF] >>152 スゲー AIですか
165 名前:名前は開発中のものです。 mailto:sage [2006/02/23(木) 14:15:06 ID:PAdpKi4b] >>152 いろいろ調べた結果、GameMaker 5.3A側でcollision系関数の引数 notme の適用方法にバグがありそうですね。 コリジョン対象のオブジェクトを オブジェクト名で限定した場合、特定の状況で notme を true としても有効にならず、 本来なら「偽」と判定される状況でも「真」となってしまう模様。(対象オブジェクトがallとかなら問題なさそう) 6.1では、このバグは解消されているようです。 ・・・5.3Aのサポートは終わってるのかなぁ…?
166 名前:よこしまなMr.0 mailto:sage [2006/02/23(木) 17:52:05 ID:iLVzLMDT] >>163 違うようにしないとだめなんです。 なぜなら、リソース識別子はダイレクトにGMLの定数としてマッピングされるので、同じ名前空間で識別子の衝突が起こってしまうからです。 これはGMJフォーラムでも何度か話題に上りました。 ttp://gamemaker.main.jp/modules/newbb/viewtopic.php?topic_id=34&forum=6&post_id=136#forumpost136 >>165 ttp://www.gamemaker.nl/bugreport.html には一応「Older version」という選択項目もあるみたいですが、"Make sure you use the latest version of Game Maker. We do not handle bugs in older versions."という記述がこれまた微妙ですね お知らせ: 現在、GM5/GM6でmp3,oggをBGMとして再生することができる連携プログラムを開発中です。この連携プログラムは、レジスト版の機能に「依存しない」ので、Game MakerのBGM再生機能に不満を抱いている方にとっては便利なものとなる予定です。 (.NETアプリではないので軽いはず。MODにもおそらく対応。MIDI形式は未定)
167 名前:149 mailto:sage [2006/02/23(木) 18:55:07 ID:tTwTR64C] >>164 英語ダメ、計算ダメ、絵ダメ、文才ダメだけど、 AIだけには拘りと自信があるのだ。 >>165 ふむふむ・・・検証オツカレです。 >>166 特に問題なかったから今まで普通にシテマシタヨ。 参考になりました。
168 名前:名前は開発中のものです。 mailto:sage [2006/02/24(金) 04:19:37 ID:/Tk/YbQr] >>よこしまさん 155です 前回の書き込みで舌たらずな文章で心証悪くしてたらすみません。 そして素早い対応、すっごく感謝です。ありがとうございました。 今シューティングを作成してて・・スコアとかの表示関連を作りなおしてるんですよ。 それで自機が近づいたら表示を画面外に出すやつをやってて、 先に描画領域が取得したかったんです。 mbtext動作状況はゲーム進行を妨げずうまく動作しています。
169 名前:よこしまなMr.0 mailto:sage [2006/02/25(土) 02:33:02 ID:mwGxEe4m] >>168 いえいえ 実際の描画幅を取得できないというのは盲点でした。 おかげさまでmbtextを改良することができたのでこちらこそ感謝です。 お知らせ: >>166 でちらっと触れていたBGM再生用のプログラムおよびスクリプトがほぼ完成しました。 再生に対応しているサウンド形式は「mp3, ogg, mod, it, xm, s3m」です。 同時に再生できるサウンド数は無制限です。 GM5/GM6と共に動作し、レジスト版でも未レジスト版でも動きます。 機能的には、「再生、一時停止、再開、停止、リセット」の操作、および、「音量、再生スピード、パン、ループ」の制御(再生後でもサウンドごとに変更可能)をサポートしています。 GMとは別プロセスでサウンド再生を行いますが、制御元のGMのウィンドウが消失すると自動終了する仕組みになっているので、万が一GMのゲームがフリーズした場合でも「サウンドだけがずっと鳴ったままになる」という事態は起こりません。 また、サウンド再生を行ってもGMのゲームスピードを遅らせることはありません。ループ再生の場合も安定して動作します。 いまいち分かりにくいかも知れませんが、GMのゲームが この「BGM再生用のプログラム」を非同期制御するという仕組みです。 GM側からは、簡単なスクリプトを呼ぶだけで透過的にサウンド再生を行うことができます。 例:my_music.mp3を音量80%で再生する bGM_play("my_music.mp3", 0.8); 現在、細かい改良と調整を行っています。
170 名前:よこしまなMr.0 [2006/02/26(日) 21:15:52 ID:2s5I4Elf] bGM; background-music player for Game Maker ttp://gamemaker.main.jp/modules/news/article.php?storyid=33 名前が覚えやすい(BGMとカブる)のが最大の特徴です( ワラ
171 名前:名前は開発中のものです。 mailto:sage [2006/02/26(日) 23:33:03 ID:FvVbCteI] >>170 IDが妖精サンダー
172 名前:名前は開発中のものです。 mailto:sage [2006/02/27(月) 23:56:13 ID:cC0bdxOd] withの使い方で質問です。 withの中ではotherが元々selfだったインスタンスを参照するようになりますが、 では元々otherだったインスタンスはどうやって参照できるのでしょうか? 具体的には、自分と敵弾がぶつかった時に破片を飛び散らせようとしてるのですが…… // self=自分、other=敵弾 var i, ii; for (i = 0; i < 8; i += 1) { ii = instance_create(x, y, obj_fragment); ii.direction = i * 360/8; ii.speed = 4; with (ii) { motion_add(???.direction, ???.speed / 2); // ←ここで敵弾の動きを合成したい } } ??? の所に何を入れたらいいかわからなくて困っています。
173 名前:172 mailto:sage [2006/02/28(火) 03:02:25 ID:emwe4w/O] すみません、よく考えたらやりたいことは ii.hspeed += other.hspeed / 2; ii.vspeed += other.vspeed / 2; で可能でした。 でも後学のため、with内から外側のotherを参照する方法 ご存じの方いたらお願いします。
174 名前:名前は開発中のものです。 mailto:sage [2006/02/28(火) 14:52:42 ID:vklEnotz] >>172 スクリプト内部の一時変数に記憶しておくしかないかな。 ----- var other_id; other_id = other.id; with ( ) { // withループ内でも、変数 other_id で 元々の other のインスタンスIDを参照できる。 } -----
175 名前:よこしまなMr.0 [2006/02/28(火) 18:56:54 ID:6cM1DN1x] >>172-173 174さんが仰っている通りですね。たぶんその方法しかないと思います bGMのプレビューデモ(*.gmd, *.gm6)を公開しました。 ttp://gamemaker.main.jp/modules/news/article.php?storyid=34 マウスクリックおよび[←][→]キーに合わせてoggストリームの音量・パン・ピッチシフトを変化させるデモです。
176 名前:172 mailto:sage [2006/02/28(火) 23:15:51 ID:emwe4w/O] >>174 ども、それでいけました。 with内では何も付けなければvarで宣言した変数を参照できるみたいですね。 ん、でも、同じ名前のインスタンス変数があったらどうなるんでしょう? 実験してみたらこんなん出ました。 var inst1, X; inst1 = instance_create(0, 0, object1); X = 'var X'; self.X = 'self.X'; inst1.X = 'inst1.X'; with (inst1) { show_message(X); // ←これは var X になる show_message(other.X); // ←これは self.X になる show_message(self.X); // ←これは inst1.X になる }
177 名前:名前は開発中のものです。 [2006/03/07(火) 20:49:20 ID:c3gblkOt] 保守
178 名前:名前は開発中のものです。 mailto:sage [2006/03/08(水) 00:00:41 ID:pSfOHtTI] ほしゅおつ
179 名前:駄々 [2006/03/08(水) 15:02:46 ID:U8guAHRA] 初めまして駄々といいます 質問なんですがキャラのアニメーションでカーソルキー→を押したら 右に移動しているアニメ ←をおしたら左に移動しているアニメを表示させるにはどうすれば良いのでしょうか 簡潔に言うと →を押したら ● ⇒ ● >| /| みたいな・・・(分かりにくくてすんません)
180 名前:名前は開発中のものです。 mailto:sage [2006/03/09(木) 01:46:39 ID:fAsQapMu] >>179 右用オブジェと左用オブジェ作って同一親オブジェクトを登録 右用オブジェと左用オブジェの逆方向のキーボードイベントで逆のオブジェクトへ インスタンスチェンジする。 共通のイベントは親オブジェクトで作成する みたいな感じがいいんでないかい?
181 名前:駄々 [2006/03/09(木) 01:58:19 ID:kV2wX20F] >>180 それでなんとか出来そうです ありがとうございます!
182 名前:名前は開発中のものです。 mailto:sage [2006/03/10(金) 02:52:55 ID:/vwSpjSb] わーいロックオンレーザーができたヨー ttp://gamdev.org/up/img/4909.zip
183 名前:名前は開発中のものです。 mailto:sage [2006/03/10(金) 18:35:27 ID:kxaQ8pGu] >>182 レーザーの動きが滑らかでいいね! 普通に楽しめますねー。
184 名前:名前は開発中のものです。 mailto:sage [2006/03/11(土) 13:07:48 ID:B0K6mRFK] いいね。GJ! 贅沢いうと、複数ロックオンした時はいっぺんに発射するよりゼロコンマ秒遅れて時間差で 発射するようにしたほうが爽快な気がス
185 名前:名前は開発中のものです。 mailto:sage [2006/03/12(日) 16:59:08 ID:EbhNu3eR] >>182 パッド差してると勝手に右下に移動しちゃうんだけど……。
186 名前:名前は開発中のものです。 mailto:sage [2006/03/13(月) 03:31:36 ID:3bCLLKKk] うんうん
187 名前:名前は開発中のものです。 mailto:sage [2006/03/13(月) 03:45:59 ID:1xHX09ww] >>184 時間差実装してみました。ついでにレーザーの表現もちょっと変えてみたです。 >>185 パッドによってはjoystick_xposが厳密に0を返さないことがあるみたいですね。 閾値を設けて判定するように修正しました。 ttp://gamdev.org/up/img/4967.zip イカミサイルが時々何にも当たってないのに消えちゃう現象が出るけど、 原因がつかめん……
188 名前:名前は開発中のものです。 mailto:sage [2006/03/14(火) 19:14:36 ID:8RK8eiVf] >>187 即効で修正しまくるオマエGJ。
189 名前:名前は開発中のものです。 mailto:sage [2006/03/17(金) 21:57:55 ID:/PdAbkhM] ver.6,1で数値入力の際に「0から32までの数」などというように範囲指定をして入力したいのですが こういう入力の仕方を教えて頂けないでしょうか if there is an object at a position でオブジェクトAがオブジェクトBの一定範囲内に入った場合、行動を起こすようにしたいのですが この数値の範囲の入力方法がわからず困っております マニュアルに書いてあるような初歩的な事かもしれないので大変恐縮ですがお願いします 一応、印刷された旧バージョンのマニュアルを持っているので 読んではみたのですが探し当てる事が出来ませんでした…(´・ω・`)
190 名前:名前は開発中のものです。 mailto:sage [2006/03/17(金) 23:48:51 ID:UTobLwMn] >>189 if there is an object at a positionは登録したオブジェクトと指定したオブジェクト同士が 衝突しないと真をかえさないので”一定範囲に入ったとき”とはなんだかニュアンスが違うような気がしますが? 自分のやり方でわるいですが”Execute a piece of code(コードを実行)”でGMLを書いたほうがすっきりすると思います たとえばオブジェクトAのオブジェクト名を”obj_A”オブジェクトBをobj_B”として一定範囲に入ったときオブジェクトAを 動かしたい場合obj_AオブジェのステップイベントにExecute a piece of codeを登録する。 ”一定範囲”が単純に”A,B間の距離”でいいならpoint_distance(x1,y1,x2,y2)関数(2点間の距離を計算する)を 使えばいいと思います。100ピクセル以内に入ったときとしての記述はこの場合・・・ if(point_distance(self.x, self.y, obj_b.x, obj_b.y) <= 100) { //ここに動かす為の記述をする } というふうにしてみてはどうですか?
191 名前:190 mailto:sage [2006/03/17(金) 23:55:05 ID:UTobLwMn] × if(point_distance(self.x, self.y, obj_b.x, obj_b.y) <= 100) ○ if(point_distance(self.x, self.y, obj_B.x, obj_B.y) <= 100) 細かい訂正及び長文ですいません(´・ω・`)
192 名前:名前は開発中のものです。 mailto:sage [2006/03/18(土) 00:27:30 ID:WYhXOtxE] >>190 >if there is an object at a positionは登録したオブジェクトと指定したオブジェクト同士が >衝突しないと真をかえさないので 済みません、知りませんでした… プログラムとかできないよって言う友人と作業しているので GMLは使えないのですが(書くべきことを書いていなくて重ね重ね済みません(´・ω・`)) 変数でも同じ事ですので大変参考になりました、有難うございます
193 名前:190 mailto:sage [2006/03/18(土) 02:26:21 ID:9Lf6fvmN] >>192 > プログラムとかできないよって言う友人と作業しているので > GMLは使えないのですが(書くべきことを書いていなくて重ね重ね済みません(´・ω・`)) ああ・・なるほどGMLなしなんですか^^; GMLでもアクションアイコン(っていっていいのかな?^^) でも自分が思っている動きができればOKかと^^ で・・・実現できそうですか?(いっちょかみしたので少し気がかり^^
194 名前:名前は開発中のものです。 mailto:sage [2006/03/18(土) 04:07:36 ID:KjV7bw5B] ニコニコニコニコうるせーんだよカスども!!
195 名前:名前は開発中のものです。 mailto:sage [2006/03/18(土) 13:39:39 ID:bMeUjPwj] ニコニコニコニコって?
196 名前:名前は開発中のものです。 mailto:sage [2006/03/18(土) 14:00:07 ID:U+h1lbvn] どうみても誤爆です。 本当に有難うございました。
197 名前:よこしまなMr.0 mailto:sage [2006/03/18(土) 21:43:30 ID:G0hInr+C] bGM ver. 1.0.0およびチュートリアル・関数リファレンスを公開しました。 ttp://gamemaker.main.jp/modules/articles/article.php?id=25
198 名前:駄々 [2006/03/23(木) 20:11:36 ID:QpjTFGD2] お久しぶりです また質問なんですが主人公キャラに重力を与えたのですがブロック(地面)の上に乗ると ←方向に移動してしまいます(移動と言うよりも左に引っ張られている感じ) どなたか解決方法を教えてください
199 名前:駄々 [2006/03/23(木) 21:07:49 ID:QpjTFGD2] >198 自己解決しました すいませんでした
200 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 00:10:23 ID:1MGw+l1b] >>198-199 いいけど、質問する前に、もっと慎重にな。 フォーラムの質問もおまいなら削除依頼なりなんなりしておけよ。 あと、症状だけいわれてわかるエスパーなどいないことも覚えておいてくれ。
201 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 22:32:50 ID:PR6KQDDw] >>200 ぶっちゃけ過疎ってるんだから小さな質問でもいいんじゃない? >>199 自己解決すんな。回答を待て!w
202 名前:名前は開発中のものです。 mailto:sage [2006/03/27(月) 12:11:59 ID:Ft51kzDw] kjm.kir.jp/pc/?p=20956.png …頑張ってみた。 はぁ。
203 名前:名前は開発中のものです。 mailto:sage [2006/03/27(月) 13:28:28 ID:Ft51kzDw] メインメニューも日本語化パッチ。 www.uploda.org/uporg347869.zip.html
204 名前:名前は開発中のものです。 [2006/03/27(月) 17:34:37 ID:w/CqsEE/] 全部日本語化出来た?
205 名前:名前は開発中のものです。 mailto:sage [2006/03/27(月) 19:38:49 ID:Ft51kzDw] >>204 ジョージ…残念ながらそれは無理だ。 別に出来ないことはないが時間が無い。 リソースにメッセージデータが入ってない箇所が多すぎる。 いちいち特定してCRCエラーが起きないようにビクビクしながらやるのは すごく大変なんだ。 クラック対策用の処理の潰し方が結構適当。 とりあえず致命的エラーは起きないようにしてあるけど、 起動時に必要な処理をどっか潰してる可能性もある…。 まぁ、俺が使っている"かぎりでは"何の問題もない。 ちゃんとファイルのロード、セーブも出来てるし実行ファイルの出力も出来た。 実行ファイルの方には何も手をつけてないから当然か。
206 名前:名前は開発中のものです。 mailto:sage [2006/03/29(水) 06:10:57 ID:s0l2fzu9] てか最新版の日本語化じゃないのか。
207 名前:名前は開発中のものです。 mailto:sage [2006/03/29(水) 14:06:16 ID:BdCnmoxX] GJ
208 名前:駄々 [2006/03/29(水) 22:26:10 ID:Mzj60OcA] 質問させていただきます ロックマンのようなボスキャラの動きなどはGMLコード(だっけ?)を使わなくては作れないのでしょうか? 質問ばかりですいません(しかも無駄レス・・)
209 名前:名前は開発中のものです。 mailto:sage [2006/03/29(水) 22:34:41 ID:PV+kH8qv] 質問キター ロックマンのようなボスの動きというのがわからないので回答できません。 すみません・・・
210 名前:駄々 [2006/03/30(木) 00:08:23 ID:98xmE8PI] ロックマンのボスのような動きの例(例っていうかこんなふうに動かしたい) ・左右にランダムに動く(又は壁にぶつかったら反対方向に動く) ・2〜3秒に一回攻撃する ・ピンチになると本気モードになる(これは実装するか分からないのですが一応) 以上の動きをさせたいんですが GMLコードを使わなくてもできますか?
211 名前:名前は開発中のものです。 mailto:sage [2006/03/30(木) 13:19:39 ID:YmzEqY6O] >>210 実際試してないができると思う、詳細はマニュアルorヘルプファイル参照願う >左右にランダムに動く ステップイベントにWith a change perform next actionをおいてsidesを2で指定し、その下にReverse horizontal directionアクションをおいて反転させる With a change perform next actionの結果が偽ならReverse horizontal directionは無視され結果1/2の確率で反転される。 >壁にぶつかったら反対方向に動く ステップイベントにIf there is a collision at a positionを置いてRelativeにチェック、x,yにはボスが1ステップで動く量を代入する(実際に動く前に どこへ動くかの前判定になる)objectには壁になるオブジェクトを指定してやる(壁オブジェは親オブジェでくくっといてこの親でobjectに代入しておくと後々楽) 後は左右に動くと同じでReverse horizontal directionを登録、縦方向の動きがあるならReverse vertical directionもあわせて登録しておく、 この場合Start of block、End of blockで前述のReverse horizontal direction、Reverse vertical directionアクションをまとめてやる。 この2つは既に動作アクションが前もって実行されていることが前提であるから生成イベントとかで動作アクション等を割り付けておく。
212 名前:211 mailto:sage [2006/03/30(木) 13:44:20 ID:YmzEqY6O] 続き >2〜3秒に一回攻撃する アラームイベントを使う。 一番シンプルなのが常に指定した単位秒で毎回攻撃するという形で書かせてもらうと 生成イベントでアラームアクションを登録number of stepには現状ルームスピード*秒数の値を、 in alarm noにはどのアラームを使うかを指定する。 指定したアラームのイベントに攻撃する用のアクションを登録していって、最後に生成アクションでつくったアラームアクションをコピぺする これで指定秒ごとに繰り返すようになる。 >ピンチになると本気モードになる ピンチというと普通HPがある程度のとこまで減ったとかそんなんだよね? それ前提で・・・ ステップイベントでHPとなる変数を If a variable has a valueで監視→規定量以下になったらさっきの 「2〜3秒に一回攻撃する」の秒数を減らすとか、移動スピードを多くするとかしてみたらどう? 実装するときはこの秒数なり移動スピードを変数で登録しておくなどの下ごしらえで結構楽に組めたりするよ
213 名前:211 mailto:sage [2006/03/30(木) 14:02:04 ID:YmzEqY6O] 訂正 >>左右にランダムに動く >ステップイベントにWith a change perform next actionをおいてsidesを2で指定し、 >その下にReverse horizontal directionアクションをおいて反転させる >With a change perform next actionの結果が偽ならReverse horizontal directionは無視され結果1/2の確率で反転される。 ステップイベントでやると毎回確率判定が行われるから反転が重なる可能性がおおいので これもアラームアクションを使って何秒間かに1回判定をかける方がいいですね
214 名前:名前は開発中のものです。 mailto:sage [2006/03/30(木) 16:02:04 ID:flRGae76] (別解) とりあえずは上のアラーム使う方法が手っ取り早いと思うけれど、 タイムラインで行動パターンを組んでループさせる方法もあるね。 特に説明はしませんが ステップ数 行動 0 ランダムで方向決める 100 弾を撃つ 110 ジャンプ 200 弾を撃つ 250 弾を撃つ 400 先頭へ戻る タイムライン上のスピードの変数もあったりするから、 GMLも知っておくといろいろ応用が利く。 パターン化された動きをするならこっち、 AIっぽく振る舞わせるならタイマーかなあ。
215 名前:名前は開発中のものです。 mailto:sage [2006/03/30(木) 16:06:44 ID:flRGae76] タイマーじゃなくてアラームだ。 クリック&プレイ使ってた時の癖が
216 名前:駄々 [2006/03/30(木) 21:16:29 ID:98xmE8PI] 非常に助かります!! とりあえず後で試してみます! 自分もクリック&プレイしてたな〜・・・・
217 名前:名前は開発中のものです。 [2006/03/31(金) 16:41:53 ID:4VV46Pcn] まだKNP使っている自分orz
218 名前:名前は開発中のものです。 mailto:sage [2006/04/03(月) 14:38:26 ID:W85JHXvu] なんだかんだでKNPは手軽ないい玩具だったよなあ。 アレくらいわかりやすいともっと流行るのかなあ……
219 名前:駄々 [2006/04/13(木) 12:58:29 ID:CCVlXrag] また質問です ・主人公についてくる ・敵が近づいてきたら攻撃しにいく ・敵が近づいてきたら遠ざかる(↑のとは違うキャラです) 上記のようにキャラを動かしたいんですかどうすればいいのでしょうか? 前回のはうまく動きました!(本気モードはまだやってない) 211さんありがとうございました
220 名前:名前は開発中のものです。 mailto:sage [2006/04/15(土) 19:49:09 ID:fbNvFET3] これ面白いですね。けどさすがに知識0な自分には厳しいかな チュートリアルのボールゲームは作れたけど、自力じゃ歩くキャラ作るのもままならないやw
221 名前:名前は開発中のものです。 mailto:sage [2006/04/17(月) 01:49:39 ID:MWZgJo7r] はじめましてです。質問してもいいでしょうか? 30フレームのroomAにおいて、 オブジェクトBの座標に向かってスピード80で進むオブジェクトAがオブジェクトBと重なった時に次のイベントが発生するように イベントの発生条件をアクションリストのIFを使って obj_A=(obj_b.x,obj_b.y) としたのですが、2〜3回に一回程素通りされてしまいイベントが開始されません。 どうすればいいのでしょうか? あと、オブジェクトが重なりあった時の前面に出るオブジェクト画像の優先順位は変えられないのでしょうか? どなたかお願いしますm(__)m
222 名前:よこしまなMr.0 mailto:sage [2006/04/17(月) 05:47:17 ID:cr8rW51E] >>221 >オブジェクトAがオブジェクトBと重なった時に次のイベントが発生するように Case1. 自インスタンスの位置がobj_bの位置と同じかどうか判定する場合: [If an expression is true] expression: (x == obj_b.x) && (y == obj_b.y) Case2. 自インスタンスのspriteがobj_bのspriteと重なっているかどうか判定する場合: [If an expression is true] expression: place_meeting(x, y, obj_b) >オブジェクトが重なりあった時の前面に出るオブジェクト画像の優先順位 各オブジェクトのdepth(深度)を変更します。
223 名前:名前は開発中のものです。 mailto:sage [2006/04/17(月) 10:55:50 ID:Zn9G8oL+] 横槍でごめん >>222 さん >>221 さんは >スピード80で進むオブジェクトA 及び > 2〜3回に一回程素通りされてしまいイベントが開始されません。 といってるから多分コリジョンエリアが重なっていない症状が出てるんだと思うんだけど? だとするとexpressionは線分で判定するcollision_line()がいいんじゃないの collision_line(xprevious, yprevious, x, y, obj_b, false, true) みたいな感じで・・・
224 名前:よこしまなMr.0 mailto:sage [2006/04/17(月) 20:33:57 ID:cr8rW51E] >>223 補足どうもです。 >>222 のCase2は素通りしたら意味が無かったです・・・ collision_line()で試してみたところ、collision_line()は「線分そのものと、静止しているobj_bが重なる場合」なら判定できるようです(つまり、「obj_Aのスプライトの形状」および「obj_bも動いていた場合」は考慮されない)。 一方、obj_A,obj_bそれぞれの動きとスプライトまで考慮し、さらに素通りした場合も考慮にいれてコリジョン判定をするとなると、どうしてもGMLでごちゃごちゃforループするしかないみたいです。 (素通りしないようにすれば、通常のコリジョンイベントで十分なんですけどね・・)
225 名前:221 mailto:sage [2006/04/18(火) 20:49:01 ID:kvqrJBQi] よこしまなMr.0さん> >>223 さん> 詳しい説明有難う御座いますm(__)m obj_bと同種のオブジェクトをポジションランダムに複数配置して、その上をobj_aが高速で移動していく動きを作りたかったんです。 コリジョンだとビリヤードの球のような動きになってしまったのでできれば他の方法が無いかとおもいましたが、 まだ初心者でGMLを複雑に使いこなすのは厳しいので、まずは欲張らずにコリジョンを使おうと思います。 丁寧に有難う御座いました!
226 名前:223 mailto:sage [2006/04/19(水) 14:23:47 ID:D713torS] >>225 氏 なるほど、30fpsでspeedが80という高速オブジェってどんなんだろうと 思ってたんだかなんとなく判った。 その要件だとステップごとにdistance_to_object()でターゲットになるobj_bとの距離を 計測してやって80以上の場合にspeedを80とし、未満の場合はdistance_to_object()で 測定した距離の値をそのままspeedに代入してやってはどうだろうか? 減速する形にはなるが減速するのはobj_bと重なる時の1ステップだけで、なおかつ必ず 衝突判定がとれるようになると思う。一回試してみて
227 名前:名前は開発中のものです。 [2006/04/24(月) 14:36:25 ID:+HnYfiB7] 最新版の日本語化パッチまだ〜?
228 名前:よこしまなMr.0 mailto:sage [2006/04/24(月) 21:24:01 ID:CcS3zOyA] >>227 GMの日本語化について、現在までの情報をまとめると以下のようになります。 ▲GM5.3Aの場合、ttp://gamemaker.main.jpで配布している「Game Maker 5.3A用 日本語化パッチ」でインターフェイス部分のみ日本語化可能。 ただし、>>202 =203=205さんがメインメニューも日本語化可能なパッチを作成された。(このパッチについてはGMのライセンスに触れるかどうか微妙。現在リンク切れ。) ▲GM6の場合、実行ファイル自体が暗号化されているため、仮に技術的に日本語化が可能であったとしても、GMのライセンスに触れるため、パッチを作成することができない。 以前、本家ttp://www.gamemaker.nl/facts.htmlにて、「GMのプログラムが翻訳されやすいように修正を加えるといったことを計画している」との記述があり、作者さんにメールで問い合わせた結果、「いつになるか分からない」との事。 つまり、GM6自体のi18n(インターフェイスや表示メッセージの多言語化)待ちの状態。 (GM初心者で英語も苦手という人は、本家ttp://www.gamemaker.nl/doc.htmlにて配布されているGM6.0のヘルプ日本語訳が非常に役に立つと思います。) で、i18nがいつになるか全く不明なので、「日本人のためのGMバイブルみたいなものを作れば、多くの人が気軽にGMを使えるのではないか」と思って試しに作ってみたのが次のHTML Helpです。(まだ目次を書いたぐらいですが) ttp://gamemaker.main.jp/dlfiles/gm_japan.chm ※WinXP SP2の場合、ファイルのプロパティで「ブロックの解除」ボタンを押さないとHTMLが表示されません。
229 名前:名前は開発中のものです。 mailto:sage [2006/04/26(水) 09:53:02 ID:GhrlEj72] >>228 乙です。 ヘルプに含まれているGMLの各関数にサンプルコードを付けて欲しいなー。 ここで言うことではないとは思いますがとりあえず要望。
230 名前:229 mailto:sage [2006/04/26(水) 10:07:26 ID:GhrlEj72] >>228 に脊髄レスしてしまってすみません。 >>229 で書いた件ですが、ヘルプはGM付属の直翻訳ヘルプの事でして、よこしまなMr.0氏が作成しているHTML Helpではありません。 で、HTML Helpをちょっと見てみました。 関数リファレンスが期待していたような記述になっていてよかったです! 例:項がシンプルで判りやすくGJ!完全版を期待してます。 (たまにGMLの関数で扱いがわからず、数時間も悩むことがあるのでホント期待してます・・・)
231 名前:よこしまなMr.0 mailto:sage [2006/04/29(土) 07:39:55 ID:QD/JyLTS] >>230 関数リファレンスについては正確性と分かり易さを両立させようと心がけていた次第です。 >228のHTML HelpはDocBookで生成したものですが、いまいち作業が捗りませんでした。 そこでOpenOffice.org 2で書き直してみると、まともなPDFを素早く生成してくれたので、この形式を採用することにします。 ttp://gamemaker.main.jp/dlfiles/u_gm_rev1.pdf 目標としては、リニアに読んでいけば理解できる構成ですね。 それと、こういった文章があればGame Makerを大学や専門学校の講義で活用したい教員の方にとって便利だろうと思います。C++などの言語解説は抜きにして「純粋にゲーム作成について講義をしたい」とか。
232 名前:名前は開発中のものです。 mailto:sage [2006/05/02(火) 00:31:42 ID:KgjzlEux] 誰か英語堪能な人が各コマンドを日本語に訳したものを作者に送りつけてやれ
233 名前:名前は開発中のものです。 mailto:sage [2006/05/02(火) 09:25:24 ID:2lQlIqWb] よこしま氏のがんばりっぷりを見るにつけ、 作者はそろそろUnicode位対応してくれと思う。 そんな簡単なもんでもねえのかなあ。 催促したら他言語化早まるだろうか。
234 名前:よこしまなMr.0 mailto:sage [2006/05/03(水) 17:54:24 ID:blvZBroH] パズルゲーム作ってみました。 ttp://gamemaker.main.jp/modules/newbb/viewtopic.php?topic_id=58&forum=8 >>233 GNU gettextを使えばインターフェイスのi18nは割と楽に実装できるんですけどねぇ。 とりあえず、6.2が出た後の動向に期待がかかります。
235 名前:名前は開発中のものです。 mailto:sage [2006/05/11(木) 07:00:50 ID:7O4pl5z4] ねえねえ オブジェクト増やしていくとF5のローディング時間だんだん長くなるでしょ 敵キャラクター調整してるとこの時間なんとかならないかなぁとか思うんだけど みんなどうしてる?
236 名前:よこしまなMr.0 mailto:sage [2006/05/11(木) 21:52:28 ID:jwuiFM4n] >234のパズルに、ステージ1〜21を追加しました。 >>235 スプライト等の設定画面でLoad only on use(遅延ロード)にチェックを入れておくと、起動時のメモリ確保時間が節約されます。 また、デバッグモードを利用すると、敵キャラの調整が楽になります。 F6でデバッグ起動するとデバッグ窓が左上に出てきて、動作中のゲームを自由に操れます。 ゲームを再スタートしたり一時停止・再開したり、任意のGMLコードを実行したり・・ 例えばdebug_enemy_set_speed(7)のように、デバッグ窓から実行するためのScriptを作っておくと楽です。 それと、これは関係ないかもしれませんが、 デフォルトのローディング画面だとロード時間が長く感じられるので、別の画像に変更する方がいいかもしれません。
237 名前:名前は開発中のものです。 mailto:sage [2006/05/20(土) 15:11:57 ID:xwk6yleS] 初心者が軽く作ったものを公開するような場所ってありませんか? それともここで公開してもよろしいのでしょうか?