トップページgamedev
1001コメント465KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/07/12(火) 09:03:47ID: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【マンセー】
http://pc8.2ch.net/test/read.cgi/gamedev/1087068523/
06796722007/12/11(火) 18:12:40ID:1veI1+hN
>>675
ぉ!できましたか。成功してよかったです。
ところで>>667のobject_set_depth(ind,depth)ですが、その使い方だとNGかと思われます。
平たくいえばオブジェクト=設計図、インスタンス=オブジェクトのコピーであり、F5,F6でデバックした時や実行ファイルで実際に表示されているものはインスタンスです。
object_set_なんちゃら()の関数はオブジェクトリソースを直接変更しにいく関数なので、ヘルプの冒頭に説明されているとおり、すでにオブジェクトのインスタンスが
生成されている場合インスタンスにオブジェクトのプロパティが格納されていて予期せぬ効果を引き起こす可能性があります。
深度を変えたい場合はインスタンスidを直接さして個々に変更するのが常套手段かと思います。>>672のobj_dispを使って説明すると
var DispObjID;//インスタンスidを保存する変数
DispObjID = instance_create(self.x, self.y, obj_Disp);//インスタンス生成instance_create()は返り値にインスタンスidを出力する
DispObjID.depth += 2;//例として設定されている深度より2奥に設定変更
こういった感じでしょうか。ヘルプによく書かれている引数のindはよく読まないと、インスタンスなのか、オブジェクトなのか、スプライトなのか混同してしまうことが
あるのでそこらへんを意識してないと「インスタンスが表示されない」+構文も間違えてないので「エラー表示がない」とかいうことになります。
自分も実際しょっちゅうやらかしてます・・・orz
0680名前は開発中のものです。2007/12/11(火) 18:31:50ID:QXoJ6Zco
>>678
ありがとうございます。

このようなアクションをGMLに対応する一覧みたいなものは無いのでしょうか。
0681名前は開発中のものです。2007/12/12(水) 19:32:20ID:I7CK0gCA
>>680
>584にV6用のがリンクしてあるけど
他のバージョンのが欲しかったら本家フォーラムから
ttp://gmc.yoyogames.com/index.php?showtopic=334704
0682名前は開発中のものです。2007/12/12(水) 19:50:15ID:Bw7drWJW
>>681
ありがとうございます。
v7はあるようですが、v6はないようですね。
0683名前は開発中のものです。2007/12/12(水) 19:51:08ID:Bw7drWJW
すいませんありました。
数字のないほうがv6でした。
0684名前は開発中のものです。2007/12/13(木) 19:56:55ID:mOWLOq6S
ボタンを押すと動きのあるスプライトにチェンジするようにしたのですが
チェンジの時たまに1から順にスプライトが再生されません。
何が原因でしょうか。
0685名前は開発中のものです。2007/12/13(木) 21:33:32ID:9VWX8wY5
スプライトの表示番号を 0 にしてないんじゃない?
change sprite アクションなら、subimage ていう箇所があるからそこで設定する。
GMLなら
sprite_index = 変更したいスプライト名;
image_index = 0;
てな感じで。
0686名前は開発中のものです。2007/12/13(木) 22:50:14ID:mOWLOq6S
全て0にしているんですがたまに動きがおかしいと思ったら5あたりから再生されてるみたいなので・・・
0687名前は開発中のものです。2007/12/15(土) 12:14:12ID:CVKb7N91
FAQにあるヘルスを二つ表示する方法がいまいち分からないのですが詳しく教えていただけないでしょうか。
0688名前は開発中のものです。2007/12/16(日) 13:32:59ID:MjHgc/J/
「現在のビューに映っている敵をすべて破壊する」
というような技を作りたいのですがどのように設定すればいいのでしょうか?
0689名前は開発中のものです。2007/12/16(日) 21:34:56ID:khbOK2Jz
>>688
テンプレのリンクからヘルプを拾ってきて with の項目を参照すると目的の動作ができると思う。
0690名前は開発中のものです。2007/12/17(月) 00:13:47ID:SSdNo8vA
ボタンを押したとき400後ろ(x:-400)に何もない時そこにワープ、そこにsolidオブジェクトがあるときは何もおきないという風に
できるようにしたいのですがif a position is collision freeを使ってもうまくいきません
どう設定したらいいでしょう
0691名前は開発中のものです。2007/12/17(月) 00:34:29ID:d4jiuAy+
>>690
relativeにチェック入ってる?

