トップページ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/
0353名前は開発中のものです。2007/04/11(水) 17:27:54ID:uDjOT380
いまからこれやり始めようと思ってるけど
tonyuとどっちが簡単?
0354名前は開発中のものです。2007/04/11(水) 23:27:11ID:XaHk6A2z
>>351
みえた
0355名前は開発中のものです。2007/04/12(木) 00:54:45ID:QrBMbbB1
>>352>>354
見れるようになってますね。お騒がせしました
>>352
GML最初のうちは短いコードで慣れていくのもいいし
書かなくともヘルプファイル見るだけでも結構動きの
構想とかしやすくなると思うのでヘルプは目を通して
おいたほうがいいよ
Game Maker 言語 (GML)のゲーム動作〜リソースの
項目は読んでおいたほうが得です。ボリュームもそんなに多くないし
0356名前は開発中のものです。2007/04/12(木) 22:27:46ID:Sbn3uWuO
>353
両方触ったことあるけど、
tonyuの方が使いにくかったかな。
変数の設定とかがややこしかった、

あとtonyuはけっこう重いので、凝ったゲーム作り出すとキツイ。
まぁGameMakerも50歩、100歩だけど。

英語で拒否反応でないならGameMaker、
でるならtonyuで良いんじゃないかな。
0357名前は開発中のものです。2007/04/12(木) 23:18:34ID:mKQY5DpX
ライフ表示させても-1になっちゃうんだけど、
ライフポイントの設定ってどこでやるんだ?
0358名前は開発中のものです。2007/04/13(金) 03:41:08ID:NNey5tvn
>>357
>>343がらみ?だとすると
livesは変数だからゲームループ用オブジェの生成イベントなどに
「Set the value of a variable」アクションで代入するか
一番最初のルームの「Creation code」ボタン押して
lives=10;
とか書いてみたら?
0359名前は開発中のものです。2007/04/14(土) 21:57:31ID:jjaaUazu
>>358
うーん、前者はうまくいかないし後者は死んだりしても
ライフポイントが10のままになるなぁ。

とりあえず変な方法で自己解決しますた
0360名前は開発中のものです。2007/04/29(日) 00:32:56ID:HfNWiMIn
アクションゲームでよくある、
敵にぶつかったら少しの間無敵ってのをやろうとしてるんだけど、
何故かその状態になったら地面にめりこんでいってしまう・・・
何故なんでしょうか?
0361名前は開発中のものです。2007/04/29(日) 00:35:42ID:HaLkae7w
地面との当たり判定が消えてるからだと思うよ
0362名前は開発中のものです。2007/04/30(月) 15:28:50ID:A4GmDhZw
スプライトを透明にした瞬間に、当たり判定がなくなってしまっているからかと思われる。
Maskを別に設定(オブジェクトのダイアログで設定できる)しておけば、
スプライトを透明にしても当たり判定がなくなることはない。
0363名前は開発中のものです。2007/04/30(月) 17:44:34ID:lkMf0FqM
6と7ってどう違うの?使うスクリプト同じ?
0364名前は開発中のものです。2007/05/01(火) 01:19:29ID:jv2UXUrh
>>363
5→6の時と違ってほぼ完全上位互換。6で作ったゲームもそのまんま動く。
その分見た目的には大きな進化はなくて、ダイアログ関係とか印刷とか
地味なところが強化されているってのが今のところの印象だな。
0365名前は開発中のものです。2007/05/03(木) 04:06:18ID:RLRXPrc7
>>349ですが、前のステージでのキャラクターの状態によって、
次のステージでマリオ・スーパーマリオどちらかの状態で
始まるようにするにはどうしたらいいでしょうか?

同じステージを2つ作って、(最初の立ち位置が)マリオ用・スーパーマリオ用
に分けるとか考えてみたのですが、その分重くなりそうで…。
0366名前は開発中のものです。2007/05/03(木) 12:37:46ID:fBZoJtsj
つ [オブジェクトのpersistentにチェック]

