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

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

レス数が1000を超えています。これ以上書き込みはできません。
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/
0983名前は開発中のものです。2008/05/08(木) 23:59:36ID:SznEXsr7
>>982
うぅ、調べてみましたが、難しいんですねぇ。。。

紐の長さ、X軸間の距離からY軸の高さ(たるみ具合)を算出したかったけど
私の頭ではどうも・・・


ありがとうございましたm(__)mペコ
0984名前は開発中のものです。2008/05/09(金) 04:40:36ID:kRE/rDCD
みなさんは衝突判定ってどうやってます?

衝突判定用コードを作るのはいいんですが
オブジェクト(敵キャラ)の種類が増えた影響で
オブジェクト毎に個別のコードを作らなくてはならないので
管理が難しくなってしまっています。

条件分岐で「何かのオブジェクトから衝突された」が「真」の場合
衝突してきたオブジェクトのインスタンスIDを抜き出して「真」の動作を
行わせたいのですが、何かよい方法はないでしょうか?
0985名前は開発中のものです。2008/05/09(金) 05:46:09ID:Q2m0sNzP
オブジェクトの継承を利用するのがよいかと。

例えば敵キャラが複数あるなら、次のように改造してみては。
敵キャラオブジェクト(obj_teki)というのを一つ作る。
しかし、obj_tekiには何も実装しないで、実際の敵キャラは別オブジェクトで作る(これは作ってあるものでOK)。
そして、その敵キャラオブジェクトの親オブジェクト(parent)に、obj_tekiを選ぶんだ。
こうした後、自キャラで obj_teki との衝突判定を設けることで、
obj_teki を親オブジェクトに設定した全ての敵キャラとの衝突処理が行えるようになる。

オブジェクトのタイプで条件分岐したければ、other.object_index の値をみればよい。
※ 継承はアドバンスドモードじゃないと使えない

とはいうものの、個人的には、
継承を利用した処理では共通のものだけに留めておいて、
敵キャラに応じた特別な処理がある場合のみ、
敵キャラのほうで処理させるほうがいいような気もする。
0986名前は開発中のものです。2008/05/09(金) 13:44:19ID:kRE/rDCD
>>985
そんな方法が…、ありがとうございます。
なるほど、やっぱりレジスト必要なんですねぇ。

レジストで使いたい機能が増えてきたんで
さっき、決済してきました。

うーん、プロダクトキー発行って結構時間かかるものなんですかねぇ?
クレジット決済なら即発行ってイメージを勝手に持ってたので
未だに届かなくて不安ですねぇ
0987名前は開発中のものです。2008/05/09(金) 13:46:25ID:gDIxCEqd
アドバンスドモードはレジストする必要がないぞw
0988名前は開発中のものです。2008/05/09(金) 14:11:31ID:kRE/rDCD
6.1Aなんですが

object_set_parent(id,obj_mob) で
「This function is only available in the registerd version.」を
吐かれているんですが、これってレジスト限定では?と思ったのですが


いずれにしても、「image_angle」とか使いたかったんで
早とちり決済ではないんですが

むしろ、さっきやった決済画面で入力ミスってないかどうかが心配…
プロダクトキーまだかな。。。
0989名前は開発中のものです。2008/05/09(金) 19:42:41ID:LcL1siXe
>>988
ゲーム実行時にリソースを変更する機能は、確かにレジスト限定ですね。
parent設定は、オブジェクトの編集画面の左側でできますよ。

レジスト関連については、>>566-572 >>574 が参考になるかと…。
0990名前は開発中のものです。2008/05/09(金) 21:10:43ID:Fb9VS2l9
日本ってノベルやRPG作るツールは結構作られてるんだよな
まあ探せば色々ジャンル別に製作ツールあるんだが
0991名前は開発中のものです。2008/05/10(土) 21:04:53ID:lJro9tCk
1000も近くなんですが、質問させてください。

コマンドには「if」と「else」がありますが
「elseif」ってコマンドは存在しないでしょうか?
ヘルプにも無さそうだったので…

いつも以下のような書き方をしていまして、見た目がよろしくない状態です。

if
{
---A---
}
else
{
if
{
---B---
}
else
{
---C---
}
}