if a position is collision free (x:-400 relative:check)
Jump to a given position (x:-400 relative:check)
0692名前は開発中のものです。2007/12/17(月) 00:58:48ID:1bZl34aq
OCNから書き込めないので、携帯から失礼します。
GM7でアクションゲームを作っているのですが、
攻撃に設定したキーを一回押すと、離しても延々と攻撃が出続けてしまいます。
GMのフォーラムやここの質問で key_pressedイベントを使うと良いと書いてあったのですが
それを使っても攻撃が止まず上手くいきません。
単発で出したいのですがどうしたらいいのでしょうか。

どなたか解る方がいらっしゃいましたらご教授下さい。
文章だけではわかりにくいかもしれないのでソースをあげておきます。

http://www.uploadjar.com/818021
0693名前は開発中のものです。2007/12/17(月) 01:11:36ID:d4jiuAy+
>>692
・その状態だと、Left(Right)を押したら rol に変数が入る。
・zを押したら、向きがLeftの場合、攻撃スプライト(左)を表示する。

で終わってる状態です。
Key Release <Left> に Set variable rol to 0
Key Release <Right> に Set variable rol to 0
をそれぞれ追加してください。
0694名前は開発中のものです。2007/12/17(月) 01:14:21ID:d4jiuAy+
>>693
違いました。
忘れてください
0695名前は開発中のものです。2007/12/17(月) 01:46:13ID:d4jiuAy+
>>692
・・・恥ずかしい間違いしたので問題の箇所の例として加修正してます。

http://www.uploadjar.com/158405
0696名前は開発中のものです。2007/12/17(月) 04:52:03ID:1bZl34aq
>695
とても早いレス、ありがとうございます!
自在に攻撃が出来るようになり、左右移動まで作って頂いてとても嬉しいです。
本当にありがとうございました!
0697名前は開発中のものです。2007/12/18(火) 14:25:36ID:KuzWpsao
下および横からはすり抜け可能で、
上からは着地可能、
かつ着地後下キーを押すと下へすり抜けられるブロックを、
Solidを外さず、かつブロック側の処理で実現したいのですが、
どうすれば良いでしょうか?

Solidを外すと、その他の判定処理で不具合が生じるので、
なるべくSolidのままで作りたいのです。
また、同時に4人のキャラクターを操作するため、
下キーを押している間と上昇中は非Solidにするという方法は使えません。
0698名前は開発中のものです。2007/12/18(火) 16:44:34ID:N2pESpOe
ttp://gamdev.org/up/img/10723.zip

GM6でマリオの様なアクションゲームを作っており、乗ると落下するブロックを作ってみました。
が、普通のブロックから落下するブロックに空中移動無しで触れても落下せず、ブロックの上でジャンプしなくては落下しないのです。
原因もあまり解らずどうすれば良いのか解りません。ご教授お願いします。
0699名前は開発中のものです。2007/12/18(火) 19:47:28ID:u37r1wue
>>698
歩いて落ちる床の上に来た場合は接触状態になっているんだが、これはコリジョンとは違うんだ。
だから、コリジョンイベントとは別に、プレイヤーと落ちる床との接触状態を調べて、条件を満たしたら床を落とす、様なことをしなきゃならん。
で、調べる方法だけど、アクションアイコンだとこれは無理。だと思う。
プレイヤのステップイベントに execute code を追加して、以下のように記述。
※空白は全角なので、コピペするなら半角に直すこと。

var id_floor; /*id_floor を、execute code 内だけ有効な変数とする */