これをすれば、ルーム間でインスタンスが保持されるようになるよ。
そういうオブジェクトを1つ作っておくと、ルーム間での値のやり取りができるから便利。
0367名前は開発中のものです。2007/05/03(木) 12:49:48ID:fBZoJtsj
あ、値のやり取りだけなら、別にグローバル変数でもいいのか。失礼。
0368名前は開発中のものです。2007/05/14(月) 16:47:04ID:wDJv4xoP
GM6ってもう今はDLできない?
0369名前は開発中のものです。2007/05/14(月) 22:52:19ID:6E+INFL2
つ ttp://www.gamemaker.nl/old.html
0370名前は開発中のものです。2007/06/13(水) 20:10:00ID:obp421sd
ツクールに不満を感じた俺
とりあえず今からDLだぜ
0371名前は開発中のものです。2007/07/12(木) 07:50:07ID:qy2/B/jA
今月始めぐらいからチュートリアルにらみながらゲーム作ってる
が、Game Maker Japanの表示が妙に重くて、ページを切り替えるたびにやきもきしてる
現在8時前だけど状態は変わらず・・・うーむ。
0372名前は開発中のものです。2007/07/13(金) 00:29:18ID:OaGbqBn6
気合で乗り切る
0373名前は開発中のものです。2007/07/18(水) 06:22:52ID:UXcd6qfL
ロックマンを見習いつつ横スクロールアクションを作ってみてるんだけど
画面左上に常にライフゲージを表示しようとしてるものの、キャラが
横に移動して画面がスクロールするとゲージが置いてけぼりになってしまう
どうにかうまいこと常に画面左上に表示ってできないかな?
0374名前は開発中のものです。2007/07/19(木) 01:44:05ID:tSFqaNoK
>>373
座標をビュー相対で指定してやればいい
x1: view_xview[0] + 10
y1: view_yview[0] + 20
x2: view_xview[0] + 110
y2: view_yview[0] + 30
ってな感じで。
0375名前は開発中のものです。2007/07/19(木) 09:09:31ID:nvp/X0pz
>>374
返答有難う!ちゃんとスレ見てくれてる人がいたのがまず嬉しい。
で、教えてもらった方法で記述してテストしてみたら、エラーがでてしまった
翻訳ページで翻訳してみたら、変数を定義していない?みたいな感じだった
おそらくview関連の変数を指定する場合準備が必要なのかもしれない・・・
が俺は変数関連の知識に乏しいので断念した。

他の方法を探してみたら、wikiの作品まとめのページにあった
「ふぁんたじぃさんミニステージ」で俺のやりたかったことをやってくれてたので
拝借して構成を覗いてみた。そうしたらルームのビューを二つ指定するという
至極簡単な方法で解決していたので驚いた。今それを真似て成功したところ。

>>374のアドバイスを参考に出来なかったのは非常に申し訳ないが
今後もしばしば悩みどころが出てくると思うので、自力で解決できなかった時は
またアドバイスをお願いしたい。
ちなみにGMのバージョンは5.3Aでやってる。(これも最初に言わなかったのは申し訳ない)
0376名前は開発中のものです。2007/07/19(木) 20:07:07ID:xOA1USa+
作成途中でもうpするとこのスレも盛り上がるよ
ソース公開したくなければ実効ファイルにしてうp
0377名前は開発中のものです。2007/07/19(木) 23:32:25ID:tSFqaNoK
>>375
GM5だったらこうだな。
view_xview → view_left
view_yview → view_top
view_wview → view_width
view_hview → view_height
5と6以降ではけっこう違いがあるので
気をつけた方がいいかもね。
0378名前は開発中のものです。2007/07/22(日) 10:28:04ID:WAhC1ZLe
GM7って、必要スペックが6よりも高いみたいだ。
最低ビデオメモリも32MB必要だし。
軽さを重視するなら5.3Aにするべきかな……。
0379名前は開発中のものです。2007/08/14(火) 00:03:24ID:9wyA8dRN
最近GM5でロッ○マンを作っている者です。
ジョイパッド使用のゲームを作りたいのですが、ジョイスティックで
Key release みたいなイベントの使い方って出来ないのでしょうか。
良かったら教えて下さい。
0380名前は開発中のものです。2007/08/14(火) 00:26:20ID:12cRFs0g
最近ゲーム作りを始めたのですが
中間地点を通った後以降の死亡判定後は中間地点から
始まるようにするにはどうすれば良いのでしょうか?
分かる方是非教えて下さい。
0381sage2007/08/16(木) 13:34:33ID:lv13P6Ug
>>379
>>160>>161に同様の質問、返答があるのでそちらを
参考に組んでみてはいかがかと・・
03823812007/08/16(木) 13:47:27ID:lv13P6Ug
あう あげちまった・・・逝ってくる
0383名前は開発中のものです。2007/08/16(木) 14:43:31ID:lv13P6Ug
>>380
その場復活じゃなくて、戻り復活ってやつですよね?
作りこみの仕方でやり方変わると思う。例えばシューティングの様な強制スクロールだと時間軸メインで
考えやすいのでタイムラインを使用する選択が思いつくし、
ロッ○マンのような任意スクロールだと時間軸じゃなくてルームの位置で判断させるんだと思うからスプライトを
非表示にしたオブジェクトをルームに配置し、自キャラと衝突判定させるやり方をするとか・・
自キャラのふるまいの仕様とかも関係してる場合もあるし、なんとも言えないんだけど
自分は前者のタイムラインを使った戻り復活やったことあるので一応書いてみます。
参考にならないかもですが・・・
0384名前は開発中のものです。2007/08/16(木) 15:30:09ID:lv13P6Ug
>>383のつづき
当方gm6.2
1,自キャラオブジェクト(ここではmycharaとしておきます)に復活ポイントを保存する変数(ここでは例としてres_flとしておきます)を登録してやって初期値0を代入する
 (roomのCreationCodeに mychara.res_fl=0と入力)
