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/
81 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 11:06:03 ID:9mBFsqkn] >>79 飛び道具から丸くて小さくなっていくスプライトのオブジェクトを置き続ければいいんじゃないか? レジスト版なら加算合成とか使えて綺麗になるが、通常版だとちとイマイチかもしれないが……
82 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 14:43:02 ID:EGcliZhu] www.ice.ci.ritsumei.ac.jp/~ruck/CLASSES/SOUSEI1/gmaker_japan.htm ここの37にマルチプレイヤーゲームが出来ると書いてありますが、 書いてあることが凄すぎてよくわかりません。。 誰か上手く教えていただけませんか?
83 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 15:56:41 ID:9mBFsqkn] >>82 要はネット対戦機能とかを作れるって事だけど、マニュアルに書いてある事を理解できる位のネットワークに関する知識がないと辛いんじゃないかな…… 出来たら面白そうだなとは思うけどね
84 名前:名前は開発中のものです。 mailto:sage [2008/05/23(金) 18:31:26 ID:EGcliZhu] >>83 わかりました
85 名前:名前は開発中のものです。 mailto:sage [2008/05/26(月) 21:09:52 ID:K7Gb+EE1] マリオのような感じのゲームを作りたいのですが、 横に移動して、ジャンプも出来て、重力をつけたら画面外まで落ちていきました。 何かオブジェクトに乗っかるにはどうすればいいですか?
86 名前:名前は開発中のものです。 mailto:sage [2008/05/27(火) 01:16:07 ID:il/v0kgX] >>85 1、衝突検知→wallに衝突した場合、衝突フラグをオン //↓四角範囲指定でキャラの足元の座標を指定 if collision_rectangle(x+10,y+55,x+30,y+60,wall,true,false){wall_flag = 1} //↑「wall」っていう名前の壁OBJを用意 else {wall_flag=0}//それ以外の場合は空中判定 //2、衝突フラグオンの場合、足元のOBJを調べて、重力とvspeed(縦速度)を0 // 更に、足元OBJのy座標に自OBJの座標を合わせる(こうすることですり抜け現象を回避) if wall_flag ==1 { col_id = (collision_rectangle(x+10,y+55,x+30,y+60,wall,true,false))//足元の足場OBJのID取得 if vspeed >= 0//落下、もしくは直立時のみ、座標を合わせる { vspeed = 0; //縦速度0 y = col_id.y-1;//足元の足場OBJの1マス上のy座標に合わせる } gravity = 0//条件がなんであろうと、とりあえず重力0 } 超大雑把だけど、↑のコード調整すればいけると思うよ 無駄に手順が多い気がするけど、これ以上スマートな方法知らないんです。。。 ちなみにこのまま使うと>>62 みたいな足場になります。
87 名前:名前は開発中のものです。 mailto:sage [2008/05/27(火) 06:04:21 ID:8CURxQUf] 悪魔城シリーズみたいに、雲のテクスチャを使って遠方から 雲が流れてく様な演出ってできないかな…、あまり無茶をするとガクガクになるからアレかも。
88 名前:名前は開発中のものです。 mailto:sage [2008/05/27(火) 22:54:16 ID:6Xhx1kD4] drawイベント、使い方がよくわからない・・・ 一度draw呼び出した後の消し方も分からないし 非公式読んでもわからなかった・・・ オブジェクトいっぱい作って表現するよりも軽いらしいから 使いこなせたらベストなんだけど、うーm
89 名前:名前は開発中のものです。 mailto:sage [2008/05/28(水) 12:32:20 ID:xSCQjZ2e] >>88 drawイベントは呼ばれている間ずっと描画するからifとかで描画する条件を付ければいい。 そんな重いものを作るんでなかったらオブジェクトを複数に分けた方が良いと思う。 ずっと描画する背景やメニューなら別だけど……。 >>87 悪魔城やったことないからイメージできないや…… 奥から手前に雲が向かってくるのなら、雲を描画するオブジェクトを作って、拡大しながら移動したりアルファをいじればいいと思うんだが……
90 名前:名前は開発中のものです。 mailto:sage [2008/05/29(木) 02:36:12 ID:DHizXfG5] 88です >>89 >>drawイベント なるほど!ありがとうございます!
91 名前:名前は開発中のものです。 mailto:sage [2008/05/31(土) 00:39:40 ID:rrtVSSkL] セーブデータ関係って皆さんどうされてます? ファイル生成とかいろいろありますが データが外部から操作されないようなセーブデータって可能でしょうか?
92 名前:名前は開発中のものです。 mailto:sage [2008/05/31(土) 08:51:13 ID:ZVZLgF9M] 物理的に不可能。 暗号化するなどで操作されにくくするのが関の山。
93 名前:名前は開発中のものです。 mailto:sage [2008/05/31(土) 09:10:26 ID:rrtVSSkL] >>92 暗号化って、難しそうですねぇ。 うーん・・・
94 名前:名前は開発中のものです。 mailto:sage [2008/05/31(土) 12:15:42 ID:zJdP1EEF] 暗号化といっても、ビットシフトとXORの組み合わせならそんなに難しくないし、それなりに弄られなくなると思うけど。
95 名前:名前は開発中のものです。 mailto:sage [2008/05/31(土) 13:34:09 ID:ou8RstaY] 無茶苦茶分かりにくい並び方でデータを並べるとかしか浮かばないなぁ。 あとは保存された数値の内容でパスワードみたいなのを生成して一緒に保存して、読み込むとき整合性がとれなかったら不正なデータと見なすとか。
96 名前:名前は開発中のものです。 mailto:sage [2008/06/02(月) 15:17:04 ID:/RuiniIL] 蜃気楼の表現ってどうするんだろうな…、2Dじゃ無理臭い気が…。
97 名前:名前は開発中のものです。 mailto:sage [2008/06/02(月) 22:26:22 ID:Epu/dM/T] >>96 重いけどできなくはないよ。 画面を細かく水平方向に区切って、サインカーブに沿ってずらしながら描画する。 そのカーブを時間と共に変えれば、ゆらゆらと揺れる感じが出せる。 GM6以降ならテクスチャやサーフェス使えばいいかな。
98 名前:名前は開発中のものです。 mailto:sage [2008/06/03(火) 06:54:11 ID:OlF/LjGi] >>97 できるのかw、流石GMだ… っていうか、サインカーブ…。テクスチャはまだわかるけど、サーフェスとか まだ使い始めて間も無いんで、一見しただけではパッとこないが… とりあえずレスサンクス、97のレスを元に色々やってみるよ。
99 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 10:49:46 ID:JdoODmgp] GM初心者で格ゲーみたいなのを作りたいんだが全くわからない。とりあえず、 ・簡単なCPの作り方(近づいてパンチと移動だけでよい) バージョンは5.3レジスターはしてません。GMLは少しなら
100 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 11:32:43 ID:YZVoGHHf] Backgroundやroomにマウスクリック等のイベントを追加することはできますか? 背景画像(あるいはroom背景色の領域)をクリックした時にクリック座標を取得しインスタンスを生成するのが目的です 具体的には画面をクリックした場所に地雷を設置するというゲームを作ってます 今は背景色で塗りつぶした画像を用意しオブジェクトとしてAddEvent>Mouse>LeftButton>Code という方法でやりたい事は実現はできているのですが上手い方法じゃないと自覚しとります GM6未レジスト、フォーラムとHelpは読んだつもりですが過去ログは見落としてるかもしれません
101 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 12:37:58 ID:TGP/82mE] >>99 私が以前作った格ゲーのサンプルを提供してあげたいが、いかんせんPCにネット環境がない……。 格ゲー作るならそれなりに複雑な処理になるから、 ボタンが押される→キャラの状態により攻撃実行 の仕組みを作って、CPUの動作は位置によって複数の連携テーブルから適当なものを選んで行動、とかそんな感じにしなきゃ辛い。 何が言いたいかというと、私は応援してるよ、と(^^;
102 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 19:59:47 ID:JdoODmgp] 格ゲーはとりあえず試行錯誤しときます。 これかもアドバイス頂けると嬉しいです。 応援ありがとうございます。
103 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 20:17:36 ID:JdoODmgp] 早速質問です、すいません(-_-;) CPの動きはプレイヤーが近くにいるとパンチするようにしたんですが、そうするとCPが永遠にパンチしてきます。 パンチのランダム性(?)てどうやるんでしょう。あとCPのプレイヤーの位置認識にxyを使ってるんですがそうすると特定の距離の時しかパンチしてきません。
104 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 21:00:11 ID:s7z6oTUx] >>100 Mouse > Global mouse event(GM6以降) またはcontrolの中にある「If a mouse button is pressed」 >>103 あるアクションをランダムで実行したいなら「With a chance」アクション (controlにあるサイコロの絵のアイコン) あと、サンプルに付いてくる1945っていうシューティングを見ると 一定間隔でしか弾を撃てないようにする制御をしているので参考になるかも。 基本的に格闘ゲームは変数を使って「今キャラクタがどんな状態にいるか」 を管理するのが重要になるよ。 後半の質問は意味がよくわからん。自分と相手の距離を計算して 「100より大きくて120より小さい」とか大小判定すればいいと思うんだけど、 そういう話じゃない?
105 名前:名前は開発中のものです。 [2008/06/04(水) 23:33:38 ID:LluC3sBJ] スクロールの対象を現在「主人公A」にしてます。 「主人公B」に変身すると、スクロールの対象が失われエラーになるのですが、 どーすればいいのでしょうか?教えて下さい。 { // new_view_left = min(max(0, (主人公A.x+10) - view_width[0]/2), room_width - view_width[0]); view_left[0] += (new_view_left - view_left[0]) / 4; }
106 名前:名前は開発中のものです。 mailto:sage [2008/06/04(水) 23:51:42 ID:5xx8K1a2] AとBを同じParentに設定して、そのParentを追尾すればいいんじゃない?
107 名前:名前は開発中のものです。 [2008/06/04(水) 23:56:56 ID:LluC3sBJ] お答えいただいたのにすいません・・・ プログラムとかが分からないので、 (主人公A ? 主人公B.x+10) ?の所に何か書き込めばいいのでしょうか? or とかandとか入れてみたんですが駄目でした。
108 名前:名前は開発中のものです。 mailto:sage [2008/06/05(木) 01:30:34 ID:Cu6N54BP] 新しいオブジェクトを作る。命名「主人公の素」 主人公Aのプロパティを開いて、「Parent」の欄で今しがたつくった「主人公の素」を選ぶ。 主人公Bも同じようにParentを「主人公の素」に設定する。 さっきの式を「主人公の素.x + 10」に変更。おわり
109 名前:名前は開発中のものです。 [2008/06/05(木) 05:40:07 ID:SxCz6ZJb] 丁寧な回答 ありがとうございます!! エラーが出ず、スクロールできました。
110 名前:名前は開発中のものです。 mailto:sage [2008/06/06(金) 00:51:41 ID:J8O2ZYG8] 自分も以前から台形の立体表示を 作りたいと思っていました。 テクスチャの変形が平行四辺形的な 変形になってしまうため、変形率の異なる 三角形二つの組み合わせでは不可能と 思っていたのですが… 力押しでこんなの作ってみました。 キャラや背景その他は適当です。 ttp://www.h6.dion.ne.jp/~m_style/texture_s.zip キー左右で移動のみです。 映像の繰り返しパターンを1枚のテクスチャで2回設け、 それを台形にしておき、変形する。 移動時は、テクスチャ上の各点を移動させる。 ということです。
111 名前:110 mailto:sage [2008/06/06(金) 00:57:58 ID:J8O2ZYG8] 書き忘れました。 obj_bg_earth01が、地面の部分のオブジェクトです。
112 名前:名前は開発中のものです。 mailto:sage [2008/06/06(金) 11:05:29 ID:4VD34WHe] >>110 うぉぉぉぉ……! せっかくサンプル用意してもらったのに今PCにネット環境がないから見れない……。 ……でも凄い嬉しいです。
113 名前:名前は開発中のものです。 mailto:sage [2008/06/07(土) 14:55:19 ID:5IJUQrYD] >>110 キャラ素材の作りに感動しました! 3Dっぽいですけど、素材は何で作ってます?
114 名前:名前は開発中のものです。 [2008/06/08(日) 13:41:45 ID:T6BCIG1y] クリックした瞬間に存在してる「オブジェクトA」を削除して クリックした地点に新しく「オブジェクトA」を作成し、 Step towards pointでその「オブジェクトA」の地点まで「主人公」を移動させる。というゲームを作っているのですが 「主人公」のスプライト(GIF動画)を移動している方向によって変えるにはどうすれば良いでしょうか? If an expression is trueで「0<=direction<=45」みたいな風にやったのですが 一番最後に書いた方向(315<=direction<=360)のスプライトに固定されてしまい何処に移動しても画像が変わりません。 解りにくい説明ですみませんが、どうかご教授お願いします。
115 名前:名前は開発中のものです。 mailto:sage [2008/06/08(日) 14:54:45 ID:utQhd3oj] 0<=direction && direction<=45 でも両方<=だと、たとえばdirectionがちょうど45.0の時に条件がかぶるから 0<=direction && direction<45 の方がいい
116 名前:名前は開発中のものです。 mailto:sage [2008/06/08(日) 16:42:58 ID:T6BCIG1y] >>115 ありがとうございます。 その様にした所、時々横向きになるのですがやはり画像はほとんど変わりません。 この様な感じに作っているのですが www2.uploda.org/uporg1470436.zip もしかして根本的な何かを間違えているのでしょうか? 再度質問で申し訳ありませんが、よろしくお願いします。
117 名前:名前は開発中のものです。 mailto:sage [2008/06/08(日) 17:50:32 ID:eax+1E9y] さぁ、早くそのifのnotについているチェックボックスを外す作業に戻るんだ。 そりゃ0<=direction && direction<=45「ではないとき」なんて書き方をしてたら、 一番最後の【270〜360「ではないとき」】が高確率で反映されるわな。 余談だが、0<=directionって書き方に違和感を感じて仕方が無い。 ま、問題なく動いていればいいのかもしれないけどね。
118 名前:名前は開発中のものです。 mailto:sage [2008/06/08(日) 17:55:53 ID:eax+1E9y] チェックボックスを外すって何だよ俺……。 どう頑張ってもボックス自体は外せねぇだろ。 notのチェックボックスのチェックを外す、だ。
119 名前:名前は開発中のものです。 mailto:sage [2008/06/08(日) 20:02:45 ID:T6BCIG1y] >>117 ウボアァアァァァありがとうございます。気付きませんでしたorz おかげでちゃんと移動先を向いてくれるようになりました。本当にありがとうございます。 何度も何度も質問ですみませんがgifの1フレーム目から動かないのですが何か設定が必要なのでしょうか? 本当に申し訳ありません。よろしくお願いします。
120 名前:名前は開発中のものです。 mailto:sage [2008/06/08(日) 23:36:33 ID:NJgDJbX1] マリオみたいなジャンプアクションは どうすればいいのでしょうか? たとえば走りながらジャンプ等 初心者すぎる質問で申し訳ありません
121 名前:名前は開発中のものです。 mailto:sage [2008/06/09(月) 00:17:01 ID:QzRxZbxD] >>120 ジャンプアクションの要素を羅列してみる。 ・空中に居ると下に落ちる ・床の上にキャラが乗れる ・左右にキーを入れると加速する。ダッシュボタンを押すと最大速度が上がる ・床に乗っている状態でジャンプボタンを押すとジャンプする。 とりあえずダッシュしながらジャンプは、ジャンプの際は横のスピードはいじらずに上にだけ速度を加えればいいと思うよ
122 名前:名前は開発中のものです。 mailto:sage [2008/06/09(月) 00:42:40 ID:ekIBUZL+] >>113 みるべきところはそこじゃなす Edgeかなにかで描いたんだろ?
123 名前:名前は開発中のものです。 [2008/06/09(月) 15:28:48 ID:N/jbPRoy] >>120 素人の俺が考えて見たサンプルをどうぞ www2.uploda.org/uporg1471552.zip 中身がゴチャゴチャしてスマン。
124 名前:120 mailto:sage [2008/06/09(月) 20:00:05 ID:2DlmJVHk] >>121 >>123 回答ありがとうございます 後>>123 のファイルは解凍した後のファイルが読めないのですが どうしたら読めるようになりますか? このファイルを読み込むプログラム〜と言われてしまいます
125 名前:名前は開発中のものです。 [2008/06/09(月) 20:03:20 ID:N/jbPRoy] >>124 言い忘れてたけど>>123 のはgm6で作った奴だ
126 名前:名前は開発中のものです。 mailto:sage [2008/06/09(月) 20:30:48 ID:MbRvBo5s] ということもあるので使用バージョン、レジストの有無はなるべく書いてね 公式のチュートリアル(Platform Gamesってやつね)眺めるだけでも けっこう参考になると思うんだが、あれも今はGM7用のしか置いてないな
127 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 02:44:02 ID:S3IlP6Mt] 上位互換性はあったような。 互換というよりは、古verのものを新verの形式に書き直す、とかだったような気がするけど。 ファイルを直接ダブルクリックとかでは開けられないだろうから、GMから開くとかDrag&Dropとか……。 何にせよ、話が噛み合わないとどうしようもないので、情報は書いておいて欲しいもの。
128 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 08:16:48 ID:WKUtiVJV] 実際5から6では殆んどエラー吐いて起動しない場合が多いよ。 6から7なら大丈夫だろうけど。 まあ567全部インストールしておけば問題ないんだろうけどね
129 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 12:07:20 ID:1Irexyd7] BGMやムービーを安易に見れないようにできる?
130 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 13:37:08 ID:WKUtiVJV] >>129 BGMやムービーを別々にして配布したいなら、拡張子を変更しつおいて、使う時だけリネームして読み込み、使い終わったら戻すって方法位かなぁ。 別々にしたい訳じゃないけど読み込みに時間かけたくない!ってのなら、6以降限定だが、Global Game SettingのIncludeで本体に含めてから実行時に展開するようにすればいいよ。
131 名前:名前は開発中のものです。 mailto:sage [2008/06/10(火) 14:29:23 ID:1Irexyd7] >>130 thx
132 名前:113 mailto:sage [2008/06/10(火) 20:08:22 ID:6sraZo9R] >>110 うーm。。。答えてもらえないか スレ違いだけど、素材作りにEdge管理で行き詰まり感じてて… でもどこに質問しにいけばいいか分からなかったので質問させていただきました。 「3D→2D素材化」って流れで作られたものに見えたんで この行き詰まりから脱せるんではないかって希望を見てしまったんでs
133 名前:名前は開発中のものです。 mailto:sage [2008/06/11(水) 16:39:10 ID:EVNflJcn] ダウンロードしてみようと思ったがyoyoに繋がらない、自分だけ?落ちてる?
134 名前:名前は開発中のものです。 mailto:sage [2008/06/11(水) 21:49:55 ID:5ZX5tJO/] >>133 今は大丈夫みたいだが、どう?
135 名前:133 mailto:sage [2008/06/11(水) 22:29:57 ID:++rYAqEK] >>134 今やったらできた〜どうもです
136 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 00:56:25 ID:4EAhP+NE] 未レジストだから出来ない、、、。orz
137 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 08:09:28 ID:9TqDsi5l] >>136 ダウンロードが? ダウンロードなら特に何も問題なく出来るはずだが……
138 名前:名前は開発中のものです。 mailto:sage [2008/06/12(木) 10:22:01 ID:zGKrtRU4] 日本ユーザーを増やして yoyoに日本語対応してもらうのだ
139 名前:名前は開発中のものです。 [2008/06/13(金) 15:58:32 ID:tjeMHdYO] TPSは流石に作れないよな・・・
140 名前:名前は開発中のものです。 mailto:sage [2008/06/13(金) 17:37:16 ID:8tjP+W25] >>139 5.3で作られたFPSがあったから、工夫次第では未レジストでも疑似3Dで作れると思う。 海外の作品で、doomとかいうタイトルだったような ただプレイしてて激しく酔った記憶が……
141 名前:名前は開発中のものです。 mailto:sage [2008/06/14(土) 11:38:27 ID:4m4S8SwE] テスト
142 名前:名前は開発中のものです。 mailto:sage [2008/06/15(日) 19:59:47 ID:n3ZqdSRd] 5.3より後のバージョンって公式・非公式ともに日本語化の予定ないの?
143 名前:名前は開発中のものです。 mailto:sage [2008/06/18(水) 10:02:15 ID:0+3MnSWl] GM7のsprite_add_alpha()等のアルファチャンネル関連はレジスト版のみの機能ですか? 未レジスト版ならGM7でもGM6でも大差無いのかな
144 名前:名前は開発中のものです。 mailto:sage [2008/06/20(金) 18:49:05 ID:Xt39fvZ+] >>143 レジスト版だけみたい。 未レジストなら基本6と変わらないかも。 それと、6で同じ効果音が重なる場合、うまく再生されないんだけど、これって何が原因かね? 他の効果音ならどんなに重なって鳴っても大丈夫なのに、一つだけうまく鳴らない音があるんだけど……
145 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 06:42:13 ID:j/kRwP45] 情けないほど初歩的な部分で躓きました 配列の長さ(サイズ)を取得する方法を教えて下さい ヘルプとフォーラムには目を通したのですが初歩的すぎるのか見つかりません
146 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 11:32:20 ID:NtqmRukW] 信じられねぇが、ないんだよそれ。<配列サイズの取得法 というか、変数を定義した瞬間、特に制限無く配列として使用できてしまうし。 サイズ情報を管理する変数を自分で用意するとかしか思いつかん。非常に面倒だが。 それか、配列として扱う論理的なオブジェクトを作って、インスタンス数を数えるとか、か・・・?
147 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 12:59:26 ID:j/kRwP45] なるほど・・・ 残念ではありますが逆にスッキリいたしました 無いと分かれば割り切って強引なコーディングに踏み切れそうです スマートに書きたいならレジストしてスタックやキューを使えということでしょうかね 勉強もかねてもう少し頑張ってみます ありがとうございました
148 名前:名前は開発中のものです。 mailto:sage [2008/06/21(土) 19:29:15 ID:S/Uv8sSk] メモリの使用量が気になってきたのですが メモリ使用率削減のテクニック教えてもらえないでしょうか?
149 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 00:34:10 ID:3YikmJWj] 前wikiのログがあったのでwikiにはっときました
150 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 09:10:47 ID:NRn4PvdD] とても困ってる事がございます。 連結された文字列の名前の変数、インデックスを作りたいと 考えております。 str ='var_' str +='100' //str='var_100' //これを変数var_100として使用したい //例えば //SPRスプライトをvar_100に割り当てる //sprite_assign(var_100,spr) sprite_assign(??????,spr) この??????が連結された文字列と同じ名前のインデックスになるような 指定をしたい場合、どうすればいいでしょう?
151 名前:名前は開発中のものです。 mailto:sage [2008/06/22(日) 10:21:52 ID:9BAqCfGF] variable_global_set(name, val) variable_global_get(name) variable_local_set(name, val) variable_local_get(name) が使えそうですね。たとえばこんな感じで・・・。 /* インスタンス内の変数var_0 〜 var_100 に、0〜100をセットする */ for (i=0;i<=100;i+=1) { str = 'var_'+string(i); variable_local_set(str,i); } /* 変数var_100で示すスプライトインデックスに、スプライトsprを割り当てる */ sprite_assign(variable_local_get('var_100'), spr); ただし、sprite_assign()の第一引数は、存在する(存在していた)スプライトインデックスで無いとエラーを起こすんで、注意してください。
152 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 03:08:54 ID:+uYxoItW] mbTextScript使ってる人って居る? 6.1で縦16横8ピクセルの半角文字を1080字程描画すると、 それだけで20FPSくらいになるんだけど、普通なのかな?
153 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 04:23:32 ID:SW9HLMt8] それは仕方ないんじゃないか? 1文字1文字スプライトから切り貼りして表示しているんだし・・・。 1080字も一度に書くとかなりの負荷なんじゃないかな。 サーフェスとか画面から見えないところで描画して、 描画したものをスプライト登録してそれを画面表示する、 とかするとよいかもね。この方法はレジスト版でしか出来ないけど。
154 名前:名前は開発中のものです。 mailto:sage [2008/06/24(火) 12:28:37 ID:+uYxoItW] >>153 うーん、レジストはしてあるんだけど、肝心の描画したい物がデータリスト的な物で、 ちょこちょこ切り替えるからなぁ。 とりあえず色々試してみます。 ありがとうございましたー
155 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 21:39:01 ID:4PLXCLdL] ヤフーのフリーメールで登録できないorz おまいらどこのフリメ使ってる?
156 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 08:07:08 ID:ZUCsxIUu] bGMで曲を流してる時にフルスクリーンに切り替えると曲が止まるのは何故だ……? >>155 hotmail。ただし.comで。.co.jpは知らん。
157 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 21:10:56 ID:+fAgrEGQ] hoge = instance_create(0,0,objHoge); hoge.sprite_index = "spr_" + "piyo"; こんな感じでsprite_indexを変数で指定したいのですが上手くいきません piyoの部分は100種類ほどあり増減の可能性もあるため逐一条件分岐で書くのは避けたいです hoge.sprite_index = 4; と、直接indexを数値で指定するというのも考えたのですが 画像と数値の管理が面倒そうで試してません 何か良い方法ないでしょうか
158 名前:よこしま mailto:sage [2008/06/26(木) 21:27:15 ID:ls1Ls4j4] >>156 ウィンドウモードを切り替えたときに、bGMが親ウィンドウを見失うために終了していたようです。 以下の対策で解決すると思います。 1. bGM_play()スクリプトの下から約14行目をコメントアウトする。 「" -w " + string(window_handle()) + 」 ↓ 「// " -w " + string(window_handle()) + 」 2. ゲーム終了時には必ずbGM_close()関数を呼び、bGM.exeを確実に終了させる。
159 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 23:23:46 ID:4NwLrBZ+] >>157 execute_stringが定番だけど遅いのは覚悟すること。 名前とインデックスの対応をmapで管理する方法もある。 最初にmapに入れるところが面倒だけど (名前に規則性があるならループで回しながらexecute_stringで可) 一度作ってしまえば後のアクセスは速い。 後はスプライト別々にするのをやめて、subimageで分けるようにするとか。
160 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 23:56:05 ID:+fAgrEGQ] >>159 ありがとうございます execute_stringの方法で上手くできました 実行速度に関しては大丈夫そうです 余談ですが実はまだレジストしておりません この関数ってヘルプ「リソースの変更」の項にあるのに未登録でも使えるのですね 教えて頂かなければ一生気付かなかったかもしれません
161 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 23:58:49 ID:ZUCsxIUu] おぉ、ありがとうございます。 今まで原因がわからなかったから、いっそのことオプション画面用のroomでも作ってそのroomを抜ける時に、ウィンドウモードを切り替えていたらゲームを再スタートさせようかなと思っていました。 それでもbGMがどうなっているのかが不明だったため、この方法を使ってもいいのかと悩んでいて……。 GameEndイベント用のpersistentのオブジェクトを作ろうかと思います。 ありがとうございました。
162 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 11:46:16 ID:aoPSnAYi] 6.1って5.3と違って数値をINIに書き出すとおかしくなるのね…… これは困った
163 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 22:07:01 ID:IOoyzN5t] 悪名高い精度バグですな。 stringで文字列化してini_write_stringで書き出すと直るよ。
164 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 17:16:03 ID:MGJMVRVB] >>163 なるほど! でも全箇所直すのめんどいなぁ…… ぼちぼちやりますか……
165 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 16:00:15 ID:0XhC6Ln6] チャットできるようにしようと考えてみた。 get_stringではポップアップボックスが出ている間ゲームが止まるのでこれは避けたい。 ゲーム内でIMEをどうにか使えるようになれないか。 とまで考えてみて、結局解らず仕舞orz
166 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 19:41:43 ID:lhyc/F0c] オンラインゲームも作れる、と聞いたことがありますがやはり難しいのでしょうか? マリオのような横アクション対戦ゲームを作りたいのですが・・・
167 名前:名前は開発中のものです。 mailto:sage [2008/06/30(月) 08:01:32 ID:XJvv+Gn/] 作るなら、共有データという一つの大きな配列にデータを書き込んだりそこから読み込んだりすればいい。 物によってはメッセージと使い分けるといいかもしれない。 とまぁGM的に作れるには作れるけど、実際にオンラインプレイできるかは別。 ポート開放が必要になるから。LAN内ならポート開放とかその他細かい設定は無しでプレイ可能。 まあ>>83 が結論かな。
168 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 18:30:58 ID:1ilwX3ov] gm6ですが不思議のダンジョンとかみたいなターン制のゲームを作るにはどうすれば良いでしょうか? 主人公の移動後に主人公のオブジェクトを変更して・・・って感じだと敵が複数の場合相当長くなってしまいます。 ちなみにダンジョンの自動生成は考えてません。
169 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 23:07:04 ID:PDxRGKbt] >主人公の移動後に主人公のオブジェクトを変更して 主人公の移動後に敵のオブジェクトを変更して、と勝手に解釈した とりあえず具体的に何がどう長くなるのか分からないけどコードは大して長くならないかと 描画処理もビュー内外で処理分ければ重くなることもないと思う
170 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 23:20:15 ID:PDxRGKbt] 言うだけなのもなんなので大雑把な案 UserDefined0イベント:1ターンの行動をした時に発生するイベントとして定義 Alerm0:1ターン分の行動を見せるためのタイマー(再帰はしない) objEnemy:全ての敵オブジェクトの親 objZako1〜n:それぞれのユーザ定義イベント(UserDefined0)にターンごとのアルゴリズムを記述 だいたいの流れは プレイヤー行動決定→全敵にUserDefined0発生→全敵が行動を決定→それぞれの行動を描画(ビュー外なら結果だけ) →行動の結果を反映→最初に戻る 主人公オブジェクトが1ターン分の行動を決定するたびに以下のコードも実行 with(objEnemy){event_user(0);} この時点で敵も味方も動いてないけど全ユニットの行動は決まってるので ビュー内なら移動や行動アニメーションも見せる(Alerm0をONにしてゴニョゴニョ何かする) UserDefined0で決定したアクションに従って移動や行動のアニメーション描画 ビュー外なら結果だけ反映(座標に直接ジャンプしたりパラメータだけ変更したり) 厳密にやるならビュー内に侵入してくるタイミングだけ多少デリケートにコーディングしないとダメ でも面倒だからビュー外であろうが境界線の近くなら上記処理に振り分けてしまったほうが楽かも
171 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 07:50:41 ID:Er6IyJrw] 軌道を描写してそれに沿ってオブジェクトを動かしたいのですがパスの使い方が今一つ理解できません。 パスの使い方を教えていただけないでしょうか。5.3です
172 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 10:31:24 ID:Rye0/4Uv] >>171 まず「File」→[Advanced Mode」にチェックする。 「Add」→「Add Path」メニューがでるので前もってパスを作成しておく パスに沿って動かしたいオブジェクトで自分が思っているタイミングのイベントに (最初からパスで動かしたいのならクリエイトイベントにいれる・・・など) MOVE2タブの[set a path for the instance]アクションで作ったパスを指定してあげる。パラメーターは path:オブジェクトに割り当てたいパスの名前 speed:1ステップで動くピクセル数 at end:パスの終点についたらどうするかを指定stopはその位置停止continue from startはスタートした座標に戻ってパス動作を続ける continue from hereは今の座標を始点として同じパスでパス動作を続けるreverseはパスをさかのぼる relative:パスを絶対位置か相対位置かを指定 relativeで相対位置(アクションが動作した時の座標を始点にする) absoluteは絶対位置(パスエディットで書いたとおりの座標) てな感じ。 もち途中でパスを変更するとかも可能。GMLで書くならpath_start()関数をどぞ
173 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 13:12:20 ID:0oCVVzY6] シューティングのテスト版みたいなの作ったんだけど、ここで晒してもいいですかね? ソースはないけど……
174 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 15:07:42 ID:w93aKpMp] >>172 遅れましたがありがとうございます。
175 名前:名前は開発中のものです。 mailto:sage [2008/07/11(金) 15:45:47 ID:3T+5hIa7] 行き詰ってるので質問させてください。 オブジェクト自体が光っているような表現をしたいのですが イマイチやりかたが分かりません。 AfeterEffectとかでいうグローみたいな表現がしたいです。 環境はGM7でレジストしてあります。
176 名前:名前は開発中のものです。 mailto:sage [2008/07/12(土) 14:05:25 ID:03hji2U+] PCの再インストールしてGamemaker入れなおしたら 既に使われているライセンスってはじかれてしまった… どうすれば・・・orz
177 名前:名前は開発中のものです。 mailto:sage [2008/07/12(土) 16:10:08 ID:u3M0JlwI] 私も以前、そのような状態になりましたが、 ライセンスを管理してるところ(softwrap)に問い合わせたら、無事に認証できるようになりました。 support@softwrap.com宛てに、 つたない英語でしたがこんな文面でも大丈夫でしたw ---- Dear, softwrap staff I am Japanese Game Maker7.0 Pro user. I upgraded GM7 Pro version by upgrade license key form resisted GM6 lisence key , and after a time the software reverted to Lite mode, because ,a few days ago, WindowsXP was re-installed in my PC. My license key of GM7 Pro is invalid in online activation. Please reissue it... Information: First name : xxxx Family name : xxxx E-Mail address: xxxx@xxxx.xxx.jp My license key: License Holder xxxxxxxxxxx Purchase Ref xxxxxxxxxxxxxxxxxxxxxxxxx ----- windows 再インストールもですが、GameMaker 7.0 のアンインストール後、 再インストールしてもその状態になるから注意です。
178 名前:名前は開発中のものです。 mailto:sage [2008/07/12(土) 16:20:43 ID:u3M0JlwI] あ、私はGM6からのアップグレード組みで、 上の文中にもそういうことが書いてありますので、 GM7を購入されたのなら適当にアレンジしてくださいです・・・
179 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:02:23 ID:Oo/SM1Ep] 2Dの狙撃ゲームを作っているのですがスコープをのぞいた時の画面処理に困っております。 背景を縮小した画像にし、スコープのアイコンが重なった場所だけ元のサイズに戻す、というのはどうすれば良いでしょう? そもそも画像を縮小表示出来るのでしょうか?質問ばかりで申し訳ありませんがよろしくお願いします。
180 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 21:29:15 ID:/JbdlJ3v] ビューを二つ重ねる、画面からスプライト作って縮小表示する、サーフェイス使うなど 四角い領域でよければ色々と手はあるが、丸くしたいとかだったらサーフェイス一択だな。 > そもそも画像を縮小表示出来るのでしょうか? とりあえずはバージョンによる。
181 名前:名前は開発中のものです。 mailto:sage [2008/07/18(金) 19:31:51 ID:WqsSplQ2] >>180 申し訳ありません、バージョンは6です。 出来れば丸くしたいのですが、難しそうですし四角でも構いません。 背景と同時にその背景にいる敵オブジェクトも縮小、拡大したいのです。