id_floor = instance_place(x,y+1, object228);
/* instance_place()でプレイヤの直下に、object228 (落ちる床)が存在するかどうかしらべている */
/* もしプレイヤの下にobject228が存在したら、 id_floor にそのインスタンスID が代入される。 そうでなければ、 noone という値が入る */

if (id_floor != noone) {
 if (id_floor.isDrop == false) { /* このif文を付けないと、接触中常にalam[0]が10になってしまうので、必ずこの条件を入れること。 */
  id_floor.alarm[0] = 10; /* floor_id に対して、10ステップ後にアラーム0(落ちる動作)が発動するようにする */
  id_floor.isDrop = true;
 }
}
変数isDropで落ちるフラグを判定している。
これがないと、alarm[0]が接触中は常に10になってしまうんで、乗っている間落ちないことになってしまう。
変数isDropを使うことになったんで、初期化が必要。落ちる床の create イベントにvarアクションを追加、variable: isDrop、value: falseとする。
さらに、落ちる床のobj_redとのコリジョンイベント中に、varアクションを追加し、variable: isDrop、 value: true とする。
あと、コリジョンイベント中にある set vert.speed アクションは削除、でいいとおもう。
0700名前は開発中のものです。2007/12/18(火) 21:18:56ID:u37r1wue
>>697
考えてみたんだが、結構無茶な要求・・・。
なぜなら、solidの仕様は、コリジョンイベントの前後で、2つのインスタンス間で絶対に「めり込み状態」を認めないような仕様になっているから。
solid なインスタンスとのコリジョンイベントは、以下のような流れになる。()内は solid の時だけ処理される。

[コリジョンイベント]
    ↓
(お互いのインスタンスが直前ステップの位置に戻される)
    ↓
[コリジョンイベントのアクション]
    ↓
(speed,gravity等でインスタンスの位置を調整後、お互いがコリジョンを起こしていたら、やはり直前ステップの位置に戻される)
    ↓
[end step イベント]

なもんで、その床とキャラとのコリジョンイベントでアクションを起こさないほうがよい。
てことになると、solidの意義が薄れることになるが・・・。
どうしてもコリジョンイベントも定義したいなら、コリジョンイベント中で xprevious yprevious を自前で変更してしまうか、
end step で通過可能にする処理を書くとかするしかない。いずれも、かなり面倒になりそう・・・。
それよりも、着地の処理をコリジョンイベントに頼らない方法で着地させ、
その床との接触中に下を押すと gravity を発生させ、
通過中はgravityを0にしないような処理を
キャラ側のステップイベントとかで記述するようにするようにしてみてはどうかな・・・?わかりにくかったらごめん。
0701名前は開発中のものです。2007/12/18(火) 22:58:45ID:RkfysYSU
solidは融通が利かないから
すり抜け床には使えないな。
07026972007/12/19(水) 00:13:09ID:SlaPK2id
うーん、どうやら無理のようですかね。
なんとか工夫してみようと思います。
0703名前は開発中のものです。2007/12/19(水) 16:31:31ID:8LUQdUPx
>>702
サンプルデキタ。 solid だとやはり面倒だったんで、solid じゃないやつだけど、参考になれば。
ttp://www.uploadjar.com/133957
07046972007/12/19(水) 18:35:50ID:SlaPK2id
ありがとうございます。
うーむ。やはりキャラ側で処理した方が良いのか・・・。
頑張ってみます。
0705名前は開発中のものです。2007/12/19(水) 21:55:33ID:+fFhIeoE
>>704
キャラ側で指定する時に都合が悪くなければ、
壁用判定オブジェクトを作り、
全キャラにそれを親指定するというのはどうだろう?
0706名前は開発中のものです。2007/12/20(木) 04:58:53ID:Tb+MgVar
>>699
ありがとうございます。
アクションアイコンのみでしか作った事無かったので難しいですね・・・。
頑張ってみようと思います。
0707名前は開発中のものです。2007/12/23(日) 00:32:42ID:U9AhK/mz
HPの他にMPのようなものをつくりたいんですがどうやったら二つゲージを表示できますか?
0708名前は開発中のものです。2007/12/23(日) 00:42:15ID:QJlA1OEF
自前でスクリプトを書けばできるよ。
0709名前は開発中のものです。2007/12/23(日) 05:15:16ID:ZiPFLJZ/
>>707
つ「global」
0710名前は開発中のものです。2007/12/23(日) 12:40:14ID:U9AhK/mz
スクリプト作るのはよくわかりません…
0711名前は開発中のものです。2007/12/27(木) 15:49:32ID:8DGio7LY
「動きのあるスプライトA」を「動きのあるスプライトB」に、もしくは「動きのあるオブジェクトA」を「動きのあるオブジェクトB」に変えると
1フレーム目から正確に表示されず困っているのですが仕様ですか?