2,死亡判定処理の一番最後に「Restart the current room」アクションを置く
3,敵の出現するパターンを登録したタイムラインに復活ポイントの時間に相当するステップへres_flに1とか2とか任意の値を再代入する。
4,3のタイムラインの一番最初のステップへswitch文を使ってres_flにて分岐判断させ、timeline_positionを使って復活ポイントへ飛ばしてやる。


0385名前は開発中のものです。2007/08/16(木) 15:47:41ID:lv13P6Ug
>>383のつづき2
4000,8000ステップに復活ポイントがある場合以下の様になる
switch(mychara.res_fl)
{
case 0:
break;
case 1:
self.timeline_position = 4000;
break;
case 2:
self.timeline_position = 8000;
break;
}
こんな感じで、初めてこのルームにきたときはres_flは0なのでcase 0:を通りbreakするのでタイムラインは今のステップのまま続行される。
4000ステップを超えた後に死亡判定が立てばカレントルームがリスタートするが4000ステップでres_flに1が代入されているのでcase 1:を通り
4000ステップまで一気にジャンプする8000ステップも同じ・・・と自分の場合こんな風にやってみました。参考になるかな^^?
0386名前は開発中のものです。2007/08/16(木) 17:02:09ID:lv13P6Ug
>>383の補足
上の例は自キャラであるmychara死亡判定時、自キャラに対しdestroy the instance(インスタンス破棄)はせず
やられた用のスプライトを差し替えをしてライフを1つ減らしています。ですのでres_flは初期値にリセットされません。
またif文を用いて
ライフの数が0以上なら「Restart the current room」、
0未満になれば「Restart the game」する様、分岐させています。
0387名前は開発中のものです。2007/08/21(火) 03:17:21ID:Y9/E+LWQ
>>381
返答ありがとうございました。もちろん読ませて頂いたんですけど
これだと十字キーではできないかんじですよね?スライディングが
したくて…><
0388名前は開発中のものです。2007/08/22(水) 22:29:28ID:zLT3+18j
>>387
>>161のGMJリンク先はジョイスティックのボタンだったんだ。すまそ、
>>161のリンク先の書いてる内容が理解できてらっしゃるのなら
ボタンの状態を調べるjoystick_chech_button()関数代わりに
十字キーの状態を調べる関数joystick_xpos()またはjoystick_ypos()を使えばいいかと・・・
スライディングだからjoystick_xpos()だと思う。
この関数、十字キーで右に入力すると”1”を、左に入力すると”-1”を、横方向の入力がない場合は”0”を出力します。
それから>>182>>185>>187の書き込みにあるようにゲームパッドによっては中立位置”0”を厳密に返さないもの(0.0021とかになる)があるという
不具合もわかっているのでround()関数を使ってjoystick_xpos()関数を丸めてから使うといいです。
しかし老婆心ながらリリースするごっとにスライディングするのはどうかと・・・まぁそこらへんは考えてるとはおもうけどね・・・
03893882007/08/22(水) 22:42:15ID:zLT3+18j
× joystick_chech_button()関数代わりに
○ joystick_check_button()関数の代わりに
joystick_ypos()は別にいらんかったか・・・
誤字脱字多くてすみません
03903882007/08/23(木) 00:12:24ID:bkzzA+nn
>>387
過去に同じような内容の書き込みがあったなとあまりよく読んでなくて正直すまなかったです。
とりあえず自分が思うところは>>388のとおりです
03913872007/08/23(木) 04:22:24ID:KyDjC5ZC
>>390
ありがとうございました。正直こんなに親切に回答していただけるとは思っていなかったので…。
心から感謝します!さぁ、これでがんばるぞ!
0392名前は開発中のものです。2007/08/23(木) 18:15:25ID:ARupBfNU
あまりプログラムについて関係ない話になって恐縮ですが・・・