何か他にうまい方法は無いでしょうか?
0992名前は開発中のものです。2008/05/10(土) 21:25:52ID:fsMtXR8Q
else if でいい。
あと、場合によってはswitch文の方がいいときもある。念の為。
0993名前は開発中のものです。2008/05/10(土) 21:43:17ID:lJro9tCk
>>992
( ゚Д゚)Σ
そうすれば{}でわざわざククル必要も無くなるっと…
そんなに簡単な事だったのですか… orz (イママデノクロウハ…)
ありがとうございます!助かります!
0994名前は開発中のものです。2008/05/10(土) 22:16:44ID:ZTqrrlup
また質問に来ました。
http://www.arcadetown.com/deadfrontiernighttwo/gameonline.asp
新しく上のアドレスのゲームみたいな物を作りたいと思うのですが、
以下の事がわかりません。。GMLはあまりわからないので、
なるべくイベントとアクションで教えていただけるとありがたいです。
わからない事
・マウスポインタの画像変更
・マウスの方向によって画像を変更する
・マウスの方向に弾を撃つ(オブジェクトを作成し、移動させる)

教えてください。
0995名前は開発中のものです。2008/05/11(日) 01:42:28ID:PRhlwPyW
次スレ

【2D】ゲーム作成ツールGameMaker part3【マンセー】
http://pc11.2ch.net/test/read.cgi/gamedev/1210437707/
0996名前は開発中のものです。2008/05/11(日) 02:11:17ID:AX4c16UA
>>995 乙です。

>>994
1番目はextraタブにあるマウスカーソル型のアイコン
3番目はmoveタブにある「Move in the direction of a point」
(矢印が青丸を指しているやつ)で移動先に mouse_x, mouse_y を指定。
あるいは「Create an instance with a motion」(豆電球+矢印)を使って
directionの所に point_direction(x, y, mouse_x, mouse_y) と入れてもいい。

で、2番目はGM6以上使ってるなら image_angle = direction で終わり。
GM5以前、あるいは向きによって複数のイメージを使い分ける必要があるなら
directionの値によってイメージを選ぶようなコードを書かなくちゃいけない。
0997名前は開発中のものです。2008/05/11(日) 13:02:06ID:cmOvm32X
>>995 お疲れ様です

>>996
なるほど。ご返答ありがとうございます。
早速いじってきます〜ありでした〜
0998名前は開発中のものです。2008/05/11(日) 14:02:50ID:cmOvm32X
やっててわからないので再び聞かせていただきます。
もう1000近いので、いざという場合は次スレに返答をよろしくお願いします。
>>996さんの文の
1番目のアイコンは使うにはレジストが必要という解釈でいいですよね?
レジスト。。してみようと思います。
そして、
>で、2番目はGM6以上使ってるなら image_angle = direction で終わり。
>GM5以前、あるいは向きによって複数のイメージを使い分ける必要があるなら
>directionの値によってイメージを選ぶようなコードを書かなくちゃいけない。
との文章がありますが、そのimage_angle = direction はどこに書き込めばいいのでしょうか
返答をお願いします。
0999名前は開発中のものです。2008/05/11(日) 15:22:09ID:AX4c16UA
>>998
かわりにゲームオプションでカーソルを表示しないように設定して
カーソルと同じ位置(mouse_x, mouse_y)に自作のオブジェクトを
表示する方法でもいける。

image_angle = directionってのは変数を設定する時の書式ね。
Set the value of a variable(VARと書かれた四角)を置いて
variableの欄にimage_angle、valueの欄にdirectionと入れる。
ってimage_angleもレジストしてないと使えないか。

レジストしてない場合、コードを書く必要があるけど
向きごとに別々にスプライトがあるのかそれともフレームが分かれてるのか、
全部で何方向あるのかとかで対応が違う。
まあ、何方向でも構わないからなるべくスムーズにしたいというのなら
1. スプライトエディタで Animation > Rotation Sequenceの機能を使って
360°分回転させたイメージを作る(36フレームくらいがおすすめ)
2. StepイベントでVARアクションを使って次の変数を設定
image_single = direction / 360 * image_number

あと、画像を変更したいオブジェクトが弾じゃない(動いてない)場合は
「direction」の部分を「point_direction(x, y, mouse_x, mouse_y)」に変えてみて。
1000名前は開発中のものです。2008/05/11(日) 15:35:02ID:cmOvm32X
>>999
大体すべきことはわかりました。
ゲームオプションでマウスを消す方法って物がわからないので、
それを次スレで聞かせていただきます。

なお、このレスが1000であればGame Makerでゲームを作っている人は技術が向上します。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。