主人公が待機状態で攻撃キーを押すと「10フレーム目に攻撃判定を発生させる」主人公オブジェクト@に変化して
アニメーション終了時に元の主人公待機状態に戻るように設定したのですが@が5フレームあたりから始まって攻撃が異常に早く発生してすぐアニメーションが終わってしまったり
11フレームで攻撃判定がなくなってからアニメーションが開始されたりして毎回正確なフレームからスタートされません。
0712名前は開発中のものです。2007/12/27(木) 18:16:42ID:1ajxqRXW
もう少し伝わりやすく書いてくれると回答者は助かります。

待機状態というのは、何もボタンを押していない状態でしょうか。
その前に何か条件が発生しているのでしょうか。

そしてバージョンは何を使っているのでしょうか。

そしてヘルプは読んでいるのでしょうか。
>>1のリンク先は見ていますか。

容易に仕様と言わないでください。
0713名前は開発中のものです。2007/12/27(木) 18:22:56ID:1ajxqRXW
バージョン7及びGMLを使用している場合は、

sprite_index = spr_A
image_index = 0
image_speed = 10

2番目の image_index を変化させてください。
これは subimage の始まりを変えます。

最後の image_speed を変化させてください。
これはスピードが変わります。


再度伝えます。
リンク先のヘルプや exsample を参考してください。
0714名前は開発中のものです。2007/12/27(木) 18:28:43ID:1ajxqRXW
アニメーションの再生がおかしいと感じる時は、
step の実行順番を再認識してください。
step には順番があります。

それは Begin Step から始まり、最後は Drawing です。

また、イベントの Animation End Event をうまく活用してください。

よりよい Game Maker Life を。
0715HAL2007/12/28(金) 14:58:17ID:iAadBrLO
自分のキャラにHPを設定ってどうやるんですか
あとオブジェクトを使ってHPを減らすようにするにはどうしたらいいんですか
0716名前は開発中のものです。2007/12/29(土) 00:25:14ID:yxji7H+p
ヘルスのほかにもう一つゲージを作りたいのですがスクリプトを使わずアクションだけでも可能でしょうか。
0717名前は開発中のものです。2007/12/29(土) 11:53:52ID:YtFwzcBI
ゲージくらい変を数使えばできるだろう?
0718名前は開発中のものです。2007/12/29(土) 11:54:46ID:YtFwzcBI
変数をですw
変を数ってなんだ…orz
0719名前は開発中のものです。2007/12/29(土) 17:02:58ID:4nUjeBtr
描写のやり方がよくわからないんです
変数で二つ目のヘルスを作っても描写で画面に表示する方法がわかりません
バージョンは5.3です
0720名前は開発中のものです。2007/12/30(日) 03:17:36ID:NSmEj/DS
いわゆるHPとかゲージを2本表示する簡単なサンプル作ってみた
http://www.uploadjar.com/134394
ZでPLAYER1(赤)弾発射
XでPLAYER2(青)弾発射
0721名前は開発中のものです。2007/12/30(日) 11:55:41ID:Zqqq8hXp
参考にさせてもらい無事完成させることができました。
ありがとうございます
0722ぺしゃみゅんち2007/12/31(月) 22:39:11ID:G7IwY3y8
はじめまして
私ロックマンエグゼのようなゲームを作ってみたのですが
変な異常を起こします
原因が一人ではわからないので皆さんに見ていただきたいのですが
これがそのファイルですhttp://www.uploadjar.com/766112
バージョンは5.Aです
詳しいことはファイル内の問題点のテキストに書いてあります
よろしくお願いします。
0723名前は開発中のものです。2008/01/01(火) 04:09:53ID:HO6m3WgJ
>>722
意味が わからない