wikiなどから他の方々の作品を参考にさせていただいているのですが、
皆さん画面サイズ小さめで作られているように見受けられました
自分は現在640x480のサイズでアクションゲームを作成しているのですが、
これだと環境次第で処理が重くなったりするのでしょうか・・・?
0393名前は開発中のものです。2007/09/08(土) 18:44:33ID:4uM7iYSL
あうあうあうぁー・・・・
なんでジョイパッドにはpress/releaseが用意されてないんだろう・・
GMLで出来るのも知ってるし、やってるけど、
press/releaseイベントを用意しない理由が良くわからない。
0394名前は開発中のものです。2007/09/08(土) 19:07:46ID:85eGhnYf
>>392
亀レスだけど現時代のロースペックPCならば
そのサイズでいいんじゃないかな
0395名前は開発中のものです。2007/09/09(日) 12:49:53ID:UoCGhB6S
↑や→でその方向にキャラクターを動かせるのですが
斜めに動かしたいとき↑→同時押しに設定するのは可能ですか?
0396名前は開発中のものです。2007/09/09(日) 22:16:05ID:/p7HxcHm
>>395
「可能ですか?」と聞かれたら答えは「可能です」だけど、
「具体的にどうすればいいの?」ってのならその2行じゃ答えにくいです。
「現状の段階でどのイベントでどのアクションを使って動かしてる」とか
「GMLは使えるよ〜」などの追加情報がほしいところ・・
でなければ作成途中ファイルをゲムデヴにうpするなりしてちょ・・・・
とかいいつつGMLが使えるなら、前スレ>>758に移動距離補正のGMLを
載せたサンプルファイルがあるから参考にしてみればいいと思うよ
(過去ログURLは>>50にあり)
0397名前は開発中のものです。2007/09/09(日) 22:31:05ID:hOxeF4wt
移動のみに着目するなら難しいことを考えずに
「↑入力で上に移動」「→入力で右に移動」と設定すれば
同時に入力すると斜めに動くと思う
03983962007/09/09(日) 23:25:01ID:/p7HxcHm
>>397
自分も最初そういうふうに思ったんだけど
>>↑や→でその方向にキャラクターを動かせる
とあったのでPressイベントで書いてないのかも・・とか思ったんだ。
長ったらしかったかな?
0399名前は開発中のものです。2007/09/11(火) 19:05:04ID:Gh8tZ+fJ
ver5とか6とか7とかみんな言ってるけど、
どれだけ違うのこれ、初心者は5?
英語読めれば初めてでもそれ以降で可?
0400名前は開発中のものです。2007/09/11(火) 22:21:20ID:jdaCXeMV
まあ、レジストして使うつもりなら基本的には新しい方がいい

5を使うメリットとしては
・動作条件がゆるい→多くの人に遊んでもらえる(可能性がある)
・日本語化できる
・日本語をそのまま描画できる

一方、6以降だと最大の魅力はスプライトの回転ができること。
他にも半透明機能がふんだんに使える、組み込みのエフェクトなど
グラフィック面が大幅に強化されている。
ただし追加機能のほとんどはレジストが必要。
ちなみに6と7は、普通にゲーム作る分にはほとんど差はないかな

このへん天秤にかけて選ぶといいと思うのだが
5って今レジストできたっけ?
0401名前は開発中のものです。2007/09/12(水) 00:29:19ID:fg25ornc
6を購入したときは、YOU!こいつは5も使えるKEYだぜHAHAHAって書いてあった。
04023992007/09/12(水) 01:51:07ID:r4gQgCh/
>>400
情報ありがとう。
それなら「とりあえず」将来性?もありそうな7を使うことにします。
ぐるぐる回るのは絶対使う気がしますしね。

>>401
よっぽど6の動作に自信がなかったんでしょうか。

初めてですが適当に作ってみました。
適当って言うか、投げやりです。ニコ動に上げてみた。
ttp://www.nicovideo.jp/watch/sm1041515

遊べるレベルでは、無い。
0403名前は開発中のものです。2007/09/12(水) 02:27:03ID:wCm8h5Qq
>>402
是非とも本家を超える難易度で完成させてくれ。
0404名前は開発中のものです。2007/09/12(水) 10:07:21ID:qUDFwcmG
Ver6は変数が6、7桁までの数値しか扱えないってのもネックじゃないかな。
日本語描画なんて絶対に必要だろうし、VRAMが32MBともなると、
動かないPCがかなり出てくるんじゃないかと。
0405名前は開発中のものです。2007/09/13(木) 07:32:54ID:QTqHCpBm
強制横スクロールってのはどうやればいいんですかね
キャラが画面からはみ出ないように
0406名前は開発中のものです。2007/09/14(金) 23:09:41ID:yqNW6zY+
>>405
オブジェクトにビューを追従させるかわりに自分で動かす。
たとえばキャラクタのStepイベントにこんな風に書いておく。

view_xview[0] += 2;

