【2D】ゲーム作成ツールGameMaker part2【マンセー】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/07/12(火) 09:03:47ID:DK0oUKwt●本家(英語)
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/
0672名前は開発中のものです。
2007/12/10(月) 15:28:56ID:ey1ac3Xs何を表示したいのかいまいちイメージできないけど・・・・・別に1つのオブジェクトで処理してしまおうとしなくてもいいんでないかい?
表示用のオブジェクトを作成しておいて、アラームイベント2つ作成し1つ目にDestroy the instanceアクション(インスタンス破棄)を登録
2つ目に1つ目のアラームを起動させる記述をする。生成イベントでアラームイベントの待機時間用変数を宣言しておく
if keyboard_check_pressed(ord('X'))のブロック内のどこかでこの表示用オブジェクトを生成してやるとともにさっきのアラームイベントのタイマーセットを書き込んでやれば
このタイマーセットの間だけ表示されると思う。以下こんな感じのGML書いたらっていう案(表示オブジェ:obj_Disp 待機時間用変数:IntervalSet アラームイベントを1と2で設定したとする)
if keyboard_check_pressed(ord('X')){
//攻撃とか動作とかをずらずら記述してあるかと・・・
//-----------------
//ここより表示用オブジェ生成
var DispObjID;
DispObjID = instance_create(self.x, self.y, obj_Disp);//例として自分の原点に表示用オブジェのインスタンスを生成
DispObjID.IntervalSet = room_speed * 3;//例として3秒間表示
}
0673672
2007/12/10(月) 15:45:44ID:ey1ac3Xs○obj_Dispの生成イベント
var IntervalSet; //待機時間用変数の宣言
alarm[2] = 1; //破棄用アラームイベントを1ステップ後起動させるアラーム2を起動
○obj_Dispのアラーム2イベント
alarm[1] = IntervalSet;//破棄用アラームイベント起動
○obj_Dispのアラーム1イベント
>>672の記述どおりDestroy the instanceアクションをセットし、自分自身(obj_Disp)を破棄する
後はobj_Dispの描画イベントにあなたが思ってる表示をさせる記述をもりもり書き込もう
実際試してないけど>>672は似たような事してるので多分大丈夫だとおもうよ?
0674672
2007/12/10(月) 16:18:53ID:ey1ac3Xs0675名前は開発中のものです。
2007/12/10(月) 21:07:39ID:hgs58Ul1どんぴしゃで目的の動作にできた!! マジありがとー!!
格闘ゲー+α(ファイナルファイトみたいな)の作成中、
どうしても汎用的な当たり判定枠を作りたくてやってたんだけど
すぐに消えるわ表示されないわで困ってた。
必殺技で自分の分身をつくってソイツに殴らせるのをやりたかった。
(コイツにのみ当たり判定有り)
で、ぶわーっと前にまっすぐ飛ばしたりもしたかった。
一応アラームも使ってデストロイ指定してたんだけど、
連続攻撃すると分身が画面に残ったりしてた。
(animation end でデストロイ指定+表示から秒単位でデストロイ)
言われた方法でやったら、連続攻撃してもキレイに消えてくれて
なんかもう、やっとムチ振りアクションに取りかかれるッス。ありがとー!
0676名前は開発中のものです。
2007/12/10(月) 21:08:47ID:hgs58Ul10677名前は開発中のものです。
2007/12/11(火) 00:16:53ID:QXoJ6Zcoif relative position (4,0) is collision free for Only solid objects
move relative to position (4,0)
else
if relative position (4,-8) is collision free for Only solid objects
move relative to position (4,-8)
move in direction 270 at most 8 till a contact with solid objects
と、ある場合GMLで記述するにはどうすれば良いのでしょうか。教えてください。
0678名前は開発中のものです。
2007/12/11(火) 11:20:53ID:LOC5oPUmたぶん、こう。
if (place_free(x+4, y)) {
x += 4;
} else if (place_free(x+4, y-8)) {
x += 4;
y += -8; // y -= 8; でもいい
move_contact_solid(270, 8);
}
0679672
2007/12/11(火) 18:12:40ID:1veI1+hNぉ!できましたか。成功してよかったです。
ところで>>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ありがとうございます。
このようなアクションをGMLに対応する一覧みたいなものは無いのでしょうか。
0681名前は開発中のものです。
2007/12/12(水) 19:32:20ID:I7CK0gCA>584にV6用のがリンクしてあるけど
他のバージョンのが欲しかったら本家フォーラムから
ttp://gmc.yoyogames.com/index.php?showtopic=334704
0682名前は開発中のものです。
2007/12/12(水) 19:50:15ID:Bw7drWJWありがとうございます。
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:9VWX8wY5change sprite アクションなら、subimage ていう箇所があるからそこで設定する。
GMLなら
sprite_index = 変更したいスプライト名;
image_index = 0;
てな感じで。
0686名前は開発中のものです。
2007/12/13(木) 22:50:14ID:mOWLOq6S0687名前は開発中のものです。
2007/12/15(土) 12:14:12ID:CVKb7N910688名前は開発中のものです。
2007/12/16(日) 13:32:59ID:MjHgc/J/というような技を作りたいのですがどのように設定すればいいのでしょうか?
0689名前は開発中のものです。
2007/12/16(日) 21:34:56ID:khbOK2Jzテンプレのリンクからヘルプを拾ってきて with の項目を参照すると目的の動作ができると思う。
0690名前は開発中のものです。
2007/12/17(月) 00:13:47ID:SSdNo8vAできるようにしたいのですがif a position is collision freeを使ってもうまくいきません
どう設定したらいいでしょう
0691名前は開発中のものです。
2007/12/17(月) 00:34:29ID:d4jiuAy+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:1bZl34aqGM7でアクションゲームを作っているのですが、
攻撃に設定したキーを一回押すと、離しても延々と攻撃が出続けてしまいます。
GMのフォーラムやここの質問で key_pressedイベントを使うと良いと書いてあったのですが
それを使っても攻撃が止まず上手くいきません。
単発で出したいのですがどうしたらいいのでしょうか。
どなたか解る方がいらっしゃいましたらご教授下さい。
文章だけではわかりにくいかもしれないのでソースをあげておきます。
http://www.uploadjar.com/818021
0693名前は開発中のものです。
2007/12/17(月) 01:11:36ID:d4jiuAy+・その状態だと、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+違いました。
忘れてください
0695名前は開発中のものです。
2007/12/17(月) 01:46:13ID:d4jiuAy+・・・恥ずかしい間違いしたので問題の箇所の例として加修正してます。
http://www.uploadjar.com/158405
0696名前は開発中のものです。
2007/12/17(月) 04:52:03ID:1bZl34aqとても早いレス、ありがとうございます!
自在に攻撃が出来るようになり、左右移動まで作って頂いてとても嬉しいです。
本当にありがとうございました!
0697名前は開発中のものです。
2007/12/18(火) 14:25:36ID:KuzWpsao上からは着地可能、
かつ着地後下キーを押すと下へすり抜けられるブロックを、
Solidを外さず、かつブロック側の処理で実現したいのですが、
どうすれば良いでしょうか?
Solidを外すと、その他の判定処理で不具合が生じるので、
なるべくSolidのままで作りたいのです。
また、同時に4人のキャラクターを操作するため、
下キーを押している間と上昇中は非Solidにするという方法は使えません。
0698名前は開発中のものです。
2007/12/18(火) 16:44:34ID:N2pESpOeGM6でマリオの様なアクションゲームを作っており、乗ると落下するブロックを作ってみました。
が、普通のブロックから落下するブロックに空中移動無しで触れても落下せず、ブロックの上でジャンプしなくては落下しないのです。
原因もあまり解らずどうすれば良いのか解りません。ご教授お願いします。
0699名前は開発中のものです。
2007/12/18(火) 19:47:28ID:u37r1wue歩いて落ちる床の上に来た場合は接触状態になっているんだが、これはコリジョンとは違うんだ。
だから、コリジョンイベントとは別に、プレイヤーと落ちる床との接触状態を調べて、条件を満たしたら床を落とす、様なことをしなきゃならん。
で、調べる方法だけど、アクションアイコンだとこれは無理。だと思う。
プレイヤのステップイベントに 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考えてみたんだが、結構無茶な要求・・・。
なぜなら、solidの仕様は、コリジョンイベントの前後で、2つのインスタンス間で絶対に「めり込み状態」を認めないような仕様になっているから。
solid なインスタンスとのコリジョンイベントは、以下のような流れになる。()内は solid の時だけ処理される。
[コリジョンイベント]
↓
(お互いのインスタンスが直前ステップの位置に戻される)
↓
[コリジョンイベントのアクション]
↓
(speed,gravity等でインスタンスの位置を調整後、お互いがコリジョンを起こしていたら、やはり直前ステップの位置に戻される)
↓
[end step イベント]
なもんで、その床とキャラとのコリジョンイベントでアクションを起こさないほうがよい。
てことになると、solidの意義が薄れることになるが・・・。
どうしてもコリジョンイベントも定義したいなら、コリジョンイベント中で xprevious yprevious を自前で変更してしまうか、
end step で通過可能にする処理を書くとかするしかない。いずれも、かなり面倒になりそう・・・。
それよりも、着地の処理をコリジョンイベントに頼らない方法で着地させ、
その床との接触中に下を押すと gravity を発生させ、
通過中はgravityを0にしないような処理を
キャラ側のステップイベントとかで記述するようにするようにしてみてはどうかな・・・?わかりにくかったらごめん。
0701名前は開発中のものです。
2007/12/18(火) 22:58:45ID:RkfysYSUすり抜け床には使えないな。
0702697
2007/12/19(水) 00:13:09ID:SlaPK2idなんとか工夫してみようと思います。
0703名前は開発中のものです。
2007/12/19(水) 16:31:31ID:8LUQdUPxサンプルデキタ。 solid だとやはり面倒だったんで、solid じゃないやつだけど、参考になれば。
ttp://www.uploadjar.com/133957
0704697
2007/12/19(水) 18:35:50ID:SlaPK2idうーむ。やはりキャラ側で処理した方が良いのか・・・。
頑張ってみます。
0705名前は開発中のものです。
2007/12/19(水) 21:55:33ID:+fFhIeoEキャラ側で指定する時に都合が悪くなければ、
壁用判定オブジェクトを作り、
全キャラにそれを親指定するというのはどうだろう?
0706名前は開発中のものです。
2007/12/20(木) 04:58:53ID:Tb+MgVarありがとうございます。
アクションアイコンのみでしか作った事無かったので難しいですね・・・。
頑張ってみようと思います。
0707名前は開発中のものです。
2007/12/23(日) 00:32:42ID:U9AhK/mz0708名前は開発中のものです。
2007/12/23(日) 00:42:15ID:QJlA1OEF0709名前は開発中のものです。
2007/12/23(日) 05:15:16ID:ZiPFLJZ/つ「global」
0710名前は開発中のものです。
2007/12/23(日) 12:40:14ID:U9AhK/mz0711名前は開発中のものです。
2007/12/27(木) 15:49:32ID:8DGio7LY1フレーム目から正確に表示されず困っているのですが仕様ですか?
主人公が待機状態で攻撃キーを押すと「10フレーム目に攻撃判定を発生させる」主人公オブジェクト@に変化して
アニメーション終了時に元の主人公待機状態に戻るように設定したのですが@が5フレームあたりから始まって攻撃が異常に早く発生してすぐアニメーションが終わってしまったり
11フレームで攻撃判定がなくなってからアニメーションが開始されたりして毎回正確なフレームからスタートされません。
0712名前は開発中のものです。
2007/12/27(木) 18:16:42ID:1ajxqRXW待機状態というのは、何もボタンを押していない状態でしょうか。
その前に何か条件が発生しているのでしょうか。
そしてバージョンは何を使っているのでしょうか。
そしてヘルプは読んでいるのでしょうか。
>>1のリンク先は見ていますか。
容易に仕様と言わないでください。
0713名前は開発中のものです。
2007/12/27(木) 18:22:56ID:1ajxqRXWsprite_index = spr_A
image_index = 0
image_speed = 10
2番目の image_index を変化させてください。
これは subimage の始まりを変えます。
最後の image_speed を変化させてください。
これはスピードが変わります。
再度伝えます。
リンク先のヘルプや exsample を参考してください。
0714名前は開発中のものです。
2007/12/27(木) 18:28:43ID:1ajxqRXWstep の実行順番を再認識してください。
step には順番があります。
それは Begin Step から始まり、最後は Drawing です。
また、イベントの Animation End Event をうまく活用してください。
よりよい Game Maker Life を。
0715HAL
2007/12/28(金) 14:58:17ID:iAadBrLOあとオブジェクトを使ってHPを減らすようにするにはどうしたらいいんですか
0716名前は開発中のものです。
2007/12/29(土) 00:25:14ID:yxji7H+p0717名前は開発中のものです。
2007/12/29(土) 11:53:52ID:YtFwzcBI0718名前は開発中のものです。
2007/12/29(土) 11:54:46ID:YtFwzcBI変を数ってなんだ…orz
0719名前は開発中のものです。
2007/12/29(土) 17:02:58ID:4nUjeBtr変数で二つ目のヘルスを作っても描写で画面に表示する方法がわかりません
バージョンは5.3です
0720名前は開発中のものです。
2007/12/30(日) 03:17:36ID:NSmEj/DShttp://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意味が わからない
あとエンターでプレイヤー表示だけどpressにするのをお勧めするよ一瞬押しただけでも2、3召還されるわけで
0724名前は開発中のものです。
2008/01/01(火) 13:01:48ID:5Zz7hnr70725名前は開発中のものです。
2008/01/01(火) 15:05:07ID:krtrP6kC変と異常ってのは違う意味を指すからおかしくないんじゃね?
0726名前は開発中のものです。
2008/01/01(火) 18:25:13ID:HO6m3WgJ異常な上に変なんじゃね
0727名前は開発中のものです。
2008/01/01(火) 20:03:22ID:krtrP6kC724に言えよ
0728ぺしゃみゅんち
2008/01/01(火) 21:13:12ID:41An0v9b>>723さん 修正しましたがパソコンの調子が悪く
アップロードに時間がかかるのでほかの修正箇所が
出てきたところでアップロードさせなおしていただきます
異常とは本来右左でキャラクターを選択するのですが
怪鳥から左を押すと獅子になるはずが怪鳥のままになっているのです
また次が獅子になるはずのところでは怪鳥に飛んでしまうのです
どうしてこんなことがおきてしまうのでしょうか?
去年の9月から考えています
しかし分かりません
助けてください
0729名前は開発中のものです。
2008/01/02(水) 03:01:30ID:0XzNgAng所々に音を鳴らす命令を入れて実験してみたところ、どうやら
オブジェクト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あと描画イベントの使い途がいまさら解った
嘘みたいだろう?俺、いままで文字とかいちいちスプライト作って表示してたんだぜ?
0732名前は開発中のものです。
2008/01/04(金) 17:38:30ID:JG5m5wPm0733名前は開発中のものです。
2008/01/04(金) 23:16:21ID:cqFFi5wRGM自体は動くみたいだけど…
0734名前は開発中のものです。
2008/01/05(土) 02:05:40ID:NZZVqR2v実行形式はまだ試してないけど
0735名前は開発中のものです。
2008/01/06(日) 18:55:38ID:OjABw8Q7「スコア:○○」のように前に出すのではなく「○○点」のように表記したいのですが可能ですか?
0736名前は開発中のものです。
2008/01/06(日) 20:34:01ID:nLpXdUSy'' + string(スコア) + '点'
でできた
0737名前は開発中のものです。
2008/01/06(日) 21:29:22ID:OjABw8Q70738名前は開発中のものです。
2008/01/08(火) 12:36:23ID:G/0Io5dz0739名前は開発中のものです。
2008/01/08(火) 20:46:53ID:HXQlUjj30740名前は開発中のものです。
2008/01/09(水) 10:04:09ID:jHNZrdiZ0741ぺしゃみゅんち
2008/01/15(火) 21:32:09ID:hN1kqTH6しかし変数などが分からないのですが
誰か5.aで開ける>>729さんのいっていたようなフラグ変数
をつかったサンプルもしくは私のアップしたものに手を加えたものを
アップしてくれるとうれしいです。
ここで説明していただいてもかまいませんが
サンプルなどをアップしてくれたほうがうれしいです。
よろしくお願いします
0742名前は開発中のものです。
2008/01/15(火) 23:50:06ID:DrVh3adF簡単なやり方としては
・今キーイベントに置いている内容をアラーム0イベントに移動
(「イベントの変更」を使うと楽)
・かわりにキーイベントに「Set an alarm0」を置いて値を1にする
これでインスタンスの変化が1ステップおいて起こるようになる
0743名前は開発中のものです。
2008/01/18(金) 02:01:25ID:CrDQFjAi直角や180度いっきに回転してしまうんですが
クルーってかんじに遠回りして追尾させたいんですが
どうすればできますでしょうか
0744名前は開発中のものです。
2008/01/19(土) 00:58:07ID:dhI4eC+v0745名前は開発中のものです。
2008/01/19(土) 02:10:04ID:pvbjWxudあるとすれば
・6以降の新しい機能が使えない
・レジスト機能使う時に、登録しにいかなくちゃダメ
ってくらいだな。
0746名前は開発中のものです。
2008/01/19(土) 06:44:46ID:lpPp39mj日本語化辞書
途中だけど、続き誰か頼む
使い方教えてとかいう、ググれない厨は落とさないように
0747名前は開発中のものです。
2008/01/19(土) 15:34:14ID:Rw9P3/DK0748名前は開発中のものです。
2008/01/22(火) 21:09:08ID:45T81GjC今どうやってるん?
0749名前は開発中のものです。
2008/01/22(火) 21:17:39ID:ocbbdzjm本家では新しいの出るんかな
0750名前は開発中のものです。
2008/01/22(火) 21:22:18ID:NoSS/6O8いきずまってます\(^o^)/
動いてる方向を取って1/3ステップ進ませて今進んでる方向がうんたらかんたら
0751名前は開発中のものです。
2008/01/23(水) 02:48:32ID:Q1tjyTbCものすごくGJ
0752名前は開発中のものです。
2008/01/23(水) 04:18:28ID:b5xhxs/kすまんが現状どうやってるのかよくわからん
角度を常に変数でもたせておくなりして三角関数使わないと難しいんじゃないだろうか
俺ならミサイルの単位時間に動かせる角度と距離固定して目標追わせるかな。
0753名前は開発中のものです。
2008/01/24(木) 03:09:34ID:n00gmxlnまた製作の壁にぶつかってしまい困っています。
GM7でアクションゲームをつくっています。
現在、ロックマンのように、自キャラが移動をしながら攻撃ができるようになっています。
これを魔界村のように、移動中に攻撃ボタンを押したら、立ち止まって攻撃するようにしたいのですが、どうすれば良いでしょうか?
ソースをあげておきますので、
どなたか解る方がいらっしゃいましたらご教授下さい。
ttp://www11.axfc.net/uploader/20/so/He_66684.zip.html
Keyword(DLパス)は0011です。
0754748
2008/01/24(木) 12:00:40ID:gZRHXEEh自分>>34なんだけどうpしてるやつの最初の方にホーミングミサイル撃つ敵
つくってあるんだけどこんな感じの作りたいの?
0755名前は開発中のものです。
2008/01/24(木) 12:22:14ID:gZRHXEEhobj_usagiオブジェのキーボードイベント<left><right>のアクション全体をcan_attack変数が1の時だけ実行するように
If a variable has a valueを置いてみたらいいんじゃない?
0756753
2008/01/27(日) 02:40:32ID:v3yvH1+7すばやい回答ありがとうございます。
無事自キャラが止まって攻撃が出来るようになりました!
半月間も悩んでたので本当に助かりました。
ありがとうございました。
0757729
2008/01/27(日) 04:15:44ID:PCXtfTLDあ……なるほど。
pressKeyで即オブジェ変更するんじゃなくてAlarmイベントで実行させれば
複雑にフラグ変数を使わずに済みますね。勉強になります。
0758名前は開発中のものです。
2008/01/29(火) 11:37:55ID:n2eeRZD+オブジェクトのソースを出力ってできますか?
オブジェクトがたくさんあると手作業ではちょっと厳しい...
0759名前は開発中のものです。
2008/01/29(火) 21:35:15ID:fH/FU5dj名前からは想像がつかないが、全オブジェクトの情報を
一気に出力してくれるというすぐれモノだ。
オブジェクトたくさん作りすぎてるとエラーで死ぬけどな!
0760名前は開発中のものです。
2008/01/29(火) 23:51:12ID:n2eeRZD+止まった\(^0^)/
450個もオブジェクトがありゃそりゃ固まるか。
0761名前は開発中のものです。
2008/01/31(木) 18:22:51ID:fnpWL05fばーか
0762名前は開発中のものです。
2008/01/31(木) 22:04:15ID:TXruG4et( ^ω^)…
0763名前は開発中のものです。
2008/02/01(金) 00:34:05ID:a4c4UVam>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/lsolid 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前提として4キャラ同時に操作するということを書いてませんでした、すいません。
1キャラ操作のアクションゲームならそうするんですが、
多キャラを操作するときなどに、他のキャラがブロックの上にいるときとかに
Solidを解除すると乗っているキャラが落ちてしまうので悩んでいます。
0767名前は開発中のものです。
2008/02/08(金) 19:10:03ID:mtgOpTzWifを何個か重ねたらだめなのか?キャラごとに
0768名前は開発中のものです。
2008/02/08(金) 19:29:09ID:zFVnBZNt4Pが床(足場)にしたからすり抜けようとしたときにぶつからない?
1Pが上にいるからSolidはONになってるはずだし
0769名前は開発中のものです。
2008/02/08(金) 20:41:16ID:2GE6uT/lSolid同士の衝突は貫通しない以上、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■ このスレッドは過去ログ倉庫に格納されています