あとエンターでプレイヤー表示だけどpressにするのをお勧めするよ一瞬押しただけでも2、3召還されるわけで
0724名前は開発中のものです。2008/01/01(火) 13:01:48ID:5Zz7hnr7
変な異常って頭痛が痛くね?
0725名前は開発中のものです。2008/01/01(火) 15:05:07ID:krtrP6kC
>>724
変と異常ってのは違う意味を指すからおかしくないんじゃね?
0726名前は開発中のものです。2008/01/01(火) 18:25:13ID:HO6m3WgJ
>>725
異常な上に変なんじゃね
0727名前は開発中のものです。2008/01/01(火) 20:03:22ID:krtrP6kC
>>726
724に言えよ
0728ぺしゃみゅんち2008/01/01(火) 21:13:12ID:41An0v9b
>>726さん おっしゃるとおりです
>>723さん 修正しましたがパソコンの調子が悪く
      アップロードに時間がかかるのでほかの修正箇所が
     出てきたところでアップロードさせなおしていただきます

異常とは本来右左でキャラクターを選択するのですが
怪鳥から左を押すと獅子になるはずが怪鳥のままになっているのです
また次が獅子になるはずのところでは怪鳥に飛んでしまうのです
どうしてこんなことがおきてしまうのでしょうか?
去年の9月から考えています
しかし分かりません
助けてください
0729名前は開発中のものです。2008/01/02(水) 03:01:30ID:0XzNgAng
>>728
所々に音を鳴らす命令を入れて実験してみたところ、どうやら
オブジェクトEvsEのpress<left>を実行した後、すぐさまWvsEのpress<left>も実行しちゃってるみたい。
SvsEやNvsEのpress<right>での実行も同様。
原因は多分、1フレーム間でのインスタンス同士の実行順にあると思う。
これはもうおそらく仕様なので、次のような工夫が必要になってくる。

press<left>イベントを実行してオブジェクトを変化させたら、
変化後のオブジェクトのpress<left>イベントを、次のフレームに移りかわるまでの間は実行させないようにする。