キャラクタがはみ出さないようにするのはこんな感じで。
(スプライトのサイズとか計算に入れて調整した方が
いいかもしれないけど)

x = min(max(x, view_xview[0]), view_xview[0] + view_wview[0]);
y = min(max(y, view_yview[0]), view_yview[0] + view_hview[0]);

GM5の場合は変数名が違うので、>377を参考に書き換えてくれ。
0407名前は開発中のものです。2007/09/16(日) 02:26:50ID:Jr4lZJq+
出来ました。ありがとうございます

それとマップの最後のほうでボス等が現れたとき
画面のスクロールを止めたいのですがそれはどうすればいいのでしょうか。
0408名前は開発中のものです。2007/09/16(日) 22:57:11ID:KiAjhsb3
予めボスのところに見えないオブジェクトを置いて、
それが画面内に入ったらビューのスクロールを止めるようにすればよいかと。
0409名前は開発中のものです。2007/09/17(月) 02:33:49ID:w06cRgAN
ちょっと関係ない質問ですまないです
>>402氏の様な録画はどういった方法がお勧めですか?
できれば音付きで
0410名前は開発中のものです。2007/09/17(月) 08:21:42ID:lhifefbO
ゲームの録画はfrapsを使うな。
無料のソフトもあるけど、それだとコマ落ちしてしまう。
0411名前は開発中のものです。2007/09/17(月) 09:15:55ID:xMFEKfRa
使うなよと言っているのか俺はこれを使っているよと言っているのか
0412名前は開発中のものです。2007/09/17(月) 09:20:05ID:fcLNcExh
WMEで十分
0413名前は開発中のものです。2007/09/17(月) 10:23:54ID:JW6xQlOz
GameMakerって32x32のスプライトをだいたい何個くらいまで出しても処理落ちしませんか?
0414名前は開発中のものです。2007/09/18(火) 19:52:17ID:3LUcBFIL
ttp://gamemaker.main.jp/modules/articles/article.php?id=19

これの部屋を広げて、ボールを敷き詰めてみたけど処理落ちしなかった。
でも、人によって環境違うから、自分で試してみた方がいいよ。
0415名前は開発中のものです。2007/09/18(火) 22:44:37ID:cbpWAXQe
グラディウスのようにスピードを何段階かあげるようにしたいのですがどうすればいいのでしょう。
普段はキーを押したときjump to given positionでその方向に5程度動かしているのですが

特定のキーを押したら速度が1.5倍になって、もう一度押したら初期状態の2倍になって…という感じで
0416名前は開発中のものです。2007/09/18(火) 23:33:40ID:N5uJH6ZI
変数を使えば良いと思うよ
jump to given position のところを 速度を表す変数 "spd" (名前は適当でよい) とかにして、
Key Press イベントで Set the value of a variable アクション( 四角でVARと書いてあるアイコン)を加えて、
variable のところに spd 、 value のところに spd+5 とかすると、押されるたびに速度が +5 されていくようになる
0417名前は開発中のものです。2007/09/19(水) 00:24:58ID:K3MABk9U
>>415こんなのでどう?詳細はヘルプorマニュアル参照の事
@まず変数
 ・現状のスピードを覚えとく変数(説明のため仮にNow_speedとする)
 ・今が何段階なのかを覚えとく変数(仮にspeed_selectとする)
を用意する。これはCreateイベントにて[Set the value of variable]で初期値を代入すればおk
A[jump to given position]のx:y:の"5"といれているとこを"Now_speed"に書き換える
BkeyPressイベントで[If a variable has a value]でspeed_selectの値をチェックし[Set the value of variable]で
Now_speedの値をその時の段階数speed_selectに応じたスピード値に書き換えてやるとともにspeed_selectも
[Set the value of variable]で次の段階数へ更新してやる。
(2つの[Set the value of variable]は[Start of a block]と[End of a block]ではさむ事をお忘れなく)

