08/06/04 11:32:43 YZVoGHHf
Backgroundやroomにマウスクリック等のイベントを追加することはできますか?
背景画像(あるいはroom背景色の領域)をクリックした時にクリック座標を取得しインスタンスを生成するのが目的です
具体的には画面をクリックした場所に地雷を設置するというゲームを作ってます
今は背景色で塗りつぶした画像を用意しオブジェクトとしてAddEvent>Mouse>LeftButton>Code
という方法でやりたい事は実現はできているのですが上手い方法じゃないと自覚しとります
GM6未レジスト、フォーラムとHelpは読んだつもりですが過去ログは見落としてるかもしれません
101:名前は開発中のものです。
08/06/04 12:37:58 TGP/82mE
>>99
私が以前作った格ゲーのサンプルを提供してあげたいが、いかんせんPCにネット環境がない……。
格ゲー作るならそれなりに複雑な処理になるから、
ボタンが押される→キャラの状態により攻撃実行
の仕組みを作って、CPUの動作は位置によって複数の連携テーブルから適当なものを選んで行動、とかそんな感じにしなきゃ辛い。
何が言いたいかというと、私は応援してるよ、と(^^;
102:名前は開発中のものです。
08/06/04 19:59:47 JdoODmgp
格ゲーはとりあえず試行錯誤しときます。
これかもアドバイス頂けると嬉しいです。
応援ありがとうございます。
103:名前は開発中のものです。
08/06/04 20:17:36 JdoODmgp
早速質問です、すいません(-_-;)
CPの動きはプレイヤーが近くにいるとパンチするようにしたんですが、そうするとCPが永遠にパンチしてきます。
パンチのランダム性(?)てどうやるんでしょう。あとCPのプレイヤーの位置認識にxyを使ってるんですがそうすると特定の距離の時しかパンチしてきません。
104:名前は開発中のものです。
08/06/04 21:00:11 s7z6oTUx
>>100
Mouse > Global mouse event(GM6以降)
またはcontrolの中にある「If a mouse button is pressed」
>>103
あるアクションをランダムで実行したいなら「With a chance」アクション
(controlにあるサイコロの絵のアイコン)
あと、サンプルに付いてくる1945っていうシューティングを見ると
一定間隔でしか弾を撃てないようにする制御をしているので参考になるかも。
基本的に格闘ゲームは変数を使って「今キャラクタがどんな状態にいるか」
を管理するのが重要になるよ。
後半の質問は意味がよくわからん。自分と相手の距離を計算して
「100より大きくて120より小さい」とか大小判定すればいいと思うんだけど、
そういう話じゃない?
105:名前は開発中のものです。
08/06/04 23:33:38 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:名前は開発中のものです。
08/06/04 23:51:42 5xx8K1a2
AとBを同じParentに設定して、そのParentを追尾すればいいんじゃない?
107:名前は開発中のものです。
08/06/04 23:56:56 LluC3sBJ
お答えいただいたのにすいません・・・
プログラムとかが分からないので、
(主人公A ? 主人公B.x+10)
?の所に何か書き込めばいいのでしょうか?
or とかandとか入れてみたんですが駄目でした。
108:名前は開発中のものです。
08/06/05 01:30:34 Cu6N54BP
新しいオブジェクトを作る。命名「主人公の素」
主人公Aのプロパティを開いて、「Parent」の欄で今しがたつくった「主人公の素」を選ぶ。
主人公Bも同じようにParentを「主人公の素」に設定する。
さっきの式を「主人公の素.x + 10」に変更。おわり
109:名前は開発中のものです。
08/06/05 05:40:07 SxCz6ZJb
丁寧な回答
ありがとうございます!!
エラーが出ず、スクロールできました。
110:名前は開発中のものです。
08/06/06 00:51:41 J8O2ZYG8
自分も以前から台形の立体表示を
作りたいと思っていました。
テクスチャの変形が平行四辺形的な
変形になってしまうため、変形率の異なる
三角形二つの組み合わせでは不可能と
思っていたのですが…
力押しでこんなの作ってみました。
キャラや背景その他は適当です。
URLリンク(www.h6.dion.ne.jp)
キー左右で移動のみです。
映像の繰り返しパターンを1枚のテクスチャで2回設け、
それを台形にしておき、変形する。
移動時は、テクスチャ上の各点を移動させる。
ということです。
111:110
08/06/06 00:57:58 J8O2ZYG8
書き忘れました。
obj_bg_earth01が、地面の部分のオブジェクトです。
112:名前は開発中のものです。
08/06/06 11:05:29 4VD34WHe
>>110
うぉぉぉぉ……!
せっかくサンプル用意してもらったのに今PCにネット環境がないから見れない……。
……でも凄い嬉しいです。
113:名前は開発中のものです。
08/06/07 14:55:19 5IJUQrYD
>>110
キャラ素材の作りに感動しました!
3Dっぽいですけど、素材は何で作ってます?
114:名前は開発中のものです。
08/06/08 13:41:45 T6BCIG1y
クリックした瞬間に存在してる「オブジェクトA」を削除して
クリックした地点に新しく「オブジェクトA」を作成し、
Step towards pointでその「オブジェクトA」の地点まで「主人公」を移動させる。というゲームを作っているのですが
「主人公」のスプライト(GIF動画)を移動している方向によって変えるにはどうすれば良いでしょうか?
If an expression is trueで「0<=direction<=45」みたいな風にやったのですが
一番最後に書いた方向(315<=direction<=360)のスプライトに固定されてしまい何処に移動しても画像が変わりません。
解りにくい説明ですみませんが、どうかご教授お願いします。
115:名前は開発中のものです。
08/06/08 14:54:45 utQhd3oj
0<=direction && direction<=45
でも両方<=だと、たとえばdirectionがちょうど45.0の時に条件がかぶるから
0<=direction && direction<45
の方がいい
116:名前は開発中のものです。
08/06/08 16:42:58 T6BCIG1y
>>115
ありがとうございます。
その様にした所、時々横向きになるのですがやはり画像はほとんど変わりません。
この様な感じに作っているのですが
URLリンク(www2.uploda.org)
もしかして根本的な何かを間違えているのでしょうか?
再度質問で申し訳ありませんが、よろしくお願いします。
117:名前は開発中のものです。
08/06/08 17:50:32 eax+1E9y
さぁ、早くそのifのnotについているチェックボックスを外す作業に戻るんだ。
そりゃ0<=direction && direction<=45「ではないとき」なんて書き方をしてたら、
一番最後の【270~360「ではないとき」】が高確率で反映されるわな。
余談だが、0<=directionって書き方に違和感を感じて仕方が無い。
ま、問題なく動いていればいいのかもしれないけどね。
118:名前は開発中のものです。
08/06/08 17:55:53 eax+1E9y
チェックボックスを外すって何だよ俺……。
どう頑張ってもボックス自体は外せねぇだろ。
notのチェックボックスのチェックを外す、だ。
119:名前は開発中のものです。
08/06/08 20:02:45 T6BCIG1y
>>117
ウボアァアァァァありがとうございます。気付きませんでしたorz
おかげでちゃんと移動先を向いてくれるようになりました。本当にありがとうございます。
何度も何度も質問ですみませんがgifの1フレーム目から動かないのですが何か設定が必要なのでしょうか?
本当に申し訳ありません。よろしくお願いします。
120:名前は開発中のものです。
08/06/08 23:36:33 NJgDJbX1
マリオみたいなジャンプアクションは
どうすればいいのでしょうか?
たとえば走りながらジャンプ等
初心者すぎる質問で申し訳ありません
121:名前は開発中のものです。
08/06/09 00:17:01 QzRxZbxD
>>120
ジャンプアクションの要素を羅列してみる。
・空中に居ると下に落ちる
・床の上にキャラが乗れる
・左右にキーを入れると加速する。ダッシュボタンを押すと最大速度が上がる
・床に乗っている状態でジャンプボタンを押すとジャンプする。
とりあえずダッシュしながらジャンプは、ジャンプの際は横のスピードはいじらずに上にだけ速度を加えればいいと思うよ
122:名前は開発中のものです。
08/06/09 00:42:40 ekIBUZL+
>>113
みるべきところはそこじゃなす
Edgeかなにかで描いたんだろ?
123:名前は開発中のものです。
08/06/09 15:28:48 N/jbPRoy
>>120
素人の俺が考えて見たサンプルをどうぞ
URLリンク(www2.uploda.org)
中身がゴチャゴチャしてスマン。
124:120
08/06/09 20:00:05 2DlmJVHk
>>121 >>123 回答ありがとうございます
後>>123のファイルは解凍した後のファイルが読めないのですが
どうしたら読めるようになりますか?
このファイルを読み込むプログラム~と言われてしまいます
125:名前は開発中のものです。
08/06/09 20:03:20 N/jbPRoy
>>124
言い忘れてたけど>>123のはgm6で作った奴だ
126:名前は開発中のものです。
08/06/09 20:30:48 MbRvBo5s
ということもあるので使用バージョン、レジストの有無はなるべく書いてね
公式のチュートリアル(Platform Gamesってやつね)眺めるだけでも
けっこう参考になると思うんだが、あれも今はGM7用のしか置いてないな
127:名前は開発中のものです。
08/06/10 02:44:02 S3IlP6Mt
上位互換性はあったような。
互換というよりは、古verのものを新verの形式に書き直す、とかだったような気がするけど。
ファイルを直接ダブルクリックとかでは開けられないだろうから、GMから開くとかDrag&Dropとか……。
何にせよ、話が噛み合わないとどうしようもないので、情報は書いておいて欲しいもの。
128:名前は開発中のものです。
08/06/10 08:16:48 WKUtiVJV
実際5から6では殆んどエラー吐いて起動しない場合が多いよ。
6から7なら大丈夫だろうけど。
まあ567全部インストールしておけば問題ないんだろうけどね
129:名前は開発中のものです。
08/06/10 12:07:20 1Irexyd7
BGMやムービーを安易に見れないようにできる?
130:名前は開発中のものです。
08/06/10 13:37:08 WKUtiVJV
>>129
BGMやムービーを別々にして配布したいなら、拡張子を変更しつおいて、使う時だけリネームして読み込み、使い終わったら戻すって方法位かなぁ。
別々にしたい訳じゃないけど読み込みに時間かけたくない!ってのなら、6以降限定だが、Global Game SettingのIncludeで本体に含めてから実行時に展開するようにすればいいよ。
131:名前は開発中のものです。
08/06/10 14:29:23 1Irexyd7
>>130
thx
132:113
08/06/10 20:08:22 6sraZo9R
>>110
うーm。。。答えてもらえないか
スレ違いだけど、素材作りにEdge管理で行き詰まり感じてて…
でもどこに質問しにいけばいいか分からなかったので質問させていただきました。
「3D→2D素材化」って流れで作られたものに見えたんで
この行き詰まりから脱せるんではないかって希望を見てしまったんでs
133:名前は開発中のものです。
08/06/11 16:39:10 EVNflJcn
ダウンロードしてみようと思ったがyoyoに繋がらない、自分だけ?落ちてる?
134:名前は開発中のものです。
08/06/11 21:49:55 5ZX5tJO/
>>133
今は大丈夫みたいだが、どう?
135:133
08/06/11 22:29:57 ++rYAqEK
>>134
今やったらできた~どうもです
136:名前は開発中のものです。
08/06/12 00:56:25 4EAhP+NE
未レジストだから出来ない、、、。orz
137:名前は開発中のものです。
08/06/12 08:09:28 9TqDsi5l
>>136
ダウンロードが?
ダウンロードなら特に何も問題なく出来るはずだが……
138:名前は開発中のものです。
08/06/12 10:22:01 zGKrtRU4
日本ユーザーを増やして
yoyoに日本語対応してもらうのだ
139:名前は開発中のものです。
08/06/13 15:58:32 tjeMHdYO
TPSは流石に作れないよな・・・
140:名前は開発中のものです。
08/06/13 17:37:16 8tjP+W25
>>139
5.3で作られたFPSがあったから、工夫次第では未レジストでも疑似3Dで作れると思う。
海外の作品で、doomとかいうタイトルだったような
ただプレイしてて激しく酔った記憶が……
141:名前は開発中のものです。
08/06/14 11:38:27 4m4S8SwE
テスト
142:名前は開発中のものです。
08/06/15 19:59:47 n3ZqdSRd
5.3より後のバージョンって公式・非公式ともに日本語化の予定ないの?
143:名前は開発中のものです。
08/06/18 10:02:15 0+3MnSWl
GM7のsprite_add_alpha()等のアルファチャンネル関連はレジスト版のみの機能ですか?
未レジスト版ならGM7でもGM6でも大差無いのかな
144:名前は開発中のものです。
08/06/20 18:49:05 Xt39fvZ+
>>143
レジスト版だけみたい。
未レジストなら基本6と変わらないかも。
それと、6で同じ効果音が重なる場合、うまく再生されないんだけど、これって何が原因かね?
他の効果音ならどんなに重なって鳴っても大丈夫なのに、一つだけうまく鳴らない音があるんだけど……
145:名前は開発中のものです。
08/06/21 06:42:13 j/kRwP45
情けないほど初歩的な部分で躓きました
配列の長さ(サイズ)を取得する方法を教えて下さい
ヘルプとフォーラムには目を通したのですが初歩的すぎるのか見つかりません
146:名前は開発中のものです。
08/06/21 11:32:20 NtqmRukW
信じられねぇが、ないんだよそれ。<配列サイズの取得法
というか、変数を定義した瞬間、特に制限無く配列として使用できてしまうし。
サイズ情報を管理する変数を自分で用意するとかしか思いつかん。非常に面倒だが。
それか、配列として扱う論理的なオブジェクトを作って、インスタンス数を数えるとか、か・・・?
147:名前は開発中のものです。
08/06/21 12:59:26 j/kRwP45
なるほど・・・
残念ではありますが逆にスッキリいたしました
無いと分かれば割り切って強引なコーディングに踏み切れそうです
スマートに書きたいならレジストしてスタックやキューを使えということでしょうかね
勉強もかねてもう少し頑張ってみます
ありがとうございました
148:名前は開発中のものです。
08/06/21 19:29:15 S/Uv8sSk
メモリの使用量が気になってきたのですが
メモリ使用率削減のテクニック教えてもらえないでしょうか?
149:名前は開発中のものです。
08/06/22 00:34:10 3YikmJWj
前wikiのログがあったのでwikiにはっときました
150:名前は開発中のものです。
08/06/22 09:10:47 NRn4PvdD
とても困ってる事がございます。
連結された文字列の名前の変数、インデックスを作りたいと
考えております。
str ='var_'
str +='100'
//str='var_100'
//これを変数var_100として使用したい
//例えば
//SPRスプライトをvar_100に割り当てる
//sprite_assign(var_100,spr)
sprite_assign(??????,spr)
この??????が連結された文字列と同じ名前のインデックスになるような
指定をしたい場合、どうすればいいでしょう?
151:名前は開発中のものです。
08/06/22 10:21:52 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:名前は開発中のものです。
08/06/24 03:08:54 +uYxoItW
mbTextScript使ってる人って居る?
6.1で縦16横8ピクセルの半角文字を1080字程描画すると、
それだけで20FPSくらいになるんだけど、普通なのかな?
153:名前は開発中のものです。
08/06/24 04:23:32 SW9HLMt8
それは仕方ないんじゃないか?
1文字1文字スプライトから切り貼りして表示しているんだし・・・。
1080字も一度に書くとかなりの負荷なんじゃないかな。
サーフェスとか画面から見えないところで描画して、
描画したものをスプライト登録してそれを画面表示する、
とかするとよいかもね。この方法はレジスト版でしか出来ないけど。
154:名前は開発中のものです。
08/06/24 12:28:37 +uYxoItW
>>153
うーん、レジストはしてあるんだけど、肝心の描画したい物がデータリスト的な物で、
ちょこちょこ切り替えるからなぁ。
とりあえず色々試してみます。
ありがとうございましたー
155:名前は開発中のものです。
08/06/25 21:39:01 4PLXCLdL
ヤフーのフリーメールで登録できないorz
おまいらどこのフリメ使ってる?
156:名前は開発中のものです。
08/06/26 08:07:08 ZUCsxIUu
bGMで曲を流してる時にフルスクリーンに切り替えると曲が止まるのは何故だ……?
>>155
hotmail。ただし.comで。.co.jpは知らん。
157:名前は開発中のものです。
08/06/26 21:10:56 +fAgrEGQ
hoge = instance_create(0,0,objHoge);
hoge.sprite_index = "spr_" + "piyo";
こんな感じでsprite_indexを変数で指定したいのですが上手くいきません
piyoの部分は100種類ほどあり増減の可能性もあるため逐一条件分岐で書くのは避けたいです
hoge.sprite_index = 4;
と、直接indexを数値で指定するというのも考えたのですが
画像と数値の管理が面倒そうで試してません
何か良い方法ないでしょうか
158:よこしま
08/06/26 21:27:15 ls1Ls4j4
>>156
ウィンドウモードを切り替えたときに、bGMが親ウィンドウを見失うために終了していたようです。
以下の対策で解決すると思います。
1. bGM_play()スクリプトの下から約14行目をコメントアウトする。
「" -w " + string(window_handle()) + 」
↓
「// " -w " + string(window_handle()) + 」
2. ゲーム終了時には必ずbGM_close()関数を呼び、bGM.exeを確実に終了させる。
159:名前は開発中のものです。
08/06/26 23:23:46 4NwLrBZ+
>>157
execute_stringが定番だけど遅いのは覚悟すること。
名前とインデックスの対応をmapで管理する方法もある。
最初にmapに入れるところが面倒だけど
(名前に規則性があるならループで回しながらexecute_stringで可)
一度作ってしまえば後のアクセスは速い。
後はスプライト別々にするのをやめて、subimageで分けるようにするとか。
160:名前は開発中のものです。
08/06/26 23:56:05 +fAgrEGQ
>>159
ありがとうございます
execute_stringの方法で上手くできました
実行速度に関しては大丈夫そうです
余談ですが実はまだレジストしておりません
この関数ってヘルプ「リソースの変更」の項にあるのに未登録でも使えるのですね
教えて頂かなければ一生気付かなかったかもしれません
161:名前は開発中のものです。
08/06/26 23:58:49 ZUCsxIUu
おぉ、ありがとうございます。
今まで原因がわからなかったから、いっそのことオプション画面用のroomでも作ってそのroomを抜ける時に、ウィンドウモードを切り替えていたらゲームを再スタートさせようかなと思っていました。
それでもbGMがどうなっているのかが不明だったため、この方法を使ってもいいのかと悩んでいて……。
GameEndイベント用のpersistentのオブジェクトを作ろうかと思います。
ありがとうございました。
162:名前は開発中のものです。
08/06/27 11:46:16 aoPSnAYi
6.1って5.3と違って数値をINIに書き出すとおかしくなるのね……
これは困った
163:名前は開発中のものです。
08/06/27 22:07:01 IOoyzN5t
悪名高い精度バグですな。
stringで文字列化してini_write_stringで書き出すと直るよ。
164:名前は開発中のものです。
08/06/28 17:16:03 MGJMVRVB
>>163
なるほど!
でも全箇所直すのめんどいなぁ……
ぼちぼちやりますか……
165:名前は開発中のものです。
08/06/29 16:00:15 0XhC6Ln6
チャットできるようにしようと考えてみた。
get_stringではポップアップボックスが出ている間ゲームが止まるのでこれは避けたい。
ゲーム内でIMEをどうにか使えるようになれないか。
とまで考えてみて、結局解らず仕舞orz
166:名前は開発中のものです。
08/06/29 19:41:43 lhyc/F0c
オンラインゲームも作れる、と聞いたことがありますがやはり難しいのでしょうか?
マリオのような横アクション対戦ゲームを作りたいのですが・・・
167:名前は開発中のものです。
08/06/30 08:01:32 XJvv+Gn/
作るなら、共有データという一つの大きな配列にデータを書き込んだりそこから読み込んだりすればいい。
物によってはメッセージと使い分けるといいかもしれない。
とまぁGM的に作れるには作れるけど、実際にオンラインプレイできるかは別。
ポート開放が必要になるから。LAN内ならポート開放とかその他細かい設定は無しでプレイ可能。
まあ>>83が結論かな。
168:名前は開発中のものです。
08/07/03 18:30:58 1ilwX3ov
gm6ですが不思議のダンジョンとかみたいなターン制のゲームを作るにはどうすれば良いでしょうか?
主人公の移動後に主人公のオブジェクトを変更して・・・って感じだと敵が複数の場合相当長くなってしまいます。
ちなみにダンジョンの自動生成は考えてません。
169:名前は開発中のものです。
08/07/03 23:07:04 PDxRGKbt
>主人公の移動後に主人公のオブジェクトを変更して
主人公の移動後に敵のオブジェクトを変更して、と勝手に解釈した
とりあえず具体的に何がどう長くなるのか分からないけどコードは大して長くならないかと
描画処理もビュー内外で処理分ければ重くなることもないと思う
170:名前は開発中のものです。
08/07/03 23:20:15 PDxRGKbt
言うだけなのもなんなので大雑把な案
UserDefined0イベント:1ターンの行動をした時に発生するイベントとして定義
Alerm0:1ターン分の行動を見せるためのタイマー(再帰はしない)
objEnemy:全ての敵オブジェクトの親
objZako1~n:それぞれのユーザ定義イベント(UserDefined0)にターンごとのアルゴリズムを記述
だいたいの流れは
プレイヤー行動決定→全敵にUserDefined0発生→全敵が行動を決定→それぞれの行動を描画(ビュー外なら結果だけ)
→行動の結果を反映→最初に戻る
主人公オブジェクトが1ターン分の行動を決定するたびに以下のコードも実行
with(objEnemy){event_user(0);}
この時点で敵も味方も動いてないけど全ユニットの行動は決まってるので
ビュー内なら移動や行動アニメーションも見せる(Alerm0をONにしてゴニョゴニョ何かする)
UserDefined0で決定したアクションに従って移動や行動のアニメーション描画
ビュー外なら結果だけ反映(座標に直接ジャンプしたりパラメータだけ変更したり)
厳密にやるならビュー内に侵入してくるタイミングだけ多少デリケートにコーディングしないとダメ
でも面倒だからビュー外であろうが境界線の近くなら上記処理に振り分けてしまったほうが楽かも
171:名前は開発中のものです。
08/07/07 07:50:41 Er6IyJrw
軌道を描写してそれに沿ってオブジェクトを動かしたいのですがパスの使い方が今一つ理解できません。
パスの使い方を教えていただけないでしょうか。5.3です
172:名前は開発中のものです。
08/07/07 10:31:24 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:名前は開発中のものです。
08/07/07 13:12:20 0oCVVzY6
シューティングのテスト版みたいなの作ったんだけど、ここで晒してもいいですかね?
ソースはないけど……
174:名前は開発中のものです。
08/07/08 15:07:42 w93aKpMp
>>172
遅れましたがありがとうございます。
175:名前は開発中のものです。
08/07/11 15:45:47 3T+5hIa7
行き詰ってるので質問させてください。
オブジェクト自体が光っているような表現をしたいのですが
イマイチやりかたが分かりません。
AfeterEffectとかでいうグローみたいな表現がしたいです。
環境はGM7でレジストしてあります。
176:名前は開発中のものです。
08/07/12 14:05:25 03hji2U+
PCの再インストールしてGamemaker入れなおしたら
既に使われているライセンスってはじかれてしまった…
どうすれば・・・orz
177:名前は開発中のものです。
08/07/12 16:10:08 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:名前は開発中のものです。
08/07/12 16:20:43 u3M0JlwI
あ、私はGM6からのアップグレード組みで、
上の文中にもそういうことが書いてありますので、
GM7を購入されたのなら適当にアレンジしてくださいです・・・
179:名前は開発中のものです。
08/07/17 00:02:23 Oo/SM1Ep
2Dの狙撃ゲームを作っているのですがスコープをのぞいた時の画面処理に困っております。
背景を縮小した画像にし、スコープのアイコンが重なった場所だけ元のサイズに戻す、というのはどうすれば良いでしょう?
そもそも画像を縮小表示出来るのでしょうか?質問ばかりで申し訳ありませんがよろしくお願いします。
180:名前は開発中のものです。
08/07/17 21:29:15 /JbdlJ3v
ビューを二つ重ねる、画面からスプライト作って縮小表示する、サーフェイス使うなど
四角い領域でよければ色々と手はあるが、丸くしたいとかだったらサーフェイス一択だな。
> そもそも画像を縮小表示出来るのでしょうか?
とりあえずはバージョンによる。
181:名前は開発中のものです。
08/07/18 19:31:51 WqsSplQ2
>>180
申し訳ありません、バージョンは6です。
出来れば丸くしたいのですが、難しそうですし四角でも構いません。
背景と同時にその背景にいる敵オブジェクトも縮小、拡大したいのです。
182:名前は開発中のものです。
08/07/18 21:13:39 Qaaz25IZ
ではお手軽なところでビューを使う方法。
・View 0
ビューの大きさ(View in roomのWとH)を画面の表示領域より大きくする。
ビューポート(Port on screen)は画面と同じ大きさ。
これで全体が縮小表示される。
・View 1
ビューポートの大きさを画面より小さくする。
ビューはビューポートと同じ大きさ。
これで画面の一部が元のサイズで表示された状態になる。
あとはビューの位置(view_xview[1], view_yview[1])と
ビューポートの位置(view_xport[1], view_yport[1])を
スコープに合わせて動かしてやればいい。
183:名前は開発中のものです。
08/07/23 14:55:27 JbMdXvhr
Unexpected error occured when running the game.
以前からこのエラーに悩んでます。
使用しているのはGamemaker6.1Aです。
毎回製作を進めるとこのエラーが起きる人がちらほら出てきます。
自分の環境では起こったことが無く、また自分よりもスペックの高い人でも
このエラーが起こることもあるようで、原因が特定できずに困っています。
184:名前は開発中のものです。
08/07/23 18:57:15 7Xl6aY+A
>>183
原因不明だからこそUnexpected errorなわけだけれども
経験的に言うと、でかいグラフィックスがあるとかでメモリ不足になっているか
Createイベントなどゲーム開始前のところにエラーがあるかのどっちか。
環境によって出たり出なかったりということだと前者の可能性が高い。
もしそうだったら極力Preload外すとか、外部リソース使うようにしてみたらどうかな。
185:名前は開発中のものです。
08/07/23 19:03:17 JbMdXvhr
外部にデータを置いてreplaceさせた方がいいかなぁ。
うーん、でもpreloadは全部外してあるし、
自分のPCのメモリは1.5Gなんですが、
2G超のPCでもエラーが起きているケースもある模様・・・悩。
186:名前は開発中のものです。
08/07/23 23:25:06 6M8uaVJP
・インスタンスの生成が無限ループになってる
・変数の値の計算が異様に大きい数値になったりしている
・インスタンスを生成時、同時に破棄の命令もしている
・生成時に衝突イベントでごにょごにょ
とかの時でも原因不明のエラーがよく出るね。
シューティングでホーミングのショットを撃っている時にもなった。
187:名前は開発中のものです。
08/07/26 18:51:42 3aZInE48
質問なんですが、衝突した相手を今の速度のまま移動させるっていうのはそうすればいいんでしょうか?
ドキュメント見る分にはselfにチェック入れればいいみたいなんですが、より良い速度で自分がかっ飛んでいってしまうのです・・・。
URLリンク(www1.axfc.net)にアップしてみましたが、画像が選り抜きの流用なので、なので、違反なら削除します。
どうしたものでしょうか・・・
188:名前は開発中のものです。
08/07/26 19:48:55 3aZInE48
ごめんなさい、とんでもない日本語ですね。
要はパンチした相手を吹き飛ばしたいのです。
URLリンク(www1.axfc.net)
エラーがあったので修正しました。一応説明するとボタン3で腕生成、ボタン1押しっぱなしでチャージした速度で腕が斜めに飛んでいきます。
パスはyoyoです。
189:名前は開発中のものです。
08/07/27 12:30:50 jZNgq52V
Collisionイベントの中では衝突した相手はotherで表される。
相手を吹き飛ばすには、自分のスピードを相手に与えてやればいい。
自分側のCollisionイベントでやるなら
other.hspeed = hspeed;
other.vspeed = vspeed;
相手側のCollisionイベントでやる場合は立場が入れ替わる(自分がotherになる)から
hspeed = other.hspeed;
vspeed = other.vspeed;
のようになる。
190:名前は開発中のものです。
08/07/28 00:21:09 qT4QHlYG
LINUX版ねえの??
191:名前は開発中のものです。
08/07/28 20:06:10 Q9pdWDQ9
>>189
おおーっ!!ありがとうございます!!
オブジェクト別に設定しなければならないのですね。
stepイベントでcheck コリジョンを使ってやってみたら反応なしでした・・・。
192:名前は開発中のものです。
08/07/28 20:21:36 OrZq3/Gb
>>189じゃないけど、これはオブジェクト別というかどちらか片方だな。
要は、「殴った相手を吹っ飛ばす」とするか「殴られたら自分が吹っ飛ぶ」とするか。
どちらも同じ結果が出る。つまり片方で十分。別に両方やってもいいけど、片方が無駄になるよね。
193:名前は開発中のものです。
08/07/28 20:23:53 OrZq3/Gb
何という絶望ID
194:名前は開発中のものです。
08/07/28 21:54:47 uk2OCtlG
質問があります。
GamaMakerで外部のファイルを読み込むにはどうしたらいいのでしょうか?
GameMakerのver7です。日本語版のver6のヘルプを見て、<file_text_open_read(fname)>
を色々いじってみたのですが、できませんでした。
またBulletML4GM.DLLというプラグインを使ったことのある方がいましたら、
BML_LoadBMLFileで行うBulletMLファイルを読み込むという方法を教えてください。
195:名前は開発中のものです。
08/07/31 00:13:59 eckrADRs
>>182
遅くなりましたがありがとうございます。
View0とView1の設定は出来ました。
ですが(view_xview[1], view_yview[1])と(view_xport[1], view_yport[1])というのをどうすれば良いのか分からないのです。
スコープのオブジェクトに関する何かの座標に入れるのでしょうか?
申し訳ありませんが何方か教えては頂けませんでしょうか
196:名前は開発中のものです。
08/07/31 00:58:45 t+mxlfep
>>195
とりあえずスコープの座標と同じにして動かしてみて
そうすれば何となく仕組みがわかるから適当に+αして調整する。
基本的にxviewとxport、yviewとyportはそれぞれ同じ値にしとけばいい。
>>194
file_text_open_readが返すIDをちゃんと使ってる?
一般的にはこんな感じのコードになる。
file_id = file_text_open_read(...)
while (!file_text_eof(file_id)) {
text = file_text_read_string(file_id);
file_text_readln(file_id);
}
file_text_close(file_id);
197:195
08/07/31 01:25:05 eckrADRs
>>196
レスありがとうございます。
もしかして(view_xview[1], view_yview[1])という入力欄があるのでしょうか?;
198:名前は開発中のものです。
08/07/31 01:48:43 t+mxlfep
いや、コードで。
view_xview[1] = x;
view_yview[1] = y;
199:195
08/07/31 02:14:47 eckrADRs
何度も何度もすみません・・・
此方低脳な物で・・・いまいちどういう事だか理解出来てません;
URLリンク(www.uploda.org)
この様になっているのですが座標指定が解らず適当な事をしております
とりあえずオブジェクトのコードで
view_xview[1] = x;
view_yview[1] = y;
を入れてみましたが間違ってるようです
200:名前は開発中のものです。
08/07/31 22:01:23 YwgqYDQL
>>196
有難うございます。
読み込むファイルは作っているゲームと
同じところに保存しておけばいいんですか?
201:名前は開発中のものです。
08/07/31 22:13:33 t+mxlfep
>>199
流れてて見えん。
サンプル作ってみたけど座標変換が案外めんどくさい件について
URLリンク(www1.axfc.net)
202:名前は開発中のものです。
08/07/31 23:15:28 eckrADRs
>>201
おお、ありがとうございます。
まさに私が求めていた物です。何度も何度も本当にありがとうございました。
203:名前は開発中のものです。
08/08/02 21:26:50 PyhBkTjg
横スクロールアクションを作っています。
悪魔城ドラキュラのように、しなる鞭を表現するにはどうすれば良いでしょうか。
204:名前は開発中のものです。
08/08/04 02:57:32 vO+Y6NBD
始めてみようと思うのですが、6と7の違いってどれほどのものでしょう?
特に考えずに7にしちゃっていいでしょうか。
過去の遺産を活用するため、6にしといたほうがいいでしょうか。
205:204
08/08/04 03:21:04 vO+Y6NBD
とりあえず7をインストール。
URLリンク(gamemaker.main.jp)
を作ってみた。
昔のとは言い回しがちょこちょこ違うけど、どれも問題なく発見できるな。
206:194
08/08/04 17:13:18 MNtmNm76
やっぱりファイル読み込み方がわからないです。
(fname)にファイル名を入れたんじゃだめなんですか?
それと読み込むファイルはどこに保存しておけばいいのでしょうか?
207:名前は開発中のものです。
08/08/04 21:33:43 hTqrWaBF
>>206
文字列は引用符でくくる
× file_text_open_read(test.txt)
○ file_text_open_read("test.txt")
そういう問題でなかったら、何をしてどううまくいかないのか
きちんと説明してくれないと困るよ。
実際に使ったコード貼るなりエラーメッセージ貼るなり。
ファイルの場所は、原理的にはパスちゃんと指定すればどこでも可。
パスって何?というレベルだったら素直にゲームと同じ場所に置いとけばいい。
>>204
5→6でけっこう大きく変わってるけど、6→7はほぼ完全互換。
大きなところでは、6であった精度バグが7では直ってる。
(かわりに再現性低い正体不明のバグがいくつか出てるみたいだけど)
細かいところで色々強化されてるし、総合的には7でいいと思う。
208:206
08/08/05 14:08:09 7PHkksrL
有難うございます。
引用符でくくってませんでした。
それと説明が下手ですいません。
以後気をつけていきたいと思います。
209:名前は開発中のものです。
08/08/06 06:59:52 e0Lc+IfT
ドロゥで描いた図形やオブジェクトのスプライトを「最も前面」に表示するにはどうすれば良いでしょうか?
ほかのオブジェクトやドロゥ、ビューよりも前に表示したいのです。
210:209
08/08/06 07:00:36 e0Lc+IfT
ちなみにGM6です
211:206
08/08/06 17:33:23 q0Kkjdvg
ゲームを起動しようとすると「Unexpected error occured when running the game」
というエラーが出てしまいます。
エラーの原因と解決法がわかる方教えていただけませんか?
URLリンク(www1.axfc.net)
212:名前は開発中のものです。
08/08/06 21:12:23 8PxMb9eX
>>209
オブジェクトのdepthをうんと小さくする。
depthは負の値にもできるので-999999とかにするとよい。
「ビューよりも前」ってのは意味がわからんけど
複数のビューを使ってるなら、番号の大きいビューが上に重なって描画される。
>>211
よくある要因については>184参照。
ゲーム開始前にエラーが出てるケースなら、
最初のルームの前にダミーのルームを一つ入れてやることで
本当のエラーメッセージを確認できる。
なんかtekiオブジェクトが呼んでるBML_localUPDATEでエラーが出てるから、
初期化の順番の問題ではないかな。
たぶんtekiの初期化(BML_SetBMLCtrl)が
kanriの初期化(BML_Init)より前に呼ばれてるので失敗してる。
213:212
08/08/06 21:21:49 8PxMb9eX
追記しとくと、初期化処理については
・複数のオブジェクトがCreateイベントを持っている場合、
どれが先に実行されるかは不定
・Game StartやRoom StartはCreateより*後*に実行される
ということに注意する必要がある。
今回のケースだと、tekiを最初からルームに配置せず
他のオブジェクトから時間を置いて生成させればいいと思われる。
一般的には、タイトル画面を作っておいて
BML_Initみたいな「他の何よりも先に必要な初期化」は
タイトル画面で済ませてしまうというのが確実。
214:209
08/08/07 00:10:10 JeoCPzcW
>>212
ビューよりも前というのは現在作ってるゲームではビュー0の中にビュー1とビュー2を表示させてます。
ビュー2の方はズームで表示させてるので普通のオブジェクトはそこを通過するとズームされてしまいます。
ですのでそのビュー2よりも前面に、つまりズームの影響を受けないオブジェクトを作りたいのです。
説明が下手で申し訳ありません。
215:名前は開発中のものです。
08/08/07 02:02:35 ED5p3ZS0
上にもあるように、ビューは番号の大きいものほど上に重なって描画される。
その状況だと、もう一つビューを作って重ねるしかないんじゃないかな。
ルームを広げて、余った領域をビュー3用の内容として使うとか。
216:209
08/08/07 09:28:36 JeoCPzcW
>>215
私は>>195さんじゃ無いのですが、勝手に>>201さんのサンプルを弄らせて貰ってるのでいまいちビューの使い方に慣れていません。
ルームの一部分を表示してる様なのでルームの大きさを弄ってみたりしたのですがどうも上手くいかず・・・。
こんな感じなのですがob_2が中央付近の四角内でも拡大されない様にしたいのです。
URLリンク(www1.axfc.net)
217:名前は開発中のものです。
08/08/07 12:57:56 ED5p3ZS0
>>216
ob_2が見当たりませんぜ旦那
特定のオブジェクトだけ拡大されたくないなら、逆にそいつを縮小描画する手もある。
drawイベントの中で
if (view_current == 2) {
//draw_sprite_extで縮小描画
}
else {
//draw_spriteで普通に描画
}
218:名前は開発中のものです。
08/08/07 17:21:05 JeoCPzcW
>>217
申し訳ありません、ファイルを間違えてしまいました。
URLリンク(www1.axfc.net)です。
それですとifの時は全体が縮小されてしまうのでは無いでしょうか・・・。
触れてる部分のみを縮小させる事も出来るのでしょうか?
219:名前は開発中のものです。
08/08/07 21:50:47 ED5p3ZS0
>>218
Drawイベントは各ビューごとに1回ずつ呼び出される
(どのビューに対して呼び出されたかはview_currentでわかる)。
そして、どこに描こうがビューの領域の内部だけが実際に画面に転送される。
自分のスプライトしか描画してないんだから、全体が縮小されるなんてことにはならない。
まあ論より証拠ってことで、ob_2のDrawイベントで
if (view_current == 1) {
draw_sprite_ext(sprite_index, image_index, x, y,
(view_wview[1] / view_wport[1]) / (view_wview[0] / view_wport[0]),
(view_hview[1] / view_hport[1]) / (view_hview[0] / view_hport[0]),
0, c_white, 1);
}
else {
draw_sprite(sprite_index, image_index, x, y);
}
ってやってみ。
220:名前は開発中のものです。
08/08/07 21:57:29 ED5p3ZS0
補足、実際にやりたいことは「カーソルがビューの境界にある時に
両方にまたがって描画されるようにしたい」ってことだろうけど、
ビューごとに座標系が違うからxとyも別々に管理する必要がある。
Drawイベントの頭で
x = window_view_mouse_get_x(view_current);
y = window_view_mouse_get_y(view_current);
と置き換えてやればいけるかな。丸め誤差の関係で微妙にふにゃふにゃするけど。
221:名前は開発中のものです。
08/08/08 03:41:55 t78+5+2+
>>219,220
ありがとうございます。
色々と試してみましたが「draw_sprite_ext(sprite_index, image_index, x, y,」で毎回エラーが出て起動出来ないのです。
コードの意味も良く分かってないので直しようが無く・・・
222:名前は開発中のものです。
08/08/08 12:16:04 9r+m0jPt
エラーが出てるならエラーメッセージを(ry
ヘルプ見ればわかるけどそれってレジストしてないと使えない関数だから。
エラーメッセージもそう言ってない?
もしレジストしてないんだったら、やっぱりビュー重ねるしかないと思う。
ルーム広げるとおかしくなるって言ってたけど、コードの中で使ってる
room_widthとroom_heightはそのままルームの大きさだから
実際に使いたい領域の大きさに合わせて置き換えてやる必要がある。
あと、背景を指定してると当然下にきたビューが塗り潰されちゃうから
背景はなしにしておいて、別のオブジェクトに必要なビューだけ
draw_background_tiledで背景を描画させるといい。
223:206
08/08/08 22:55:06 Dp8hyxp4
遅れてすいませんが
有難うございます。
224:名前は開発中のものです。
08/08/13 16:38:52 9U93GJPn
>>192
ありがとうございます。
それにしてもアクション作るのは大変ですね……埋まらず歩くのがいまだに無理です
gamemakerのスプライトエディターが実に便利ですね。痒いところだけ手が届くみたいな。
ものが伸びる動きを考えてみました。
URLリンク(www1.axfc.net)
のpliiiです。(キーワード・yoyo)
vmissでは下キーや上キーでロリータがミサイルを打ちますがそれだけです(笑)
生暖かく見守っていただきたくて。ちなみにvmissはproじゃないと動かないと思います。
ところで質問なんですが自分に重なっているオブジェクトの、重なっている範囲だけ透明にする、色を変えるっていうことはできますかね?
ヘンな日本語で申し訳ありません。あ、自分は7のproを使っています。
225:名前は開発中のものです。
08/08/14 01:58:12 OGCepjkd
描画APIとしてOpenGL使えないのか?
226:名前は開発中のものです。
08/08/14 22:09:11 y+Gl/YHW
うっわ今気づいた……ペアレント設定スゲエ便利……
うわあ・・・・・・・・・・かなり時間無駄にしてたきが・・・うわあ・・・・
227:名前は開発中のものです。
08/08/14 22:10:41 SEYmkdw0
ぺあれんと設定?
どんな感じなのかkwsk
228:名前は開発中のものです。
08/08/14 23:19:00 SyKT2EHY
このソフトを使ってこれからゲーム作ろうと思うのですが、
バージョンはどれがいいのでしょうか?
パソコンでゲームを作った事はありません。
やっぱり日本語化できる5,3Aがいいでしょうか?
229:名前は開発中のものです。
08/08/14 23:59:01 fWCjSQKb
>>228
最新バージョン用の日本語辞書ファイルがこのスレにあがってたよ
230:名前は開発中のものです。
08/08/15 01:40:43 YYg607kj
Linuxの、diff -u > に気づいたときと同じ衝撃を味わう
パッチ作成、それまで手書きだったからな
まさかdiffで簡単にできるとは
231:名前は開発中のものです。
08/08/15 14:49:00 05Tah5Zi
>>229
レスどうもです。
今このスレ全部見てきたんですが・・・
最新バージョンって7,0ですよね?
探しても見つからないです・・・
どこにあるのでしょうか?
232:名前は開発中のものです。
08/08/15 15:15:52 oWA1flsm
ゲーム中にゲーム画面に日本語を表示する事は出来るのでしょうか?
英語でしか表示出来ず、今まで文字毎のスプライトとオブジェクトを作って表示してたのですが
スプライトとオブジェクトの数が凄い事になってしまいました。
233:名前は開発中のものです。
08/08/15 21:17:31 b4foDt54
>>232
そんな時こそ非公式情報サイトで配布してる日本語描画スクリプトですよ
234:名前は開発中のものです。
08/08/16 15:12:50 phIiQvcL
gmlで衝突相手を判別するのはどうすればいいんでしょうか?
弾を跳ね返す盾をチュ食っているのですが、
あらかじめグローバル変数を決めて、
instance_positionでぶつかってきたオブジェクトの速度を調べ、グローバル変数に代入して
一定以上ならとび道具として速度を反転させる、というつもりで掻いてるのですがうまく言ってるのかどうかもわかりません。
あと大砲とか撃ったときの反動ってどういう現し方がありますかね?
自分はアラームで速度を半分にして反転させて……というのを繰り返してやってるんですが……あんまりスマートじゃないですよね?
235:名前は開発中のものです。
08/08/16 17:05:03 59E6GChr
衝突判定はAddEvent > Collision
衝突相手はotherで参照できる(ただしCollisionイベント内のアクションでのみ)
反動の件はイマイチやりたいことが理解できん
撃った反動で射撃方向とは逆方向に砲身が吹っ飛んだ後、ゆっくり元の位置に戻るってことかな
読んだ感じだと反動というより振動って感じだろうか
それと余談だけどゲーム設定などを除いてグローバル変数は極力使わない方がGMっぽいかもよ
もともとのオブジェクト指向的な作り方を徹底した方が色々と管理しやすいと思う
具体的には
×神の視点に立って弾が跳ね返るのを見守る→ぶつかったらボールの方向を変えてやる
○弾オブジェクトに「盾に衝突する」とか「跳ね返る」という振る舞いを教えておく→あとはボールに任せる
○盾オブジェクトに「弾が衝突する」とか「跳ね返す」という振る舞いを教えておく→あとは盾にまかせる
3番目のは他オブジェクトのプロパティを弄ることになるから少し気持ち悪いけど1番目のよりは分かりやすい
HSPとかBasicの経験が長い人なら逆に1番目の方が分かりやすいかもしれん
236:名前は開発中のものです。
08/08/20 18:29:52 iPH66y54
あるレイヤーに置いたタイルをみんな同じようにアニメーションさせる、って出来ないかな……
RPGの水面みたいな。
237:名前は開発中のものです。
08/08/20 19:25:06 Rn6yFU9D
・別々のレイヤにタイルを置いといてtile_layer_show/hideで切り替える
(手動で同じ場所にタイル配置するのが大変なら、
ルーム開始時にコードでコピーする手がある)
・タイルが使っているイメージ自体をbackground_assignで入れ替える
(荒技だしパフォーマンス的にもおすすめできない)
・あきらめてスプライト+オブジェクトを(ry
ざっと思いつくのはこんなところかな。
238:名前は開発中のものです。
08/08/20 19:43:07 iPH66y54
>>237
アニメーションが20枚もあるんで、やはり最後の方法しかないかな……。
ありがとうございました!
色々試してみます
239:名前は開発中のものです。
08/08/21 12:45:05 G8dr1p1s
>>233
遅くなりましたがありがとうございます。
こんな便利な物があったのですね
240:名前は開発中のものです。
08/08/22 01:37:31 OJ1IYSd5
>>236
変数の計算用のオブジェクト
{
global.image_num+=1
if global.image_num>20{global.image_num=0}
}
水面のオブジェクト
{
image_index=global.image_num
image_speed = 0
}
こんな感じで出来そうだけどどうだろう
241:名前は開発中のものです。
08/08/22 04:20:26 mbzREpFo
>>240
オブジェクトで描画する分には問題ないので……
わざわざありがとうございます
242:名前は開発中のものです。
08/08/22 18:34:03 M3lU0P0b
このソフトで作られたフリーゲームのBGMを取り出したいんだけど
保存したexeを展開したりとかできたりする?
243:名前は開発中のものです。
08/08/23 03:36:04 CfFt4xoC
>>242
そんな事は止めて下さい
244:名前は開発中のものです。
08/08/23 20:25:33 KXs72kwh
>>242
基本的に、データを抜き出してどうこうっていうのはご法度。
245:名前は開発中のものです。
08/08/24 17:57:02 MJZApYif
キャラ毎にライフ設定は出来ないのでしょうか?
各キャラにライフを設定して常に各キャラの下にバーを表示して起きたいのです。
246:名前は開発中のものです。
08/08/24 19:27:30 wkT+Zen9
GMver7の日本語化ってまだできないんでしょうか?
247:名前は開発中のものです。
08/08/24 21:17:25 T5dkUX6n
>>245
自分で答えを言ってる!
オブジェクトごとにライフを設定すれば良いだけよ
まずCreateイベントに
MAX_HP = 100
hp=random(MAX_HP)
//普通は体力満タンで生まれるだろうけど
//今回はサンプルということで100以下のランダムな値をいれとく
次にDrawイベントに
draw_sprite(sprite_index, image_index, x, y)
//手動でスプライトを表示する
draw_set_color(c_red)
//描画色を赤に設定
draw_rectangle(x,y-10,x+sprite_width,y,false)
//スプライトの幅と同じ長さの赤い棒を描く
draw_set_color(c_green)
//描画色を緑に設定
draw_rectangle(x,y-10,x+sprite_width*life/MAX_LIFE,y,false)
//緑の棒を描く。棒の長さは、スプライトの幅×現在HP÷最大HP
さらにちょこっと工夫すれば色々な表現ができるよ
棒の長さを一瞬で変えるんじゃなく、アニメーションさせて伸ばしたり縮ませたり、とか
格ゲーみたいに直前に食らったダメージの部分は違う色にする、とか
普段は非表示でHPが増減した時だけ数秒だけ表示する、とか
248:名前は開発中のものです。
08/08/24 21:47:18 MJZApYif
>>247
ありがとうございます。
GM6なのでコードとかは良く分からないのですが・・・頑張ってみます
249:名前は開発中のものです。
08/08/24 22:35:27 T5dkUX6n
GM6でも7でも5.3でもGMLというスクリプトを使ってゲームを作ることができます
もちろんGameMakerはマウスでアクションを選ぶだけでもゲームは作れます
(例えば上のレスの内容はVarableアクションやDraw系アクションを使えば同じことができます)
なので無理に使う必要はありませんが簡単かつ便利なので少しずつ覚えていくと後々役に立ちます
GMLは比較的オーソドックスな言語なので将来他のプログラムで製作する時にも理解の助けになると思います
はじめは教材やサンプルが少なくて泣けてくると思うけど頑張れ!
250:248
08/08/25 06:32:19 bHYCWqjA
>>249
なんとかHPを表示する事が出来ました。本当にありがとうございます。
二度も申し訳ないのですが敵と当たった時に誰のライフがどらくらい減るか、というのはどうすれば良いのでしょうか?
251:名前は開発中のものです。
08/08/26 19:09:24 8PREyaa3
格闘ゲームみたいなキャラクターセレクト画面を作りたいのですが
セレクトしたキャラクターのオブジェクトを戦闘用の別ルームに出現させるにはどうすれば良いでしょうか?
キャラクターセレクトのルーム内のオブジェクトをキャラデータ以外消去して
セレクトマップにマップを構成するオブジェクトを直接置いて行く・・・という風なのならなんとか出来たのですが
それだと物凄く面倒で新しく追加するのがとても大変です。
252:名前は開発中のものです。
08/08/26 20:42:28 KqN2Dkl3
>>250
既に解決してましたらスルーしてください
上の方で書いたオブジェクトに防御力と攻撃力を追加し衝突するとダメージを受けるようにしてみます
まずCreateイベントに追加(7とか18って数字は適当に変更してOK)
bougyo=7
kougeki=18
あとはCollisionイベントにHPの増減を記述します
例1.敵と衝突した時に、自分のHPが18減る
hp = hp - 18
例2.敵と衝突した時に、相手の攻撃力の分だけHPが減る
hp = hp - other.kougeki
例3.敵と衝突した時に、相手の攻撃力と自分の防御力の差だけHPが減る
hp = hp - max(0, (self.bougyo - other.kougeki))
例4.敵と衝突した時に、相手のHPが30減る
other.hp = other.hp - 30
1行だけのコードなら、controlタブにあるVariablesアクションを使っても同じことが出来ます
GM付属のサンプル(例えば1945.gm6)でも機能説明ということでcontrolタブのアクションだけで作ってますね
253:名前は開発中のものです。
08/08/26 21:06:11 KqN2Dkl3
>>251
単純にグローバル変数を経由して別ルームに情報を渡すというのはどうでしょう
例えば
自キャラの識別番号は「global.plyaerID」という変数に格納
敵キャラは「global.enemyID」という変数に格納しときます
もちろんこれらはセレクト用のルームでプレイヤーが自由に変更できるようにしときます
戦闘ルームにはRoomCreatorというオブジェクトだけを配置しておきます
RoomCreatorはルーム開始時など任意のタイミングで上記のグローバル変数を参照してキャラクターを生成します
// playerIDが1ならガイル、7ならダルシムを生成
if(global.playerID==1){instance_create(0,0,obj_GAIRU)}
if(global.playerID==7){instance_create(0,0,obj_DARUSIMU)}
その他にも戦闘ルームの背景画像やBGMのセレクト状況なども渡せるようにすれば変更や管理が楽になるかと思います
これらはRoomのCreationCodeでも可能かもしれません
ただし管理の容易さや再利用性などを考えるとルーム管理オブジェクトを別に作った方が便利そうです
254:名前は開発中のものです。
08/08/26 22:53:57 8PREyaa3
>>253
ありがとうございます。
つまりキャラアイコンをセレクトした時、変数に任意のキャラ識別番号を入れて
他ルームで識別番号によって呼び出すオブジェクトを変えるという感じでしょうか?
難しいですが大体分かるような気がします。
変数はルームを越えても大丈夫なんですね
255:名前は開発中のものです。
08/08/26 23:05:57 3+A0dz+L
というか、起動してから消すまでずっと使えるメモリとしてグローバルという概念がある
256:251
08/08/27 18:07:00 JyCTdSQ7
アイコンをセレクトしたイベントで
コード「global.plyaerID=1」と入れたのですが
他ルームで「if(global.playerID==1){instance_create(20,10,OB_1)}」のようにしたのですが
ルーム移動した瞬間にエラーが出てしまいます。
また、「global.plyaerID」というのもコードの一種なのでしょうか?
「global.plyaerID2」みたいにしてはいけない物なのですか?
257:251
08/08/27 18:13:46 JyCTdSQ7
なんか普通にプレイヤーのスペル間違ってました。ありがとうございました。
258:248
08/08/28 23:55:55 Q7MQ5kTN
>>252
遅くなりましたが分かり易い説明ありがとうございました。
これは簡単に色んなパターンが楽しめて良いですね。
259:名前は開発中のものです。
08/09/04 22:36:49 4hJjzvVJ
GMphysics使ってる人います?
5のサンプルがうまく動かないんですよね……
記述をみるかぎりポリゴン作るのがめちゃくちゃ楽そうなんですけど。
PCのスペック不足は自覚しているので、もし4より格段に便利ならPC買い換えようと思ってるんですけど……
どうでしょうか?
260:名前は開発中のものです。
08/09/08 07:25:08 VEQWn8iA
なんか、GOTOと同じで
グローバル変数を使うのは悪いこと!
みたいに教育受けてきた者は
グローバル変数にはアレルギーがあるだろう
261:名前は開発中のものです。
08/09/11 19:18:27 px4WAX7A
標準のセーブ機能って、scriptいじってからロードすると読み込めなくなったりするけど、
RPG等のセーブにも耐えられるものなのだろうか……
262:名前は開発中のものです。
08/09/12 14:57:50 WTW/QyVX
ファイナルファイトのような横スクロールアクションを作るのは難しいですか?
素材などの作成時間は除いたとして
263:名前は開発中のものです。
08/09/12 16:36:54 Es/bcu2J
>>262
素材の制作を考慮しないのなら、基礎を組むのにはあまり時間かからないと思う。
でも、攻撃のあたり判定や、敵の吹っ飛び方、攻撃の連携など難しい所もいくつか。
264:名前は開発中のものです。
08/09/13 21:33:52 pOLwDEz8
STGで自機の周りを回るオプションを作ろうと思い
回るところまでは出来たのですが
オプションが2つの時は180度あけて、3つの時は120、4つの時は90度
とゆうように自機の周りのオプションの間隔を均等にするには
どうしたらいいのでしょうか?
265:名前は開発中のものです。
08/09/13 22:17:09 y3l90inF
増える度にオブジェクトを変えるとか
266:名前は開発中のものです。
08/09/14 00:18:40 gN9mQ7cX
N個目のオプションの角度=N*360/(オプションの個数)
ここからがんばれ
267:名前は開発中のものです。
08/09/14 11:14:40 A6sMZm51
有難うございます。↑の方法についてなのですが
オプションを4つ作りたい場合は
4種類のオブジェクトを作る必要があるんですか?
それとも1種類のオブジェクトを4つ作るだけでできますか?
268:名前は開発中のものです。
08/09/14 12:29:14 gN9mQ7cX
普通はオブジェクト1つ。敵が100機出るからってオブジェクト100個作らんでしょ?
各オプションに自分が何番目のオプションか教えてやる方法もあるけど、
このケースだと配列使って自機に全部管理させた方が楽。
今どうやっているのかわからんからあくまでも一例だけど
/* Createイベント */
count = 0; // 今あるオプションの数
angle = 0; // 回転の管理用
/* どこかのイベント(オプション1個増やす) */
option[count] = instance_create(x, y, obj_option);
count += 1;
/* Stepイベント(オプション回す) */
angle += 1; // 適当に
for (i = 0; i < count; i += 1) {
option[i].x = x + lengthdir_x(100, angle + i / 360 * count);
option[i].y = y + lengthdir_y(100, angle + i / 360 * count);
}
269:名前は開発中のものです。
08/09/14 13:21:59 y4Lx9aKy
あまりメリットは無いけどあえてオプション自身にやらせると・・・
1.生成時にinstance_numberで自分が何個目かを記録
2.ついでに現在オプションが何個あるかを把握する
3.上で把握した数を全てのオプションに教えてやる
4.現在のオプション数、自分が何個目か、この2つの情報から位置を修正する
修正のタイミングや必要になる情報は同じだけど
3と4の「全てのオプション」を制御する部分が268氏の方法より面倒
・コード記述欄の右上チェックボックスでObjectを選んで全てのオプションインスタンスに通知する方法
・オプションが増減するタイミングでユーザ定義イベントを発行して全ての(ry
・ヘルプに載ってる方法、つまりinstance_id配列を使って全ての(ry
自機側は全く管理しなくて良い代わりにオプション側が同じかそれ以上に面倒そう
しかもどの方法もオプション自身のアクションとして記述するとややこしくなる
と、色々考えてみたけどやはり268氏のやり方が管理しやすいです
270:267
08/09/14 16:35:01 A6sMZm51
やってみたところ
オプションの間隔が均等にならずにオプション同士が
くっついてしまいます。均等にするにはどうしたらよいのでしょうか?
URLリンク(www1.axfc.net)
↑実際のファイルをUPしました。
271:名前は開発中のものです。
08/09/14 18:31:03 gN9mQ7cX
掛け算と割り算微妙に間違えてたわ。>266の式が正解。
272:267
08/09/14 23:14:48 A6sMZm51
有難うございました。
おかげさまで成功しました。
273:名前は開発中のものです。
08/09/15 09:18:36 +qgjZ47x
フォントを見てみるとほとんどの英語フォントがArialと同じフォントになっているのですが
これはどういうことでしょうか??
274:名前は開発中のものです。
08/09/15 10:20:24 jDWWXeXP
>>273
ゲームに使われてるフォントのことなら
GM6以降ならレジストしてユーザ製拡張機能を導入しないと日本語表示はできませんぜ
コードエディターに使うフォントということなら
なぜか一部のフォントが使えずにGMデフォルトのArialが選択される
例えばLucidaSansUnicodeは反映されるけど、LucidaConsoleは反映されない
これはレジストしても変わらん
275:273
08/09/15 10:34:38 +qgjZ47x
gm7proで普通にフォント作ろうと例えばfont1を追加して
フォントの選択画面でいろいろ試してみてもほとんどの英語フォント
はarialとまったく同じフォントになってしまいます
(wordやexcelではちゃんと使えるフォント)
276:名前は開発中のものです。
08/09/15 11:41:06 jDWWXeXP
>>275
すまん伝わらなかったかな
レジストするだけじゃ表示できないよ
日本語表示DLLの詳しい導入方法や使い方はwikiを読んでみて
277:名前は開発中のものです。
08/09/15 12:05:43 H1a8iGGW
日本語フォント表示したいわけじゃなくて、たとえばComic Sans MSとか選んでも
フォントに反映されない(Arialの字体のまま)ってことじゃないの?
上で言ってる「LucidaConsoleは反映されない」というのが
フォントの選択でも起こっていると。
この件で文句言ってる人あまり見ないから、環境によるのかもしれないけど。
たぶんフォント指定する際にCharsetがSHIFTJISあたりになってるから
日本語文字の含まれるフォントしか反映されないと思われる。
GM側の問題だからバグ報告あげて直してもらうか、
自分でスプライト化して表示するしかないんじゃないかな。
上で紹介されてる日本語表示DLLでもできると思うけど。
278:名前は開発中のものです。
08/09/15 12:10:54 +qgjZ47x
スイマセン
説明下手でした
自分が描画したいのは日本語ではなく英語です
日本語はすでに非公式サイトからスクリプトを導入しています
例えば自分がDLしたStarcraftフォントをインストールしました。
それはexcelなどではちゃんと使えるのにいざGMで使おうと思うと
Starcraftフォント表示されるのになぜか中身がArialと同じになってしまうのです。
279:名前は開発中のものです。
08/09/15 12:12:32 +qgjZ47x
277さん
すみません
その通りです
280:名前は開発中のものです。
08/09/15 12:25:34 P1NOywnZ
オブジェクトが画面上半分に入ると行動が変わるようにしたいのですが、
オブジェクトが指定した範囲内にあるかどうか判断するにはどうしたらいいですか?
281:名前は開発中のものです。
08/09/15 12:50:01 jDWWXeXP
>>278
やっと意味が分かった
見当違いのレスすまんです
GM7になっても直ってないということは日本語環境に特有のバグかもしれないね
>>280
if(y < room_height/2)
{
// ルームの上半分にいる時の処理
}
より厳密に判定したいなら↓このあたりを参考に
sprite_height スプライトの縦幅
room_height ルーム全体の縦幅
view_height ビュー全体の縦幅
282:名前は開発中のものです。
08/09/15 14:15:05 Z9WHzemZ
277氏の話で気づきましたが、
フォントの問題は、フォントリンク機能(windows2000以降に搭載?)を使って
欧文のみのフォントに日本語のフォントを含めることによって解決できました。
Windows システム内部のレジストリをいじることになるので、
必ずレジストリのバックアップをとってください。バックアップから自力で元の環境に戻せる力量のある方のみ推奨です。
また、フォントリンク機能についてよく調べてから行ってください。
(自分も調べたてでよく分かっていません、よって、もっとよい方法があるかもしれません)
starcraftフォントを例にとって、やり方を説明します。
(自分の環境はWindowsXP SP2です。 GMは7.0で確認しました)
1. starcraft フォントをインストールする。
2. レジストリエディタ(regedit.exe)を起動して、
[\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
に、複数行文字列値を新規作成し、以下のように入力する。
値の名前:
Starcraft
値のデータ:
Starcraft Normal.ttf,Starcraft normal
MSGOTHIC.TTC,MS UI Gothic
3. Windowsを再起動させる。
すると、GM で font リソースの追加 で Starcraft を選択すると、
プレビューの時点で反映されるのが確認できるかと思います。
テキスト表示させるオブジェクトを配置してゲームを実行させても反映されました。
また、ゲームをexeで吐き出せばフォントリンクさせていない環境でも反映されるので、
exeで配布する分には問題ないと思います。
283:名前は開発中のものです。
08/09/15 15:26:51 tvN7d6yW
>>282
それは自分の環境以外でも正常に動作するのでしょうか。
(他人のレジストリを弄らせるわけにはいかない)>>534
284:282
08/09/15 16:44:01 E4MKDW7W
まず、製作側の環境は当然、変更しなければなりません。
そして、ゲームをソースの状態で配布する場合、
相手側もレジストリを変更しなければ反映されません。
ですが、実行形式で配布する場合は、実行ファイル自体にフォントが埋め込まれるため、
環境を変える必要はありません。
自分の環境で、フォントリンクさせた環境で作った実行ファイルを
フォントリンクを解除した環境で実行しても、フォントが正常表示されたので、
自分の中では、そう結論付けてます。
285:名前は開発中のものです。
08/09/16 14:10:35 JDKv6UBR
練習で横スクロールアクションを作っているのですが、スプライト変更で苦戦しています。
内容は……
・GM7使用
・出来るアクションは棒人間が左右に移動、Zでジャンプ
・棒人間は停止、移動、ジャンプ上昇、ジャンプ下降のアニメが左右ある
・下に地面がある時に、左右キーを押すと左右歩きアニメ
・下に地面がある時に、左右キーを離すと左右停止アニメ
・vspeed-10(ジャンプの初速)で上昇、vspeed0.5(落下の初速)で下降アニメ
このまま試したら、ジャンプから着地したときに下降アニメのままだったので
地面に触れたら停止アニメに変わるよう設定をしました。
完成した!と思ったら、今度は左右押したまま着地(着地後そのまま横移動)をしたら、
停止アニメのまま移動する問題が発生…
ならば、着地時に左右キーを押しているか押してないかで分岐させればいいのでは?と考え
if an expression keyboard_check(ord'right')is true
↑これを地面との衝突イベントに左右分組んでみたのですが
うまく作動しませんでした…。
何か良い解決策はないでしょうか?
すごく初歩的なことかもしれませんがアドバイスをお願いします。
286:名前は開発中のものです。
08/09/16 18:38:05 2x1IGPqI
>>285
アクションゲームでは定番の話題だけど方法が色々あるから具体的に答えにくいな
「こうしたら解決」というアドバイスは難しい話題だけど勘で答えてみる
意外と気づきにくいのは衝突イベントの発生タイミング
×ぶつかった瞬間に1回だけ発生する
○触れてる間は常に(毎フレーム)発生する
つまり地面に立ってる時は常に衝突イベントが発生してる
例えば、
衝突イベントに停止アニメを強制するアクションを書いてしまうと
左右への歩行アニメは発生しない
(地面に立ってる=常に衝突イベント発生=常に停止アニメ)
解決策は色々あるけど一例を
地上にいる/空中にいる、などキャラクターの状態を変数で表しておく
1.「空中」から着地したら停止アニメ発動&状態を「地上」にする
2.ジャンプしたら「地上」から「空中」に入れ替える
3.「地上」にいる状態で地面と衝突しても停止アニメは発動しない
何かの参考になれば幸い
287:名前は開発中のものです。
08/09/16 18:59:33 wc/bCpqZ
>>285
衝突イベント使わずにステップイベント使ったら??
もしy+1に床オブジェクトがあったらvspeedを0にして
もしvspeedが0だったら停止アニメするとか…
288:285
08/09/16 20:41:11 JDKv6UBR
丁寧なご回答ありがとうございます!
>>287様
早速ステップイベントで試してみたところ、ステップごとに常に
足下をチェックするため、地上にいるときは停止アニメのみに
なってしまいました。
>>286様
ステップイベントで足下をチェックして、地面がある時は重力が0になるようにしています。
たぶん、これで衝突イベントの連続発生は回避できていると思います。
地上→垂直ジャンプまたは、ジャンプ後左右キーを離す→着地
この場合は地上で停止アニメになります。
その後左右キーを押せば問題なく移動アニメになります。
地上→ジャンプ→左右キーを押したまま着地して移動
この場合は、着地後に停止アニメのまま左右に移動します。
一度左右キーを離し、再度押すと移動アニメに変化します。
地面衝突よりも左右キーを押した時に移動アニメに変化するのが問題…?
う~~ん…変数を使ってもう少し試行錯誤してみます。
289:267
08/09/17 01:00:40 fciLO00k
配列を利用してオブジェクトの動きを制御しているのですが
複数あるオブジェクトの中で1つだけを消すことって出来ますか?
option[count] = instance_create(x, y, obj_option);
count += 1;
の逆でcountを1減らして
countが最後のやつを消そうと思ったのですが
他のオブジェクトから他のオブジェクトをCreateできても
廃棄はできないのですか?
ヘルプを見てもそれらしきものは見つかりませんでした。
290:名前は開発中のものです。
08/09/17 01:28:48 +iHp1HAA
>>289
インスタンスを消すための関数はinstance_destroy()。
ただこいつは「自分自身を消す」関数なので、GMではちょっとトリッキーですが
with文を使って「消したいインスタンスに関数を実行させる」必要があります。
with (option[番号]) { instance_destroy(); }
291:267
08/09/17 06:27:15 fciLO00k
有難うございます。
早速やってみます。
292:名前は開発中のものです。
08/09/17 16:50:11 3ZsvlK2w
dlしたサンプルなどで演算子<>(例えば if turn <> 0)を見つけたのですが
これはどういう意味でしょうか??
293:267
08/09/17 18:36:14 fciLO00k
やってみたところ(Unknown variable option)とゆうエラーが出てしまい
色々と設定を変えながらやってみたのですが
自分ではどうしてもエラーを無くす方法がわかりませんでした
URLリンク(www1.axfc.net)
現物をupしました。どなたか教えていただけませんか?
294:名前は開発中のものです。
08/09/17 18:47:37 +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
08/09/17 20:35:59 fciLO00k
有難うございます。
そしてすいませんorのあとを書き忘れてました。
296:292
08/09/17 21:25:35 3ZsvlK2w
>>294
ありがとうございます
そんな演算子があったなんて驚きです
297:名前は開発中のものです。
08/09/25 18:58:23 ePV3MaT7
みんなどんなジャンルのゲーム作ってるんだろう……
298:名前は開発中のものです。
08/09/25 19:20:38 g090BAj9
試しにマリオ風アクションを作ってて色々壁にあたり、
もっとシンプルなものから……と思ってゼルダ風に挑戦中
何か1つ完成させたいな~…
299:名前は開発中のものです。
08/09/25 20:51:49 dGYbhKuz
GMの魅力は日本的ジャンル区分とは少しズレたものが作りやすいことじゃないかな
下らないアイデアでも作ってみようかって気になれる
FLASHゲーのようなシンプルで即効性があって馬鹿っぽいものが作りやすい(モチベ的な意味で)
今作ってるのはダウンタウン熱血行進曲のパクリ
全24人(CPU操作)を同時に出して殴り合いのカオスを眺めてるだけのゲーム?らしきもの
某FPSのBOT戦を眺めてるときに思いついた
無理矢理どこかのジャンルに分類すればライフゲームの一種になるんだろうか
ゲームの目的と遺伝的アルゴリズム的な何かを加えたら少しはゲームになるかもしれない
しかしゲームにしようと思うと自ずと既存の何かに似てくるから困る
300:名前は開発中のものです。
08/09/25 23:26:48 q3MsUpLj
やっぱ配布する時とかにGameMakerの表示出ると格好悪いよな
課金版欲しいなぁ
301:名前は開発中のものです。
08/09/26 03:12:23 sE3W1GIE
とりあえず、Cふう演算子以外は
やらなくていいと思うよ
いずれGameMakerを離れて自作するときに面倒になる
302:名前は開発中のものです。
08/09/28 18:10:00 LS/ACw4R
昔このスレだったかで見たんだけど
view機能によって表示されている画面の左上の座標を返す関数があったとおもうんだけど
誰か覚えてない?
HPゲージの表示場所に使うんだ
303:名前は開発中のものです。
08/09/28 20:13:19 uhIOXa5a
ヘルプでviewひけばすぐ出てくる
5と6以降で名前が違うから気をつけるんだ
304:名前は開発中のものです。
08/09/28 21:17:06 LS/ACw4R
>>303
ありがとう。すごく助かった
305:名前は開発中のものです。
08/09/29 18:56:28 UJys+BvP
GM6で梯子を作りたいのですが良い案はありませんでしょうか?
接触中は↑キーでy方向に-32移動出来る様にして、接触中のジャンプも可能にしたいです。
操作キャラのジャンプ条件はy方向1にソリッドオブジェクトがある時ですが、
この条件に当てはめなくてもソリッドオブジェクト上にいる時と同じ様にジャンプ出来れば良いです。
よろしくお願いします。
306:名前は開発中のものです。
08/09/29 21:40:35 TA0YzXK0
ジャンプ時の条件に「梯子と接触している」を付け加えればいいのでは?
D&D使ってるなら「If thre is an object」アクション、GMLならplace_meetingでチェックできる。
307:名前は開発中のものです。
08/09/29 23:26:55 UJys+BvP
>>306
ありがとうございます。
こんな便利なアクションがあったのですね。
お陰で触れてる間に↑キーで梯子を上る事も出来ました。
ですが上った後に静止する方法が分かりません。キャラに重力を設定してあるので落ちていってしまいます。
重力を設定したキャラを空中で静止させるにはどうすれば良いのでしょうか?
何度も質問すみません。よろしくお願いします。
308:名前は開発中のものです。
08/09/30 00:47:31 YIigZYPb
>>307
チュートリアルを参考にして作ってるならおそらく
Stepイベントの中に「足下がfreeでなければ重力を0にする」
という処理があるはずなので、そこにも下に梯子があるという
条件を追加すればいいかな。
309:名前は開発中のものです。
08/09/30 10:28:05 gaxEls3H
>>308
ありがとうございます。
その通りにやったのですが問題がありまして・・・。
歩いて接触し、↑キーで上れば空中で静止する事が可能になったのですが
ジャンプしながら接触したり、落ちながら接触すると止まりません。
URLリンク(www1.axfc.net)
こんな感じです。何処か間違ってましたでしょうか?
310:名前は開発中のものです。
08/10/01 21:47:12 Fc7yZooq
重力を0にしてもスピードはそのままなので、vspeedも0にする必要がある。
触れたら止まるって仕様だと、接触中でもジャンプできるって仕様と
食い合わせが悪い気がするけどな。
311:名前は開発中のものです。
08/10/01 23:12:59 1MeHwIPf
>>310
ありがとうございます。
見事に梯子っぽくなりました。が、やはりジャンプは出来ないようです。
312:名前は開発中のものです。
08/10/01 23:35:57 dOI1qd/B
>>311
梯子を昇っているかの処理を初めの方にやって、フラグで処理するようにやりなおしてみたら?
毎step時に梯子に接触してるか?
触れている 梯子フラグA = 1(ON)
→ 触れていない 梯子フラグA = 1(ON)
梯子の所で上キーを押した
→ 梯子フラグB=1(ON)
梯子フラグON時 → 重力・vspeed 0 にし、上下ボタンは上下移動(vspeed 10とか)に設定
313:名前は開発中のものです。
08/10/01 23:39:24 dOI1qd/B
ぎゃー間違って送ったorz
毎step時に梯子に接触してるか?
触れている → 梯子フラグA = 1(ON)
触れていない → 梯子フラグA = 0(off)、重力(vspeed=元値)ON
・・・伝わったらいいなこの説明。
314:名前は開発中のものです。
08/10/02 17:09:40 JaYkkapt
>>312,313
ありがとうございます。
フラグを使って色々やってみたのですがジャンプは出来ても空中で静止出来なかったり
空中で静止出来てもジャンプは出来なかったりとどうも完璧にはなりませんでした。
まだ色々試してみますが、もしよろしければ>>309のサンプルに付け加えて頂ければ幸いです。
315:名前は開発中のものです。
08/10/03 14:39:18 ZrsFoNA5
皆さんBGMってどうしてます?
316:名前は開発中のものです。
08/10/03 16:46:41 uDeRDVYO
FamiTrackerっていうファミコン音源ツールで適当に
317:名前は開発中のものです。
08/10/05 04:52:05 H1cq3pc2
ごめんなさい。質問の言葉が足りなさ過ぎました。
BGMをつけるとき、楽曲を自分で用意するとしても、何処からか借りてくるとしても、
そのファイル形式について知りたいのです。midiとかmp3とか。
できれば、そのBGMをどう再生しているのかも知りたいです。
midiなら最初から入ってるsound_playで再生できるけど、oggならbGMスクリプトとか使ったり。
318:名前は開発中のものです。
08/10/05 13:06:42 Fn418VgV
midiはGSしか搭載されてない事多いから自分はもっぱらbGMスクリプトでoggだね。
319:名前は開発中のものです。
08/10/05 20:02:29 4niTijZC
私はMP3ファイルを、再生する前にリソース置換してるな……
320:名前は開発中のものです。
08/10/08 15:16:57 RDU/YXQB
>>318-319
ありがとうございました。
参考にさせていただきます。
321:名前は開発中のものです。
08/10/11 18:30:28 J25bobba
画面全体を真っ暗にするにはどうすれば良いでしょうか?
322:名前は開発中のものです。
08/10/11 22:42:26 VYtC5Q29
>>321
それは画面を完全黒で塗りつぶすということ?
それとも、半透明の黒(変な表現だな)で暗闇を作りたいってこと?
どっちにしろ、レイヤーを変更して一番前に表示するようにしてみたら?
323:名前は開発中のものです。
08/10/12 19:20:19 0LPSWnKh
>>322
画面を完全に黒で塗りつぶしたいのです
324:名前は開発中のものです。
08/10/12 20:59:20 WCmVlsh4
draw_rectangleアクションで高さと幅をroomと同じにして色を黒にするといいんじゃない?
325:名前は開発中のものです。
08/10/12 23:04:23 0LPSWnKh
>>324
なるほど、ありがとうございます。盲点でした・・・。
326:325
08/10/12 23:27:26 0LPSWnKh
一応やり方は分かったのですがイマイチそれをどう実行すべきか分かりません。
draw_rectangle(x1,y1,x2,y2,false)の座標1(x1,y1)はルームの左上(0?)かと思いますが
座標2(x2,y2)はどう指定すれば良いのか悩んでおります。
(0,0,room_heigh,room_width,false)ではどうも違うようなのです。何が間違っているのでしょうか?
327:名前は開発中のものです。
08/10/13 01:58:15 AHWrAmb7
>>326
本体のバージョンは?
328:名前は開発中のものです。
08/10/13 01:59:44 KOVLXVwd
というかwidthとheightが逆なのでは
329:名前は開発中のものです。
08/10/13 03:38:00 RgqatT8r
>>326
>>328の言うとおり、widthは横、heightは縦。
(ついでにいうとheightのtも抜けてるが)
黒い長方形が一切見られないのなら:
1) drawイベントで実行している?
2) depthを一番小さくしてる?
330:名前は開発中のものです。
08/10/13 10:30:18 v588R7se
>>328
>>329
ありがとうございます。色々とスペルやら間違っていたようですね。
コリジョンイベントで実行していました。
本当にありがとうございます。
331:名前は開発中のものです。
08/10/17 21:27:46 dQ5aX5kq
GM6でグラディウス式の横シューティングゲームを作っているのですが、
弾オブジェクトの数の上限を自機と各オプションそれぞれに設けたいと
思っているのですが、どうすればいいのかさっぱり見当がつきません。
どうすれば良いのでしょうか?
332:名前は開発中のものです。
08/10/17 22:05:41 0ROIYotH
弾オブジェクトが出来た時にAに+1して消えた時にAから-1するってのはどうかな?
3発上限ならAが3以下の時だけ発射出来るようにするとか。
333:331
08/10/18 17:21:01 QonRt8Q9
なるほど、変数を使えばよかったんですね。
instance_number()を使うことしか頭に無かったので助かりました。
ありがとうございます。
334:名前は開発中のものです。
08/10/23 23:03:49 URptRMn4
公式・・・もう動かなくなってどのくらい起つのだろう。 早くバージョンアップしてほしい。
335:名前は開発中のものです。
08/10/25 07:24:32 YPdYk3/P
シンボルエンカウントのRPG的な物を作りたいのですが
以前に誰かが作ったサンプルなどありませんでしょうか?
336:名前は開発中のものです。
08/10/29 07:41:16 B8z2rdZk
GM6ですがroom1からroom2に移動した後、room2に移動する直前の状態のroom1に戻りたいのですが
どうすれば良いのでしょう?
普通に戻ってしまうとroom1の最初の状態に戻ってしまいます。
よろしくお願いします。
337:名前は開発中のものです。
08/10/29 08:29:55 vZOkTfmY
roomのsettingsタブにある、Persistentのチェックを入れるとできるはず。
338:名前は開発中のものです。
08/10/29 12:12:52 SJ76vo7y
なんか、変な事が起こったので報告。
原因は不明だけど突然GameMaker製のゲームだけ、やたら重くなるという現象が起きました(バージョンは5.3、6で確認)
他のゲームやアプリケーションは何も問題なかったのですが、GameMaker製のゲームにだけ異常が起こります。
60fpsのゲームが常に40fps以下になったり。
再起動で治りました。
339:名前は開発中のものです。
08/10/29 21:20:06 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:名前は開発中のものです。
08/10/29 23:19:05 CygkE/Te
>>339
翻訳作業されてる方かな
英語を訳すというより実際にどうなるのかを日本語で説明した方が初心者には有り難いかも
もちろん訳し方の好みがあると思うのであくまで私の意見ということで
スクリプト編集の際、エディタ下部に関数/変数の候補を表示する
スプライト編集の際、スプライトの原点と当たり判定を示す矩形を表示する
341:名前は開発中のものです。
08/10/29 23:23:51 CygkE/Te
解説サイトやwiki編集かと思って書いたけど
もしかしたらGMそのものを日本語化するのが目的なのかな
そうだったらこんな冗長な文面は適さないですよね
ということで私のレスは忘れて下さい
342:名前は開発中のものです。
08/10/29 23:29:37 /+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:名前は開発中のものです。
08/10/30 20:15:39 I528xhb9
>>340
>>342
ありがとうございます。
言われている通りGMそのものを日本語化しております。
E-WordChanger を使っており、その辞書ファイルに記述しています。
ツールチップは1つ試してみましたが、1度成功したと思っていても
次に表示すると日本語されていませんね。
中にはソフトを使ってもclipできない文章もありますね。
そちらも翻訳表示できません。
うまく表示できている人は居られるのでしょうか?
344:名前は開発中のものです。
08/10/31 18:19:41 YzRs5LJ8
ちょいと困っています。
キャラとか画像が移動すると、ぶれるようなかすれるような感じでぼやけてしまいます。
移動させてもちゃんと写るようにするにはどうしたらいいですか?
room speedは30です。
345:名前は開発中のものです。
08/10/31 18:27:01 YzRs5LJ8
あと URLリンク(gamdev.org) はどこかに移転したんですか?
346:名前は開発中のものです。
08/10/31 19:54:07 oCQp1Dl8
>>344
原因は色々ありうるけど同じく色々と試してみたと思うので意外な罠を一つ
俺がハマったのはモニタのリフレッシュレート
うちの環境だと60hzなら普通に動くけど75hzだと掠れる
恐らく環境依存だしGMとは関係ない部分だから気づきにくい
347:336
08/10/31 21:53:02 EFPq/rMO
>>337
遅くなりましたがありがとうございます。
出来ました。
348:名前は開発中のものです。
08/10/31 22:53:49 YzRs5LJ8
>>346
モニタのリフレッシュレートとGMの設定とroom speedをそれぞれ60にしてみたけど、やっぱりブレれぅ・・・
液晶だからかな・・・
そしてUse synchronization avoid tearingって意味がわかんない?
エキサイト翻訳したら「同期が引き裂くのを避ける使用」って出る。
tearingを単体で調べても引き裂くとか猛烈とかな意味がでる。
同期するのを避ける?
349:名前は開発中のものです。
08/10/31 23:26:30 mSkOAagk
>>348
さすがに俺も液晶よ
上で書いたケースとは別件かな
もし他の方がGMで作った実行ファイルでも同様の症状が出るなら相性かもしれない
ドライバ、グラボ、モニタ、DiretXのバージョンなどなど
350:名前は開発中のものです。
08/11/01 00:14:21 cP7CN4r/
use synchronizationで「同期(シンクロ)を使用する」
avoid tearingで「破綻することを回避する」
tear=破ける,裂ける,破綻する
Use synchronization avoid tearingで「破綻を回避するための同期(シンクロ)を使用する(使用せよ)」または「同期を使用して破綻を回避する」
例文:
Synchronization - Avoiding Frame Tears=フレーム落ちを回避するための同期
351:名前は開発中のものです。
08/11/01 00:21:55 cP7CN4r/
シューティングゲームの作成では、PC処理速度を超える過剰負荷がかかった時に、
「コマ落ち(フレーム落ち)」させるか「処理落ち」させるか、
フレームレート,リフレッシュレートの同期処理に悩みますよね
352:名前は開発中のものです。
08/11/01 01:01:45 7HKnkTOG
>>348
ティアリングというのは、画像が横に動いているときに
画面の途中でちぎれたように上下がずれて見える現象。
それを避けるためにモニタの信号と同期をとるというのが設定の意味。
画像がぶれるというのとは関係ないと思う。
仮にビューを使っている場合、やりようによっては
更新タイミングの違いでぶれて見えることがあるけど
そういうことはない?
353:名前は開発中のものです。
08/11/01 22:42:10 spXHa3/O
こう・・・表記が変なのかなーと自分を疑ったり
ブレるというかぼやけるというか、ブラーが掛かるというかにじむというか・・・
左が普通で、右が動かしたときに見える感じ
URLリンク(rainbow2.sakuratan.com)
354:名前は開発中のものです。
08/11/01 23:05:00 8D1Uiupl
>>353
なるほど
スクリーンショットを撮って見ると輪郭パリパリで綺麗なのに
実際に動いてるのを肉眼で見てるとボヤけて見えるってことかな
モニタの応答速度が遅いのが原因、に1票
355:名前は開発中のものです。
08/11/02 00:23:31 UAtrgN40
このスクリーンショットが実際に動かしてる時に撮ったものなら応答速度ではないんですが
どうなんでしょう
356:名前は開発中のものです。
08/11/02 00:46:03 q7EnVYah
>>354
応答速度なのかな・・・
どこで調べたらわかるんだろ。
357:名前は開発中のものです。
08/11/02 01:10:29 q7EnVYah
SONY SDM-S75F っていうモニター使ってるけど、これがダメなんかな・・・
358:名前は開発中のものです。
08/11/02 07:11:53 Uttx017t
もう既にいろいろ試していると思うけど、とりあえず。
1)新しくテスト用のゲームを作ってみる
問題が起こる最低限の環境のゲームを作ってみる。
もし問題が起こらなければ、元のゲームのどこかに問題がある。
元のゲームを放置して新しく作り直すもよし、元のゲームの問題点を探すのもよし。
もし問題がまだ起こるのなら↓
2)他の環境で調べてみる。
テスト用でもいいから作ったゲームを公開して、同じ現象が起こるかチェックしてもらう。
それでも問題が起こるのなら、アルゴリズムに問題がある可能性大。
もし問題が起こらないのなら、PCの環境のどこかに問題がある。(相性とか?)
359:名前は開発中のものです。
08/11/03 11:05:08 0rtuC+vp
アクションゲームで、下に落ちたら死亡(画面からはみ出たら死亡)にしたいのですが
画面の左右と上にはみでないようにするにはどうすればいいでしょうか。5.3です
360:名前は開発中のものです。
08/11/03 19:13:01 HnYJ+ws5
ルーム外イベント使わずに
if (y>room_height) instance_destroy
で出来るはず
361:名前は開発中のものです。
08/11/03 20:24:19 SR5b1R59
Gamemakerって大掛りなACTでGMLをふんだんに使ったサンプルとかないのかね?
勉強したいんだけど、リンク切ればかりで出来ない英語の勉強するほうが先になりそうな予感
362:名前は開発中のものです。
08/11/03 21:53:58 HnYJ+ws5
シューティングサンプル1945の全部gmlコード版があった気がする…
363:名前は開発中のものです。
08/11/03 22:24:41 uwgdwITo
>>361
日本語の資料はあまり多くないね
サンプルなら質も量も本家フォーラムが一番
URLリンク(gmc.yoyogames.com)
GMLなら↑のScripts[GML]
多少英語が読めてGMLを理解してる人なら宝の山だと思う
英語が読めなくてもGMLの理解があれば漁ってみる価値はある
かなり話題がそれるけどFlex&ActionScriptのサンプルも結構面白い
ECMAScript系の言語仕様、イベントドリブン、OOP(的である)、と共通点が多い
出来上がるのがFlashだからASに乗り換えるわけにはいかないけど御参考までに。
364:名前は開発中のものです。
08/11/03 23:43:47 SR5b1R59
>>362
検索中スルーしてたかもなんで、後で、探してみます。
>>363
本家フォーラム倦厭してたけど、チラ見しただけでも大量の投稿で、まさに宝の山っぽいです。
自分は英語あまり読めませんが(;´Д`)
Action Scriptのほうはちょっと気になってたんですが、そっちも後で見てみることにします。
御二方情報ありがとうです
365:名前は開発中のものです。
08/11/05 14:09:40 lQ1u3lWL
デフォルトの背景background0と動きのある第二の背景background1をルームの設定に用意したのですが
途中でこれらを切り替えるにはどうしたらいいのでしょうか?
366:名前は開発中のものです。
08/11/05 22:26:45 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:名前は開発中のものです。
08/11/05 22:31:36 XjRGW3LY
ごめんなさい修正
直接backgroundのインデックスを指定すれば良いみたい
if( background_index == 0 )
background_index = 1;
else
background_index = 0;
368:名前は開発中のものです。
08/11/05 23:58:10 lQ1u3lWL
えーと、試して見たのですが背景がかわらず動かしたキャラクターの残像が無限に描写される状態になってしまいました。
369:名前は開発中のものです。
08/11/06 00:01:14 XjRGW3LY
>>368
ただのサンプルだから書く場所にもよるよ
毎フレーム呼び出したらそういう状態になるかも
例えばglobal mouse left pressedあたりに書けば
マウス押すたびに切り替わるはず
370:名前は開発中のものです。
08/11/06 00:07:30 lQ1u3lWL
即レスありがとうございます
一応初めからマウスがクリックされた時というところでそれをやっているのですが…
371:名前は開発中のものです。
08/11/06 00:36:35 RiMAKIfy
>>367
GMLではarray[0]とarrayは同じものを指すから、それは単に
background_index[0] に一番最初に作ったbackground(id=0)と
2番目(id=1)を交互に割り当ててるだけ。
>366の方法が正解。
372:名前は開発中のものです。
08/11/06 01:04:58 eaSEHczR
キャラクター「A」と「B」が横一面で左に向かって競争していて、
「AがBを追い抜いたとき」と「BがAを追い抜いたとき」で別々に音を流したいのですがどうすればいいのでしょう。
上とは同じ内容で違う質問なんですが
試しにA.xがB.xの値の-1になった時~などという風にIf a variabels has a valueでやってみましたができませんでした。
これではだめなのでしょうか?
373:名前は開発中のものです。
08/11/06 07:42:34 LwQsPuS+
>>372
単純に
Aのx座標 < Bのx座標の時は音楽Bを流す、
Aのx座標 > Bのx座標の時は音楽Aを流す。
で良いんじゃないかな?
374:名前は開発中のものです。
08/11/06 09:00:15 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:名前は開発中のものです。
08/11/06 12:01:46 5MtmmVSK
そうそう、この場合prev_differenceを初期化することを忘れずに。
Create eventで、prev_difference = 0;とでも書いておけば大丈夫。
これを書いておかないと、Step内でチェックしようとしたときに「prev_differenceって何なんだ?」というエラーを返されるはず。
376:名前は開発中のものです。
08/11/07 07:12:26 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:名前は開発中のものです。
08/11/07 07:28:10 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:名前は開発中のものです。
08/11/07 17:17:30 q2bnCqzi
不思議のダンジョンのようなターン性を採用したいのですがどのように作ればいいのでしょう?
379:名前は開発中のものです。
08/11/07 22:09:04 dk+hUO84
割り込む感じでスイマセン、質問です
非公式サイトから導入した日本語描画スクリプトですがフェード機能をつけるには
どうしたらいいですか?
drawアクションじゃないからalphaも使えないし……
380:名前は開発中のものです。
08/11/08 00:32:27 ralVUMsS
>>378
こんなので良ければ参考にして下さい
URLリンク(www1.axfc.net)
381:名前は開発中のものです。
08/11/08 01:05:10 YaFy+mMy
おお、ありがとうございます。
敵が複数いる場合でも同じ処理で大丈夫何でしょうか?
382:名前は開発中のものです。
08/11/08 01:17:10 tiFPEnIw
うーん。
敵が複数居る場合、固定値ではなく、数値を増やしていって
最後に行動したモンスター(キャラ)が変数を1に戻すとかどうかな?
383:名前は開発中のものです。
08/11/08 01:24:43 YaFy+mMy
敵の数がある程度減ったらランダムで数匹追加などもしたいのですが
減ったり増えたりした時の処理が難しそうでどうも…
384:名前は開発中のものです。
08/11/08 01:29:31 tiFPEnIw
global変数(A)に、現状の敵個数を記憶しておいて
敵が死ぬ時にglobal変数(A)を減らす。
ある程度の数値になったら敵を追加。
追加されたらglobal変数(A)が増えるようにしておく。
チェックするのはBegin stepでもEnd stepでもお好きな時にどうぞ?
385:名前は開発中のものです。
08/11/08 08:00:14 usFb+U0s
ダンジョンで思い出したけどダンジョン自動生成てのはやっぱり難しいもんなのかな。