……というわけで、フラグ変数をうまく使ってみると良いと思う。
0730ぺしゃみゅんち2008/01/02(水) 13:25:34ID:19fPmr/N
ありがとうございました
変数などは分からないので
押し上げイベントに変更してみました
そのほかいろいろ改良しましたらもう一度アップロードします
0731名前は開発中のものです。2008/01/04(金) 02:27:54ID:KY38Ruby
5.3Aもう3年くらい使ってるけどオブジェクトの名前とか日本語でもいけるんだな
あと描画イベントの使い途がいまさら解った
嘘みたいだろう?俺、いままで文字とかいちいちスプライト作って表示してたんだぜ?
0732名前は開発中のものです。2008/01/04(金) 17:38:30ID:JG5m5wPm
日本語出力できていいなぁ・・・今から5.3Aに乗り換えようかな・・・
0733名前は開発中のものです。2008/01/04(金) 23:16:21ID:cqFFi5wR
5.3AはVistaに未対応らしいけど、単独実行が出来ないということ?
GM自体は動くみたいだけど…
0734名前は開発中のものです。2008/01/05(土) 02:05:40ID:NZZVqR2v
ビスタでフツーに作ってるけど?
実行形式はまだ試してないけど
0735名前は開発中のものです。2008/01/06(日) 18:55:38ID:OjABw8Q7
スコア表記を
「スコア:○○」のように前に出すのではなく「○○点」のように表記したいのですが可能ですか?
0736名前は開発中のものです。2008/01/06(日) 20:34:01ID:nLpXdUSy
>735
'' + string(スコア) + '点'
でできた
0737名前は開発中のものです。2008/01/06(日) 21:29:22ID:OjABw8Q7
素早い返答ありがとうございます。
0738名前は開発中のものです。2008/01/08(火) 12:36:23ID:G/0Io5dz
なんかボールが坂をころがっていくような物理シュミはこれでつくれますか?
0739名前は開発中のものです。2008/01/08(火) 20:46:53ID:HXQlUjj3
シミュレーションな
0740名前は開発中のものです。2008/01/09(水) 10:04:09ID:jHNZrdiZ
GMJにここの書き込み反映されてるんだなスゲー
0741ぺしゃみゅんち2008/01/15(火) 21:32:09ID:hN1kqTH6
押し上げにしても同じことがおきました
しかし変数などが分からないのですが
誰か5.aで開ける>>729さんのいっていたようなフラグ変数
をつかったサンプルもしくは私のアップしたものに手を加えたものを
アップしてくれるとうれしいです。
ここで説明していただいてもかまいませんが
サンプルなどをアップしてくれたほうがうれしいです。
よろしくお願いします
0742名前は開発中のものです。2008/01/15(火) 23:50:06ID:DrVh3adF
>741
簡単なやり方としては
・今キーイベントに置いている内容をアラーム0イベントに移動
(「イベントの変更」を使うと楽)
・かわりにキーイベントに「Set an alarm0」を置いて値を1にする

これでインスタンスの変化が1ステップおいて起こるようになる
0743名前は開発中のものです。2008/01/18(金) 02:01:25ID:CrDQFjAi
追尾ミサイルを作っているのですが
直角や180度いっきに回転してしまうんですが
クルーってかんじに遠回りして追尾させたいんですが
どうすればできますでしょうか
0744名前は開発中のものです。2008/01/19(土) 00:58:07ID:dhI4eC+v
登録するのが嫌で5.3Aを落としてきたけど、XPで不便な事って有るのか?
0745名前は開発中のものです。2008/01/19(土) 02:10:04ID:pvbjWxud
>>744
あるとすれば

・6以降の新しい機能が使えない
・レジスト機能使う時に、登録しにいかなくちゃダメ

ってくらいだな。
0746名前は開発中のものです。2008/01/19(土) 06:44:46ID:lpPp39mj
http://gamdev.org/up/img/10960.zip
日本語化辞書
途中だけど、続き誰か頼む
使い方教えてとかいう、ググれない厨は落とさないように
0747名前は開発中のものです。2008/01/19(土) 15:34:14ID:Rw9P3/DK
なるほど、日本語訳付きで練習する分には問題ないと思っても良いって事か
0748名前は開発中のものです。2008/01/22(火) 21:09:08ID:45T81GjC
>>743
今どうやってるん?
0749名前は開発中のものです。2008/01/22(火) 21:17:39ID:ocbbdzjm
7が出てからもうすぐ一年かぁ
本家では新しいの出るんかな
0750名前は開発中のものです。2008/01/22(火) 21:22:18ID:NoSS/6O8
>>748
いきずまってます\(^o^)/
動いてる方向を取って1/3ステップ進ませて今進んでる方向がうんたらかんたら
0751名前は開発中のものです。2008/01/23(水) 02:48:32ID:Q1tjyTbC
>>746
ものすごくGJ
0752名前は開発中のものです。2008/01/23(水) 04:18:28ID:b5xhxs/k
>>750
すまんが現状どうやってるのかよくわからん
角度を常に変数でもたせておくなりして三角関数使わないと難しいんじゃないだろうか
俺ならミサイルの単位時間に動かせる角度と距離固定して目標追わせるかな。
0753名前は開発中のものです。2008/01/24(木) 03:09:34ID:n00gmxln
前回692です。
また製作の壁にぶつかってしまい困っています。