これでキーを押すごとにスピードが変化する
段数を多くすると必然的にBの[If a variable has a value]と[If a variable has a value]の数が多くなっていくから
GML使えるならswitch文を使う方がスマート
04184172007/09/19(水) 00:30:17ID:K3MABk9U
うは 先答者いたw
0419名前は開発中のものです。2007/09/19(水) 07:42:02ID:PrEtAf1p
>>416-417
ありがとうございます
変数は一応使っていたのですが速度を変数にするのは気づきませんでした
0420名前は開発中のものです。2007/09/20(木) 21:56:13ID:4DzNB1VD
横から視点のゲーム作ろうとしてるんだが乗れる床が作れない
ジャンプしたら着地したときに少し滑るって動きをさせてるんだが普通の横移動で突っかかったようになる
バージョンは7GMLなんて聞いたことない過去ログは読んでない
アドバイスくれ
0421名前は開発中のものです。2007/09/20(木) 22:31:17ID:5F1p/CW6
度々すみません
強制スクロールにすると画面下のアイコンや上に表示したスコアがついてこず画面外に取り残されてしまいます
現在のビューにアイコンやスコア等を固定するにはどうしたらよいのでしょうか
0422名前は開発中のものです。2007/09/21(金) 00:11:25ID:FZFc4C4q
>>420
引っかかる現象は落下処理に問題がある場合が多い気がする。
コリジョン(めり込み)状態だと横に移動するときに引っかかるよ。いったん床にコリジョンしたら、
『めり込してないが、接している状態にする』処理と、
『床に接している状態では落下しない』処理を
きちんと為されているか、見直してみて。
条件やタイミングによっては抜けてしまっているとか、結構アリガチ(俺だけかなorz)

>>421
スコアの表示位置をビューの相対座標にしてみて。横スクならviewのx座標、縦スクならviewのy座標斜めならどちらとも)
04234222007/09/21(金) 00:12:19ID:FZFc4C4q
すまん、途中で送信してしまった、
>>422
ビューのx座標、y座標を スコアの表示位置に加えてみて。
0424名前は開発中のものです。2007/09/21(金) 07:17:49ID:Md866hct
レジストしていないgamemakerで作ったゲームは
配布しても、大丈夫なんでしたっけ?
0425名前は開発中のものです。2007/09/21(金) 07:51:14ID:7psMFQgC
>>423
ビューの相対位置にするにはどこを設定すればいいのでしょうか。
それと画面下に能力アイコンを表示しておきたいのですがそちらも流れる画面に固定するのは可能でしょうか
04264222007/09/21(金) 11:07:48ID:Zb+pDnU8
>>424
無料配布、販売もOKだよ。
でも販売はもちろん無料配布にせよ、画像とか音の素材は自力で用意するか、素材の作者が使用許可しているものでないと駄目っす。

>>425
直接相対にさせる設定は無いよ。大げさに言えば、そういうロジックを自力で組むということ。
アイコン表示もアイコン表示も同じやり方で対処可能だよ。
カンタンなのは、ステップごとに強制スクロールさせている移動量を x座標、 y座標 に加えていくようにする方法かもね。

でも、加えていくやり方がイマイチ面倒なら、
(理由のひとつに、中ボスとかで途中で強制スクロールを停止させる場合、その都度加えるのを止めなければならない。個人的に面倒。)
x = 画面に表示したい座標 + view_xview[0]
y = 画面に表示したい座標 + view_yview[0]
とかステップイベントで書いておくと、常にview画面に対してフィットする。

基本的にGameMakerは ルームの座標で処理しているので、
[ルーム座標系による座標] = [画面の左上を0,0としたときの座標]+(横ならview_xview[0] 縦ならview_yview[0])
という式が成立するはず。よくわからんかったら、色々やってみて理解を深めてください。
長い説明ですまんです。
0427名前は開発中のものです。2007/09/22(土) 00:59:29ID:GELRMyyp
てっきり、レジストしてないと配布してはいけないと
思い込んでいました。
0428名前は開発中のものです。2007/09/22(土) 10:45:04ID:PfhgUac3
自キャラの真上に分身のようなものを出して自キャラと同じ動きをさせるにはどうしたらいいでしょうか。
0429名前は開発中のものです。2007/09/22(土) 12:48:31ID:597IuagT
>>428
分身となるオブジェクトのSTEPイベントにJump to position アクションで以下のように設定してみては。 

(自キャラのオブジェクト名をmyshipとします)
・x に myship.x とする。(myship と x とのあいだにピリオド( . ) を忘れずに!)
・y に myship.y - [自キャラオブジェクトの高さ幅]

xの値や、yのマイナス幅とかだけど、これはキャラの原点(origin)や画像のサイズに依存するんで
自分なりにアレンジして設定してみて。
0430名前は開発中のものです。2007/09/23(日) 14:06:15ID:DKctpgDf
>>406のやり方だと画面上と左にははみ出ないのですが下にはみ出てしまいます。
これはどうすればいいのでしょう。
0431名前は開発中のものです。2007/09/23(日) 16:53:43ID:x9nNhXjf
現在STGを作っており、自機を追尾するミサイルのような敵を
作りたいのですが、やり方がわかりません
どうすればいいのでしょう、ちなみにGMLはわかりません
0432名前は開発中のものです。2007/09/23(日) 17:07:20ID:aQRdOqe9
>>430
キャラ画像のはみ出方に注意しないといけないよ。スプライトのOriginによってはみ出方が違うけれど。
Originは初期設定だと、スプライトの左上角の位置で座標管理されているから、
強制スクロールで右や下にはみ出ることになるよ。