GM7でアクションゲームをつくっています。
現在、ロックマンのように、自キャラが移動をしながら攻撃ができるようになっています。
これを魔界村のように、移動中に攻撃ボタンを押したら、立ち止まって攻撃するようにしたいのですが、どうすれば良いでしょうか?

ソースをあげておきますので、
どなたか解る方がいらっしゃいましたらご教授下さい。

ttp://www11.axfc.net/uploader/20/so/He_66684.zip.html
Keyword(DLパス)は0011です。
07547482008/01/24(木) 12:00:40ID:gZRHXEEh
>>750
自分>>34なんだけどうpしてるやつの最初の方にホーミングミサイル撃つ敵
つくってあるんだけどこんな感じの作りたいの?
0755名前は開発中のものです。2008/01/24(木) 12:22:14ID:gZRHXEEh
>>753
obj_usagiオブジェのキーボードイベント<left><right>のアクション全体をcan_attack変数が1の時だけ実行するように
If a variable has a valueを置いてみたらいいんじゃない?
07567532008/01/27(日) 02:40:32ID:v3yvH1+7
>>755
すばやい回答ありがとうございます。
無事自キャラが止まって攻撃が出来るようになりました!

半月間も悩んでたので本当に助かりました。
ありがとうございました。
07577292008/01/27(日) 04:15:44ID:PCXtfTLD
>>742
あ……なるほど。
pressKeyで即オブジェ変更するんじゃなくてAlarmイベントで実行させれば
複雑にフラグ変数を使わずに済みますね。勉強になります。
0758名前は開発中のものです。2008/01/29(火) 11:37:55ID:n2eeRZD+
Scriptのエクスポートみたいに、
オブジェクトのソースを出力ってできますか?
オブジェクトがたくさんあると手作業ではちょっと厳しい...
0759名前は開発中のものです。2008/01/29(火) 21:35:15ID:fH/FU5dj
Editメニューの最後にある「Show Object Information」
名前からは想像がつかないが、全オブジェクトの情報を
一気に出力してくれるというすぐれモノだ。
オブジェクトたくさん作りすぎてるとエラーで死ぬけどな!
0760名前は開発中のものです。2008/01/29(火) 23:51:12ID:n2eeRZD+
>>759
止まった\(^0^)/
450個もオブジェクトがありゃそりゃ固まるか。
0761名前は開発中のものです。2008/01/31(木) 18:22:51ID:fnpWL05f
>761
ばーか
0762名前は開発中のものです。2008/01/31(木) 22:04:15ID:TXruG4et
>>762
( ^ω^)…
0763名前は開発中のものです。2008/02/01(金) 00:34:05ID:a4c4UVam
 761 名前は開発中のものです。 [sage] 2008/01/31(木) 18:22:51 ID:fnpWL05f - NEW! -
>761
ばーか


 762 名前は開発中のものです。 [sage] 2008/01/31(木) 22:04:15 ID:TXruG4et - NEW! -
>>762
( ^ω^)…
0764名前は開発中のものです。2008/02/08(金) 17:38:06ID:zFVnBZNt
うーん・・以前にも聞いたので
また聞くのはちょっと気が引けるんですが、
Solidのチェックを外さずに下からすり抜けられる床ってのは
やっぱり無理なんでしょうか。
諸事情で「キャラがブロックより上にいる時だけSolidにする」という方法が使えません。
0765名前は開発中のものです。2008/02/08(金) 18:50:11ID:2GE6uT/l
マニュアル読んできた。
solid  Whether the instance is solid. This can be changed during the game.
(solid  インスタンスがsolidかどうか。ゲーム中に変更可能)