たとえば、スプライトのOrigin(原点)が左上角で、縦幅48 横幅32 の場合、
>>406の式を以下のように変えればいけると思う。

x = min(max(x, view_xview[0]), view_xview[0] + view_wview[0] - 32);
y = min(max(y, view_yview[0]), view_yview[0] + view_hview[0] - 48);

>>431
Move towards point アクション(矢印と点があるアイコン)をステップイベントに追加して、

(自機オブジェクト名をmyshipとした例。>>429同様 myship と x との間にピリオドを忘れずに)
x = myship.x
y = myship.y
speed 適当な数値

としてみては。動きに不満があるかもしれないけどね・・・。
0433名前は開発中のものです。2007/09/23(日) 18:06:04ID:x9nNhXjf
>>432
成功しました、ご指導ありがとうございました
0434名前は開発中のものです。2007/09/24(月) 14:43:07ID:rIfQxbjS
ウィンドウキャプションに文字を打つと後ろにスコアが表示されてしまいます。
スコアを表示させない方法はありますか?
0435名前は開発中のものです。2007/09/24(月) 19:00:34ID:wo/XJGT8
スコアキャプション アクション (ウィンドウっぽいアイコンでSLHと書かれているやつ)
で、show score の部分を don't show に変更しよう。

同様のことをコード(GML)で記述するならば、
score_caption = false;
でOK。

いづれも、最初のイベントのほうでやれば良いと思うよ。
04364352007/09/24(月) 22:06:25ID:Avl9+fei
>>435での訂正。
GMLでの記述が間違っています。正しくは

show_score = false;

でした。また、score_caption という変数名は無く正しくは caption_score です。
caption_score は、キャプション部分で点数の直前に表示する文字列(デフォルトで Score:) を設定する変数のようです。
混乱させてごめんなさい。
0437名前は開発中のものです。2007/09/25(火) 14:18:30ID:juBklLfh
ボスキャラなどにひたすら上下に往復する動きをつけたいのですが何を設定すればいいのでしょう
パスの使い方はいまひとつわかりません。
0438名前は開発中のものです。2007/09/25(火) 23:10:07ID:wgthl9NZ
>>437
アラームイベント+アラームアクションを使ってみましょう。

-----
手順1
   ボスオブジェクトのクリエイトイベントに、VARアクションを追加、
   valiable に updown という文字列(変数名)を、value に 1 を設定する。
手順2
   さらに、Set Alarm アクションを追加。number of steps に 1、Alarm no に Alarm0 を選択しておく。
手順3
   ボスオブジェクトに イベント Alarm0 を追加する。
手順4
   ボスのAlarm0 イベントで、Move fixed アクション(赤く八方に矢印が出てるアイコン)を追加。
   下を選択、speedには [適当な数値]*updown と設定する。
手順5
   続けて、VARアクションで variable に updown、value に -updown と設定する。
手順6
   さらに続けて、Set Alarm アクションを追加。number of steps に 60ぐらいを設定。
   Alarm no に Alarm0 を選択しておく。
-----

以上で、一定間隔で定速で上下運動するようになると思います。間隔を調節したければ、手順6 で設定した数値をいじってみてください。
単純な動きならこのようにアラームでも対処できますが、複雑な動きにしたければタイムラインやパスを扱う必要があるかと思います。
0439名前は開発中のものです。2007/09/28(金) 22:00:48ID:+Qz3cTwT
>>422
遅くなってスマンがサクンス
Precise collision checkingってとこのチェックを外したら解決した
根本的解決にはなってないかもしれんが何とかなったww

もひとつ聞きたいんだが、gamemakerを使う上であればいいスキルってなにがある?
0440名前は開発中のものです。2007/09/29(土) 01:28:10ID:OUsPaiyV
>>439
もしかしたら、キャラアニメのフレーム間で地面と接する位置が一致してなかったのかもね。
Precise collision checking がオンだと、キャラのドット絵自体が当たり判定になるから…。
チェックを外すと ドット絵に依らず Bounding Box が当たり判定となります。