solidかどうかの判定は変更できるようなので、キャラのy値を取得して、
「キャラのy値がブロックのy値よりも低いとき、solidをfalseにする」
「else {solidをtrueにする}」
って組んだらどうかな?
0766名前は開発中のものです。2008/02/08(金) 19:08:26ID:zFVnBZNt
>>765
前提として4キャラ同時に操作するということを書いてませんでした、すいません。
1キャラ操作のアクションゲームならそうするんですが、
多キャラを操作するときなどに、他のキャラがブロックの上にいるときとかに
Solidを解除すると乗っているキャラが落ちてしまうので悩んでいます。
0767名前は開発中のものです。2008/02/08(金) 19:10:03ID:mtgOpTzW
>>766
ifを何個か重ねたらだめなのか?キャラごとに
0768名前は開発中のものです。2008/02/08(金) 19:29:09ID:zFVnBZNt
そうすると1Pが乗ってて4Pが下にいるときとかに、
4Pが床(足場)にしたからすり抜けようとしたときにぶつからない?
1Pが上にいるからSolidはONになってるはずだし
0769名前は開発中のものです。2008/02/08(金) 20:41:16ID:2GE6uT/l
ifを重ねて場合分けしようにも、キャラ別に判定用オブジェクトを作るにしても、
Solid同士の衝突は貫通しない以上、1つでもSolidがあったら下のやつは上にあがれなくなると思うぞ。そのためのSolidなんだし。
オブジェクト別にアクションを変えたいのなら、Solidは解除しておいて、状況に応じて通行可/不可が切り替わるように考える必要があると思う。

〜チラシの裏〜
発想を逆転してみた。
ブロックはSolidで固定。キャラのSolid判定を変えてみるという考え。
キャラがブロックの上にいるときはSolid、下ならNon-Solid。
これなら下から上ならすり抜け、上から下なら止まるというのを実現できるのじゃないかと。

……でもこれをやると、ブロックは縦方向に見て1つまでしか置けない。
ついでに多分、キャラも床もSolidにして床の上を自由に歩けるようにしてあるんだと思うから、
これをやると床をすり抜けどこまでも落ちていく。

うん。駄目だ。
〜チラシの裏〜
0770名前は開発中のものです。2008/02/08(金) 20:48:06ID:zFVnBZNt
あ。
自己解決した・・!
結局「キャラがブロックより上にいる時だけSolidにする」という方法が使えるということに気がついたというオチ・・。
Solidに設定しててもCollisionイベント設定しなかったら素通りするから、
4人いたらそれぞれのプレイヤー用の床を作って4つ重ねればいいのか。。
2ヶ月くらい悩んだけどなんか思いついてみれば簡単だった・・・。

ttp://www.uploda.org/uporg1239813.gm6.html
考えて頂いてありがとうございました。
0771名前は開発中のものです。2008/02/08(金) 20:51:40ID:2GE6uT/l
ってなんだ、Solidでも素通りするのか。
0772名前は開発中のものです。2008/02/10(日) 01:31:29ID:JMvutfpq
>>766 4キャラ同時に操作ってニコニコアクションの人か?
違っても製作頑張れ。完成するといいな。
0773名前は開発中のものです。2008/02/12(火) 00:35:49ID:iUX9zyeT
>>770
このレスはアクションの人だったんだな(´・ω・`)
0774名前は開発中のものです。2008/02/12(火) 22:51:39ID:iUX9zyeT
いろんなroomを表示させることはできますでしょうか?
0775名前は開発中のものです。2008/02/12(火) 22:58:47ID:54CFVRXr
>>774
残念だがそれは仕様上ムリだと思ふ
0776名前は開発中のものです。2008/02/12(火) 23:04:06ID:iUX9zyeT
>>775
ありがとうだぜ
ちょっとhttp://gamemaker.main.jp/modules/smartfaq/faq.php?faqid=33を応用してくるぜ
0777名前は開発中のものです。2008/02/14(木) 22:58:45ID:3EjNgEsT
>>774
一つのルームに4種類部屋作って>>776の方法で分割表示すれば良いんじゃね?
0778名前は開発中のものです。2008/02/14(木) 23:29:42ID:bjVjEw1+
>>777
ヴァージョンが5だったことを忘れてたんだぜww
■ このスレッドは過去ログ倉庫に格納されています