GameMakerを使う上でのスキル、とは漠然とした質問(汗
まぁドット絵と音楽がある程度自作できると、楽しいかもね。(俺は満足に出来ん…orz)
GameMakerで色々したければ、GMLはやったほうが良いよ。ソースの見通しもよくなるし。
一番良い練習は、自分で作ってみたゲームのアクションをなるべくGMLで置き換えてみる作業かな。
また、Wikiにあがってるもの以外にも海外のサンプルとか漁って、
ソースを読むことが出来ればなおよいかと。(若干の英語力が必要)
0441名前は開発中のものです。2007/09/29(土) 14:45:12ID:4bes+mi5
坂、というか斜面へのコリジョンやりたいんだけど
GameMakerってそういうの簡単に出来る?
これって基本はタイルベースでのマップ管理だよね?線分のリストとか逆に面倒そうだし

しょぼいサンプルじゃなくて、滑らかに坂を登ってそのまま平地を進む
みたいなの作れるレベルの人はいますか??
0442名前は開発中のものです。2007/09/29(土) 19:23:42ID:9lJHmvQD
>>440
ドット絵とか音楽か・・・ちょっと本屋でいろいろ探してみますね
GMLも頑張ってみるw
英語力は辞書で補うwwwwwww
0443名前は開発中のものです。2007/09/29(土) 20:01:59ID:F32aXzae
背景のちょっとした部分を動かしたりしたいのですが背景画像はアニメーションにはできないのですか?
0444名前は開発中のものです。2007/09/30(日) 01:17:15ID:OYPKWvpr
>>441
こんな感じでいいかい?かなり粗い作りだけど。(バージョン 7.0)
ttp://gamdev.org/up/img/10211.zip
スペースキーでボールが動くよ。
Precise collision checking に頼ったやり方だけどね。GMならではのやり方ともいえるんじゃないかなぁ。
ただ、Precise ... なコリジョンだと、実質タイルベースから開放される反面、融通の利かない場面もでてくるし、処理も重くなると予想されるね。
参考になれば。

>>443
背景画像は基本的にアニメーション出来ないよ。動かしたい部分にオブジェクトを配置するのが簡単な解決方法です。
スプライトによるアニメがどうしてもいやなら、動かしたい部分をタイルチップであらわして、
タイル管理オブジェクトを用意するなりして、そこから命令を出してタイルチップを定期的に変更して、アニメーションを表現する方法もあるにはあるけど、
結構手間がかかりそうな割りに、前者の方法に比べてメリットがあまり見出せません…。
04454442007/09/30(日) 08:23:59ID:J186ada5
度々ごめん。上で挙げたサンプルで、多少ギザついていた問題を修正した。
ttp://gamdev.org/up/img/10213.zip


0446名前は開発中のものです。2007/10/01(月) 02:57:41ID:uYTipwhK
>>444-445
おおー ありがとうございます
早速参考にさせてもらいます

これって本家や日本フォーラムでも話題にならないんですかね?
みんな矩形のカクカクしたマップで妥協してるのかな
0447名前は開発中のものです。2007/10/01(月) 10:39:32ID:/4FfCvcD
てか最新版の日本語訳キボン
0448名前は開発中のものです。2007/10/01(月) 13:21:12ID:m2qQgTFJ
ここにおられる人はゲーム作るのに数学は出来た方が有利だと思いますか?
僕は数学が苦手で2次方程式がようやく解けるくらいです。
0449名前は開発中のものです。2007/10/01(月) 15:33:00ID:aKVg/NXF
>>448
出来なければ無理、というほどではないと思うけどある程度
数学の基礎知識はあったほうが有利だと思う。コマンドの幅が広がるはず。
あとはこのスレでよく言われてるGML、興味があれば勉強してみるといいかも。

勿論単純な作りのミニゲームとかをつくるならそういったことは気にせずに
直感的に組んでいっていいとおもうよ。それがGameMakerの長所でもあるしね。
0450名前は開発中のものです。2007/10/01(月) 21:53:37ID:CZos6bFb
GameMakerってネット対戦できるものとか作れる?
0451名前は開発中のものです。2007/10/03(水) 00:54:58ID:EFi7sI/b
バックグラウンドを途中で差し替えることは可能ですか?
0452名前は開発中のものです。2007/10/05(金) 01:56:10ID:4xeppq1Q
>>450
できると思われ。公式のチュートリアルに、チャットとPongゲームのサンプルがあります。
ソースのみなので、実行するには GameMaker 7.0 Pro が必要になるけど…。
ダウンロード先 :
ttp://www.yoyogames.com/downloads/tutorials/multiplayer.zip

>>451
背景画像は、background_index[0..7] という変数で設定されています。
ちなみに、0..7 は 0〜7 までのいずれかの数値がはいる、ということ。(配列)
また、背景は 0〜7番の8段階のレイヤで管理されているんで、最大8枚の背景を重ね合わせることができます。
たとえば、background1 という背景画像がリソースに登録されているとして、
背景レイヤ0番の画像をこれに変更したいときは、適当なイベント中に VARアクションを追加し、
 variable に background_index[0]
 value に background1
とすれば変更が可能です。
■ このスレッドは過去ログ倉庫に格納されています