トップページgamedev
983コメント346KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001よこしまなMr.004/06/13 04:28ID:FjVifVER
2Dゲーム作成ツールGame Maker( - _ - )イイ!!なスレッドです。
機能がしっかりしているので、アイデア次第でいろいろなゲームを作ることができます。

「Game Maker」の特徴

・コリジョン(当たり判定)、スプライト、マップ、タイマ処理、ランダム処理、サウンド再生...などを簡単に管理できる
・*.exeにてゲームを出力可能
・キーボード、マウス、ジョイスティックからの入力をサポート
・イベントドリブン型なのでスマートにゲームを構築できる
・組み込みスクリプト言語"GML"により、さらに細かい処理が可能
・なんといっても無料!! (15ユーロ寄付してユーザ登録すると起動時のロゴが除去され機能が若干追加されるが、基本的に無料で十分使える)


Game Maker Website> ttp://www.gamemaker.nl/
日本語マニュアル[Word形式]> ttp://www.gamemaker.nl/doc/gmaker_japan.doc
0764名前は開発中のものです。05/01/28 21:53:51ID:iQUMsx4C
>>762
シェアウェアなので未登録だと一部制限があるが限られるが、
未登録でも>>762のようなゲームを作るぐらいの機能は十分使える。試用期間も無い。
ただ、ジャンル的にRPGは手間がかかりそうなモヨリ。
出来ることが多い分、作らなければならないこともまた多くなる。
一からプログラムを組むよりかは生産性があるが。
>>762の力量がどのくらいかわからんが、はじめからRPGに手を出すとつらいので、
ttp://gamemaker.main.jp/index.php
のドキュメント>>入門編>>チュートリアルを見て、まず製作の流れからつかんでみれ。
076576205/01/28 22:00:22ID:1PpZJazC
バカな質問ばっかりします・・・・
これって日本語バージョンないですか?・・初心者です。すいませんorz
0766まとめた ◆yIZgqoM/0k 05/01/28 22:29:41ID:ZcaI4I/I
1.本家からGameMaker5.3Aをダウンロード
2.GM5.3Aをインストールして非公式サイトから日本語化パッチをダウンロード
3.パッチあてる
4.uma-
0767名前は開発中のものです。05/01/28 22:51:47ID:1PpZJazC
ありがとうございます
076876205/01/28 22:54:26ID:1PpZJazC
また質問ですorz
5.3Aがある場所がみつかりません・・そして、5.3Aは絶対に無償ですかね?
0769名前は開発中のものです。05/01/28 23:02:52ID:8gF7UJ+8
帰れ厨房
0770名前は開発中のものです。05/01/28 23:04:45ID:ZcaI4I/I
>>768
5.3A。
ttp://www.gamemaker.nl/old.html

>5.3Aは絶対に無償ですかね?
未登録だと無償でずっと使える。
077176205/01/28 23:30:07ID:1PpZJazC
何から何までありがとうございます。
本当にありがとうございます!
077276205/01/29 00:00:28ID:A+UvlmrQ
パッチをやっても日本語化されてません・・・
確かに5.3Aなのですが・・・
自分のやり方が違うのでしょうか?
0773まとめた ◆yIZgqoM/0k 05/01/29 00:11:52ID:2u4Ve/3z
ぜひ非公式サイトを見てくれ
0774名前は開発中のものです。05/01/29 00:21:24ID:A+UvlmrQ
非公式のサイトさんも見たのですが、ぜんぜんダメでした・・・・
0775名前は開発中のものです。05/01/29 00:22:41ID:4tHoorfQ
readme.txtをよく読め。100%日本語化されるわけではない。一部でも日本語になっていたら成功している。
0776名前は開発中のものです。05/01/29 00:24:27ID:A+UvlmrQ
どのテキストもよみました・・・みれるところはみましたが、すべて英語でした・・

・・・おさわがせしました

RPGツクールかいますorz
0777名前は開発中のものです。05/01/29 00:57:41ID:mx8PcbNM
いづれにしろ英語くらい読む気無いときついツールだ、という気はする

プラットフォームゲーム作るのがKlik&Playぐらい簡単だったら……と思い
ちゃんと動くサンプル製作に着手したはいいが
壁引っかからないための苦肉のバウンドがバウンドしすぎ、
時折妙に重くなるわムーンウォークはできるわで
自分の存在が何なのかさえ分からず震えている
誰か助けて下さい。
普通のマリオの動きすればそれで満足なんです。

ttp://gamdev.org/up/img/2296.lzh
今夜もゲムデヴ有り難う
ちなみにグラフィックは全て手打ちであるからして自由に使ってくれい
0778名前は開発中のものです。05/01/29 01:15:29ID:2xpeNZMh
文字表示が結構面倒だから、RPGには向いてないよな
0779名前は開発中のものです。05/01/29 02:39:30ID:pAtXBqAQ
>普通のマリオの動きすればそれで満足なんです。
無茶言うなw あそこまで洗練された動きは素人には無理。
0780名前は開発中のものです。05/01/29 12:06:26ID:XmGBhhkR
779>
確かに甘く見てた。あれからまたいじってるがぜんぜんうまくいかん。

具体的にはブロックに上下左右どこから当たったかの判定、
地上にいるかどうかの判定が必要みたい。
なにか汎用的で上手い方法はないものか……。
0781名前は開発中のものです。05/01/29 12:35:38ID:UoiFS++v
そういう場合、コリジョンイベントでやるより、
自機オブジェクト上でステップイベントやキーイベントで動かすときに、
If a position is collision free や If there is a collision at a positionなどを利用して、
条件をつけてやればいいのでは。方向別に書かないといけないけど。

たとえば、ブロックの上にいるかどうかは、
If there is a collison at a positionを使い、座標をrelativeにし、x:0 y:1、objectをsolidを選択すればよい。
これが真のときは、自機の1ドット下にソリッドオブジェクトがあることになる。つまり、地上にいる、ということに。
ジャンプアクションの場合、落下設定するのに以下のようにするのが定石となっているらしい。(海外サンプルで大概やっていた)
show informationによる表示
----
if relative position (0,1) is collision free for Only solid objects
 set the gravity to 0.5 in direction 270
else
 set the gravity to 0 in direction 270
----
地上にいない場合は真下への重力加速度をに0.5、地上にいるときは重力加速度を0にしている。
文で説明するとややこしいが、ガンガレ。
0782名前は開発中のものです。05/01/30 00:41:20ID:kjNyyDgL
これってちゃんとしたゲームつくるのはやっぱ難しいよね。英語だし。
投入もこれも挫折した・・・
0783名前は開発中のものです。05/01/30 10:55:18ID:ntwgDzqk
豆乳はマニュアル全部日本語で、英語版なんかねぇじゃん。
0784名前は開発中のものです。05/01/30 12:34:11ID:bf3zrrRc
>>781
サンクス。試してみてるけどなかなかうまくいかない。
重力加速度ゼロにしただけでは止まらないなぁ。速度ゼロにするとなんかおかしいし。
マリオの動作って調べてみるとやはりむずいらしくやせた。

>>782
RPGツクール買って下さい。
0785名前は開発中のものです。05/02/06 08:04:31ID:1EqPpoOm
イベントのアニメーションエンドの使い方がわかりません
X枚目が表示されたらアニメーションを終える。としたい時
アクションの項には何をいれたらいいんでしょうか
0786名前は開発中のものです。05/02/06 08:44:06ID:6RB0HDMP
アニメーションエンドイベントは、スプライトの最終サブイメージが表示されたあとに呼ばれる。
爆発エフェクトなどで、
「爆発オブジェクト発生」→「アニメーションエンドイベントで破棄」
といった使い方が一般的か。

スプライトアニメーションの途中で何らかの処理をしたい場合、
ステップイベント内で条件をつければよいかと思われる。
オブジェクトの表示されているスプライト番号は、変数"image_index"(最初:0〜)で参照できる。
以下は、最初から4枚目のイメージが表示されたときに破棄する例。
------------
Step Event:
execute code:
if (image_index == 3) then {
      instance_destroy() ;
}
------------
0787名前は開発中のものです。05/02/06 10:35:12ID:dbbYJswf
>>782はコードが英文にみえるという意味では無いだろうか。

だとしたら何やっても挫折するぞ・・・
0788名前は開発中のものです。05/02/06 14:20:39ID:+4VgMuPT
>>785
アニメーションをループさせずに一周で止めたいという意味なら、
Animation Endイベントで

image_singe = image_number - 1;

とする。(アクションでやるなら Set Variable を使う)
ただしGM6だとimage_singleは廃止されているので、

image_index = image_number - 1;
image_speed = 0;

に置き換える必要あり。
0789名前は開発中のものです。05/02/07 02:11:05ID:3mzxYMNw
プログラムまったく分からんズブの初心者で厨な質問とは承知していますが
親切なエロイ人がいたら答えてください
自機をマウスで動かしたいでつ
実は質問をしつつもとりあえず>>85のブロック崩し(マウスで自機操作)の
マウスで棒を動かすアクションのスクリプト内のxを全てyに置き換えたスクリプト
ty = mouse_y-36;
if (ty>-2)&&(ty<436) {
y = ty;
}
を同じアクションの欄に貼り付けたら画面内を自機が自由に動けるようになったので
とりあえず確実なのはこのスクリプトを応用することというのは分かるのですが
出来れば(というかせっかくだから)自機操作くらいスクリプト無しでやりたい!
というかそれ以前にそもそも上のスクリプトの意味が分からんw
なんで直ぐにオブジェクトの位置をマウスの座標に代入しないで変数作るのですか?
この方法が最善で、GameMakerではGUIのみでは自機をマウス操作に出来ないというなら
あきらめますがもしスクリプト抜きで出来るなら教えてください
試しにやってみたのは
Mouse Leaveのイベントで
Move towards point(mouse_x,mouse_y)のアクション
(正確にはstart moving relative in the direction of position
(mouse_x,mouse_y) with speed 5)
これでマウスの座標を自機が追従して移動するはず!
と思ってオブジェクト配置して起動してみたら
なんかポインタをオブジェクトの上に置いて離したらあらぬ(しかし一定の)方向へ・・・orz
そもそもはオブジェクトの上にポインタ置かなきゃいけない時点で何かおかしいorz
左クリックで弾を出すとかのアクションは普通にGUIだけでやって出来たので
移動に関しても出来ると思うのですが……
一応解説書とかは一通り読んだつもりだけど書いてあったらスマソ
0790名前は開発中のものです。05/02/07 06:38:35ID:1+7BHQSV
>>789
ステップイベントで次のアイコンを追加してみ。
------------------------
"Jump to a given position"
x:mouse_x
y:mouse_y
relativeのチェックをはずす
------------------------
いろいろ混乱しているようなので解説。
このイベントは、オブジェクト上にマウスカーソルを当てた状態から、離れた状態になったときに呼ばれるイベントだ。
たとえば、Mouse Enterイベントと組み合わせて、WEBなどでよく見かける、
『ボタン上にマウスカーソルを当てるとハイライトし、離れると元に戻る』
といったああいう動作を実現するのに利用できる。
mouse_x、mouse_yはゲームウィンドウの左上を(0,0)としたときのマウスポインタの座標だ。
で、移動先の座標をrelative(相対)にすると、現在のオブジェクトの位置を(0,0)とした座標としてしまうので・・・
結果、常に右下に移動してしまうことになる。

読みにくいかもしれん、長文スマソ
0791名前は開発中のものです。05/02/07 06:39:52ID:1+7BHQSV
コピペでいろいろ編集してたら抜けてた・・・
解説の「このイベントは」の部分は、Mouse Leaveイベントのことです・・・
0792名前は開発中のものです。05/02/07 10:55:03ID:6IudCJxO
>>790
>>791
おおっ、丁寧な解説ありがとうございます!
とりあえずJump to a given positionでやってみたら自機が完全にマウスの座標と連動しますた 感動・・・!
ただ、自分の作りたいのはシューティングで、とにかく指定の座標に瞬間移動するJumpは難易度をむちゃくちゃ
下げてしまうので、ステップ毎にMove towards point(mouse_x,mouse_y)でrelativeのチェックを外してみると
速度付で追従してくれるようになりました(でもシューティングで言えばこれは入力遅延とも言うので・・・w)
が、そうした場合何かブルブル揺れています このやり方はやはりダメなのでしょうか?
それからもうひとつ、これはJump〜にせよMove〜にせよ浮上してしまう問題なのですが、
クリックして弾を撃つ挙動を自機オブジェクトの中で(Left Pressed)イベントで
Create instance of object (弾オブジェクト) at position (自機).x,(自機).y with speed 5 in direction 90
のように設定したら、自機動かすアクションを入れてなかったときは自機をクリックすることによって
弾が出ていたのですが、JumpやMoveでマウスに合わせて自機を動かすようにした後クリックしても
思うように弾が出ません。
原因は恐らくマウスカーソルが常にそれに対応して動くオブジェクトの上に置かれないから
(だからがんばって自機の動きを先読みして「ここだ!」ってときにクリックしたら弾が出るw)
だと思うんですが、だとしても対処法が分からないorz
特にブルブル震えてしまうMove方式ならまだしも、教えていただいたJump方式ならば
常に(mouse_x,mouse_y)が自機オブジェクトの(0,0)に当たる部分、
つまり本来クリックしてちゃんと反応する部分に存在しているはずなのに反応しないのは全く意味が分かりません
もしかしてスプライトの透過色部分には当たり判定無かったりしますか?
連続質問&読みづらい長文申し訳ありません
0793名前は開発中のものです。05/02/07 14:43:36ID:1+7BHQSV
なぜブルブル震えるか考えてみたか?
Move towards pointは、あくまでオブジェクトに進行方向と速度を与えているに過ぎないということだ。
略図を使って説明。
★:自機
□:マス目
▲:マウスポインタ
速度:5(1ステップで5マス進む)

状態1:★□▲□□□

この次のステップはどうなるかというと、進行方向は右、速度5だから、

状態2:□□▲□□★

となる。じゃあ次は?といえば、今度は進行方向は左なので、1の状態になる。
この繰り返しが、あのブルブル震える現象の正体。これをどう解決するか?
マウスポインタまでの距離が速度より大きい場合と小さい場合で処理を変えなければならないだろう。
速度より小さい場合のときに、速度5ではなく、マウスポインタまでの距離を移動させるようにすれば。。。
速度とか弄るより、この場合だけjump to a given positionを使うとよい感じか。
ただし、マウスポインタと自機がピッタリ重なったときに速度(speed)を0にしておかないと、無駄に動いてしまうぞ。

左クリックの問題は、Global Mouseの中の物を使うとよい(Global left buttonか?)
でないとおまいさんの指摘どおり、オブジェクト上にマウスポインタがあるときだけしか反応しない。
Left buttonイベントは、メニュー選択などのボタンアクション向けかと思われる。

文才無いからか、老婆心過ぎるのか、無駄に長いな。。。ウザカッタラキエマス。。。
079478905/02/07 15:56:39ID:2lGFcnKA
>>793
キタ――――!!
解決しますた! 本当にありがとうございます!
ちゃんと動いて弾を撃ってます!
自機操作さえ何とかなったらあとはシューティングはテンプレや
初心者向けの製作チャートがいっぱいあるんで何とかうまくいけそうです
まともなのが出来たらサンプルをageようかと思います
本当にありがとうございました!
0795名前は開発中のものです。05/02/07 19:11:34ID:1+7BHQSV
>>794
無事解決できてなにより。
距離の判定は多分GML関数(point_distanceかな?)使わないと出来なかったんだが、出来てる様でよかった。
また余計なお世話かもしれないが、最後に一言。
スクリプトの記述はそんなに言うほど難しくない。
むしろ、アイコンでやりくりするほうが煩雑になったりする場合があるので、毛嫌いせず、挑戦してほしい。
基本的な文法の理解と、GMLをヘルプで調べるスキルさえあればいいんで・・・
(・∀・)ガンガレ!!
079678905/02/07 22:40:21ID:SX23cWKX
>>794
申し訳ありません。。。
やっぱり「静止した!」と思ったら常時Jump〜アクションが優先されていただけでしたorz
距離の判定を全てQuestionアイコンで行っていまるのですがやはりGMLが必要なようです・・・
やはり、しばらくスクリプトを修行してきまつ
・・・と、まあ自機操作は漏れが勉強するとして、
それはそれとしてJump〜アクション(アイコンのみ)の自機移動による
STGを概要だけ作って見ようとしたところ・・・
http://gamdev.org/up/img/2331.lzh
うわあぁぁあぁああぁああせdrftgyふじこlp
問題点は列挙にいとまが無いですがorz、とりあえず解決方法がまったく見えてこないのは
・敵大杉弾大杉
 (ステップ毎にオブジェクト生成アクションをさせている事に原因があるような気がしますが、
  ステップ毎以外に常時敵を出現させたり、
  特定の条件下やランダムで弾を撃たせたりする方法が思い浮かばない)
ザコの挙動がおかしいのはアクションの数値を間違ってたりしてるというのは分かっているので
それは適当に直せば大丈夫なのですが、上二つがどうにも・・・
いつまでもただの長文質問ばっかりで少しはうpなどしてスレに貢献しようと思ったら
結局また長文質問を出してしまう有様・・・スマソ
左上のカタパルトからしか敵が出てこないのはこれを書いている間に解決しますたw
ザコを射出する座標を設定してなかったから全部(0,0)から出てたのね。。。orz
入力ミス&入力忘れ以外で何か他にアドバイスあればおながいします
0797名前は開発中のものです。05/02/07 23:34:31ID:1+7BHQSV
orz
>>793のヒント。
・条件文を使うのはやはりステップイベント
・条件に使うアイコンは8角形の奴で、中に?かVARと書いてある奴のどちらかを使う(どちらでも出来る)
・2点間の距離を得るのはpoint_distance(x1,y1,x2,y2)という関数。 点(x1,y1)と点(x2,y2)の距離を返す
・マウスポインタまでの距離がspeedより近い場合に、自機のspeedを0にするのを忘れずに
それ以外について。(2つと書いてあるが、出現数に関してだけかな)
『敵多すぎ=ステップごとに生成しているから』は当たりだ。
特にenemy2の弾撃ちは確実にステップごとに行われているため、ものすごい数が飛んできている。
一定の時間間隔で撃つには、alarmイベントを利用するとよい。
また、敵生成でも使っているランダムの条件をくわえて抑えるのも可。
カタパルトによる敵生成も、ステップごとに判定しているな。
1秒間30ステップがデフォルトなので、1秒間で考えると結構出現する計算になるんで、
弾と同じように一定間隔にするか、出現確率を下げてみてはどうか。
最後に、ここを参照しているか?イベントやアクションについて基本事項は抑えてあるので一読を。
GM6の情報だが、アイコンに関してはさほど変わってないので、参考になるはず。
GMJapan 非公式情報サイト
ttp://gamemaker.main.jp/index.php
いつもお世話になっております...>>よこしまさん
079878905/02/08 00:32:37ID:h6GtyXnX
>>797
度々申し訳ありません
実は797様がダウンロードなさったのは一回細かいところを修正してうpしなおしたバージョンでして
それを書きこむのをすっかり忘れていたため内容が796のカキコと矛盾するものになってしまいました

ええと、GMLのpoint_distance(x1,y1,x2,y2)に関してはご紹介してくださったサイトを含め
勉強してみます。ありがとうございます! ただ、ヒントの上二つ
>・条件文を使うのはやはりステップイベント
>・条件に使うアイコンは8角形の奴で、中に?かVARと書いてある奴のどちらかを使う(どちらでも出来る)
自機オブジェクト(2種類ありますが)の中身見ていただければ分かるのですが、
一応If a variable has a valueクエスチョンでマウスと自機の位置関係に関して条件分岐っぽいものを
実装してはいます。jikiの場合は無条件下でマウス座標に対し所定速度のMoveアクションを行い、
通常速度分の距離以内にいるならJumpアクション、jiki2は無条件下でJumpアクション、
マウス座標と所定の距離より離れていたらその距離分のフレーム間速度でMoveアクションと
してはいるはずなのですが・・・何故か完全Jumpアクションでの挙動です
まあ、中身からも分かるとおりアイコンの数が大変なことになっているのでw GMLを修行することにしますが、
それでも上で論理的に何が間違っているのかよく分からないのが心に残ります・・・
とりあえず目標は見えてきたし、うだうだ言っててもウザイと思うので名無しに戻らせていただきます
ご教授ありがとうございました!
0799名前は開発中のものです。05/02/08 05:05:43ID:zk7JeCnz
>>798
もう直してるかもしれないけど、mouse_yと比較するのは jiki.x じゃなくて jiki.y ですね。
で、jikiについては最初の Jump to a given position を実行した時点で
jiki.x=mouse_x, jiki.y=mouse_y になります。
だからその後の条件判定にはひっかかりません。

jiki2については、たとえばx方向の条件について見ると
(1) jiki2.x-mouse_x が-6より小さい時は、最初のIfにひっかかる
(2) jiki2.x-mouse_x が-6〜6の時は、最初と2番目のIfにひっかかる
(3) jiki2.x-mouse_x が6より大きい時は、2番目のIfにひっかかる
ので、結局どんな場合でも Jump to a given position が実行されてしまいます。

この場合、座標に関する4つの条件が「すべて」成立した時だけ
Jump to〜 を実行すべきなので、and演算子(&&)を使って

If 条件1 && 条件2 && 条件3 && 条件4
Jump to a given position

のように一つの判定文にまとめます。まあ、すごく長い式になってしまうので、
ここまで来たら上で出てたpoint_distanceを使った方が楽ですが。
0800よこしまなMr.005/02/08 06:48:20ID:bYhSHMb8
>>789
>なんで直ぐにオブジェクトの位置をマウスの座標に代入しないで変数作るのですか?
mouse_yは各ステップごとに更新される変数... というわけではなく、「GML内で参照されるたびに更新される変数」ですので
mouse_xやmouse_yをせまいコード内で何度も記述するのは避けるべきだと思います。

ちなみにmouse_yをCとWin32APIで極端に書くと、
POINT point;
RECT rect;
int mouse_y = 0;
GetCursorPos(&point);
GetClientRect(hWndGM, &rect);
mouse_y = (point.y - rect.top);
たぶんこんなかんじなので、1秒間に何百回もmouse_yを参照すると重くなるかも... というわけです。

>>797
どもです。
0801まとめた ◆yIZgqoM/0k 05/02/11 19:46:08ID:VYcDpRib
何故かまとめサイトがデリられた。
近いうち移転するんでよろ
0802名前は開発中のものです。05/02/11 22:59:27ID:4Bznc7HM
ここじゃなくて?
ttp://gamemaker.main.jp/
0803名前は開発中のものです。05/02/11 23:19:42ID:Dcu7PeaK
>>801
乙です。漏れもwww-aaaにもってたサイトがデリられた(gamemakerと関係ないサイトだけど)
RSSでチェックできるサイトにしてくれたらなぁ・・・・と要望。
0804まとめた ◆yIZgqoM/0k 05/02/13 20:52:56ID:gmldcHyv
http://gamemaker.shrine-maiden.org/
移転完了。RSSでチェックできるようになったはず。
なんかあったら言ってくれ
0805名前は開発中のものです。05/02/14 01:03:04ID:kuuRTVnx
>804
お疲れ様です。

むかしハマったクリックアンドプレイっぽいなと思って、
なんとなくブロック崩し作ってたらいつの間にか、どっぷりハマってしまった。
やっぱりゲーム作るのは楽しいなぁ。
0806名前は開発中のものです。05/02/14 01:25:11ID:Jj3GmAmR
>>804
乙、さっそくRSS登録しますた。
0807名前は開発中のものです。05/02/17 02:16:06ID:DecmQgwT
GM6.0では、日本語表示は出来ないのでしょうか・・・?

私がやったことは以下のとおりです。
・フォントリソースに"MSゴシック"、Character Range をALLに設定したものを追加。
・以下の命令を持つオブジェクトを追加
Draw Event:
set the font for drawing text to font0 and align left
set the drawing color to 0
at position (0,0) draw text: "テスト"

以上を実行すると、"テスト"とは表示されず、文字化けしたようなものしか表示されません・・・
半角カナの文ならうまくいくのですが。2バイト文字は表示できないのかな・・・
余談ですが、
半角カナだけで日本文を表示すると懐かしいと感じるのは年寄りだからですか、そうですか。
0808名前は開発中のものです。05/02/18 21:48:21ID:sqW1Scv8
>>807
うちもだめですなー
てか、5.3で日本語表示が出来たことに、今気付きました。
日本語化のおかげ?
なんかいい方法ないもんかなー。
日本語をビットマップフォントに置き換えるスクリプト書くとか……面倒か
080980705/02/19 04:33:32ID:MYybBstf
>>808
現状、画像を利用するしか解決できなさそうですね。
ver6.1ではローカライズに力を入れるみたいなんで、そのときに修正してもらえることを期待・・・
0810名前は開発中のものです。05/02/19 16:10:38ID:r5DvU9w7
5.3での日本語表示ってどうやるんですか?
0811名前は開発中のものです。05/02/20 01:15:07ID:k+cXeeL8
display a messageでも日本語表示されないね。
俺は仕方ないので、EDGHで画像作って表示させてるけど、激しく面倒・・・orz

>>810
Createイベント等で、「set the font for drawing text」日本語フォントを指定、
Drawイベント内で、「draw a text」で文章を表示させるだけだよ。
もしかしたら、日本語パッチを当ててないと表示されないかも・・・。
0812名前は開発中のものです。05/02/20 11:48:48ID:j27t95AP
>>811
できました。ありがとうございます。


0813名前は開発中のものです。05/02/20 18:20:54ID:4c0NXvEv
GMの使い方を覚えるために作ってみました。
プログラミングの経験が殆ど無く、マニュアルと睨めっこしながらコードを書いたので
やたらと重いものになってしまいました・・・
ttp://hiya.ciao.jp/gm/file/Ms_paddler_gm6.zip
ttp://hiya.ciao.jp/gm/file/Ms_Paddler_exe.zip

プログラミングが出来なくても思いついた事をすぐ形に出来るGMはほんと楽しいです。
0814名前は開発中のものです。05/02/24 19:56:46ID:U48Jz3Xw
アクションゲーム作成中。
ttp://www.ismusic.ne.jp/nagatsuta/yurika3_gmd.lzh
継承覚えたら、格段にコード量減ったわー。しかし疲れた。
0815名前は開発中のものです。05/02/24 20:13:05ID:U48Jz3Xw
>>813
今更だけど、できいいなぁ。
演出が凝ってる。
0816名前は開発中のものです。05/02/25 18:20:44ID:6+Hc8BU2
最近、レベルが高いぁ。
ところで日本語表示について。次のコードを実行すると、
display a message で日本語が表示できるようになりました。(5.3A , 6.0 ともに動作確認)
-----
message_text_font("MS ゴシック",10,c_white,0) ;
-----
最初の引数にはフォント名を入れるのですが、GM6.0で設定できるフォントリソースのIDではありません。

また、レジストの制限がありますが、
GM6.0ではスプライト画像をフォントとして利用することが出来るらしいです。(未確認)
関数font_add_sprite( ) を参照してみてください。
使用する漢字の描かれたスプライトを用意することで、
0-255のアスキーコードをテーブルとして応用することが出来ると思います。
ビットマップフォントを使用することには変わりませんが、
少しは自分で管理するより楽になるかも・・?
0817名前は開発中のものです。05/02/26 10:09:59ID:B+4ixigE
>>813
ほんとすごいなぁ
アクションゲームなら何でも出来そうだ・・
081881305/02/28 01:07:44ID:GAEbwpd7
プレイありがとうございます。
ブロック崩しで少しは使い方が判ったので、
今度はアクションゲームに挑戦してみようかなぁと思ってます。
0819名前は開発中のものです。05/03/01 10:28:16ID:a8U64FeL
Gamdev が復活してきたので、wikiのほう適当に編集しておきました。
作品が多くなってきたので、負荷分散のため別ページに移動しました。
前回更新からかなり日が経っていたのもあり、
既にDLできなくなっている作品は、割愛させていただきました。
抜けてる作品があったらごめんなさい。
0820名前は開発中のものです。05/03/01 13:52:14ID:7Kgvi68w
>819
乙ですっ。
人少なめですが盛り上げて行きましょう!

やりたい事は色々あるものの、絵がなぁ…絵が…
絵描き歌のかわいいコックさんですらUMAになっちまうしなぁ。
0821名前は開発中のものです。05/03/01 16:43:12ID:mFC8Y2QC
showcaseのコンテストどうなった?
0822名前は開発中のものです。05/03/05 02:04:53ID:ioXJEL8a
>>819
乙です。
参考にさせていただいてます。
0823名前は開発中のものです。05/03/05 15:57:28ID:f+q5Yy4z
日本語マニュアルはもうなくなったんですか?
0824名前は開発中のものです。05/03/05 23:41:16ID:f+q5Yy4z
すいません。落とせました。
0825名前は開発中のものです。05/03/06 18:04:39ID:am2JgNGr
EXE形式にするにはどうしたらいいのですか?
0826名前は開発中のものです。05/03/06 18:17:54ID:Lc/GMt6Z
File メニューにある、Create Executable を選択。
0827 ◆dmakQ6Mags 05/03/06 19:36:38ID:UHvjcj+y
ゲームを作ってはみたものの全く利益に繋がらないという方へ
簡単に大儲けしてみましょうよ
■□■□■□■□■□■□■□■□■□■□
2週間で100万円 最高のビジネス到来!
成功者続出です!
□■□■ 特 徴 □■□■
◎知識や技術は何もいらない!
◎一日30分で十分稼げる!
◎家に居ながらできる!
◎利益は全て自分のもの!
◎2週間で100万円!
◎特別おまけ付き!
■□■□■□■□■□■□■
無責任な誇大表現ではありません!
ご自分の目でお確かめ下さい!
人数制限あり!早い者勝ちです!
詳しくは下記アドレスまで!
ttp://www18.tok2.com/home/kantan100man/
皆様のご訪問お待ちしております!
■□■□■□■□■□■□■□■□■□■□
これで貯めたお金でツールを買って最高のゲームを作ってください
0828名前は開発中のものです。05/03/06 21:03:11ID:EfEp2IDv
http://gamdev.org/up/img/2398.png
ブロック素材提供
0829名前は開発中のものです。05/03/09 18:12:05ID:5+vQO/af
壁にぶつかるとChange the instanceで
画像が入れ替わるように設定したのですが、そこからまた壁から離れると元の画像に戻るように設定したいのですが
どうすればいいかわかりません。どうすればいいでしょうか?
あと、常に画像が変化し続ける(1秒ごとに画像が変わるなどのような)ように設定したいのですが
なかなかわかりません。。
0830よこしまなMr.005/03/09 19:50:41ID:xegQl9qY
>>829
GM Japan Forumで既に返答しています。
0831名前は開発中のものです。05/03/09 20:20:12ID:CgMXBO4N
>>829
前者の件に関して、よこしまなMr.0氏の回答でも出来ますが、
こんな感じでもよいかと。
ttp://gamdev.org/up/img/2406.zip(gm6ファイル)

obj_Wall2のほうで、ステップ毎に周りにobj_Myobjが居ないかどうかチェックしてます。 (居た場合に処理を抜けてます)
obj_Myobj中のコリジョンイベントでやっている move contactは、壁に密着するためのテクです。
0832名前は開発中のものです。05/03/10 23:50:32ID:U3xIj/jG
実行ファイルでけー・・・。
UPXでどれだけ縮む?
0833よこしまなMr.02005/03/25(金) 14:48:42ID:gN2sX+M2
本家サイトにて、GM6.0日本語マニュアルが配布開始されました。

詳細:
ttp://gamemaker.main.jp/modules/news/article.php?storyid=21
0834名前は開発中のものです。2005/03/31(木) 01:42:11ID:YNa+mEh/
面白そうなので作り始めたものの、
スレに書き込みが無く、不安な気持ちの俺ガイル。
0835名前は開発中のものです。2005/03/31(木) 01:43:05ID:3TThfFxd
>>834
書き込みはないけど、見ていますよ。
0836名前は開発中のものです。2005/03/31(木) 15:24:54ID:UpoF/Zxu
>>834じゃないけど。
練習作が出来たので、アップしてみました。
http://gamdev.org/up/img/2478.zip

GameMaker、面白いですね。
0837名前は開発中のものです。2005/03/31(木) 16:42:01ID:MrBus2W4
うーむ、得点を常に左上に表示したいのですが、できません。
Viewでスクロールさせているので、
もうひとつのビューを使って得点表示オブジェクトを作ろうとすると、
左端の壁を、背景が覆う…orz

Draw the value of scoreで、
画面から見た座標指定はできないものですかね?
08388372005/03/31(木) 17:00:18ID:MrBus2W4
ありゃ、公式にあるチュートリアルを見るのを忘れていました。
自己解決しました。失礼しました。

view_xview
view_yview ですね。
0839名前は開発中のものです。皇紀2665/04/01(金) 10:24:12ID:1ARpyFX9
こんにちは、横スクロールアクションゲームを作っている者です。

敵を倒す判定で困ったことになっていまいました。
重なった敵を倒そうとすると、一匹は倒せるものの、
主人公キャラが死亡してしまいます。

・主人公キャラ
 ・敵キャラと衝突イベント
vspeed > 0 && y < other.y+8が成立している時

(other)Destroy the instance
(self)Set the vertical speed -10
    (↑ここが原因っぽい。マ○オ風にしたかった。)

else

死亡時キャラグラに変更
1000ミリ秒停止
ライフが一つ減る
現在のルームをやり直す


次の発言へ続く。
0840名前は開発中のものです。皇紀2665/04/01(金) 10:25:15ID:1ARpyFX9
・敵キャラ
 ・破壊されたときのイベント
主人公キャラ.Chainに1を足す
得点に「10*主人公キャラ.Chain」を足す
(地面に着地したらChainは0になる。連続踏みボーナスのつもり)

重なっている敵を同時に倒す方法はないのでしょうか。

vspeedがマイナスになっている時は判定しないように
しようかと思いましたが、それだと下から触った時に主人公キャラが死ねないし。

Destroy instance a potisionを色々な方法で使って見たのですが、
うまくいかないし…

わかる方がいたら、助言をお願い致します。

(アップロード用のファイルを作ったのですが、
 Gamedev.orgが落ちているため、アップできず・・・)
0841名前は開発中のものです。皇紀2665/04/01(金) 15:48:39ID:2TUpx/JQ
そうそう、コリジョンチェックは同時に二つ以上は出来ないんですよ。
衝突対象のインスタンスが複数あった場合、
インスタンスIDの最も若い番号のものとのコリジョンチェックとなってしまいます。

以下、こちらの想像になりますが>>838さんの場合、
一匹の判定を行った直後のステップに、
(すでに下がっている位置から)主人公ともう一匹目とのコリジョンチェックが入るため、
if (vspeed > 0 && y < other.y+8) が満たされずにあぼーんしていると思われます。

場当たり的な解決法ですが、
主人公と敵のコリジョンチェック時に、主人公へ以下のコードを適用してみてはどうでしょう。
---------------
x = xprevious
y = yprevious
---------------
この場合1ステップごとにそれぞれ判定するため、
かなりの数が重なっていた場合は動作がおかしくなってしまうかもしれません。

1ステップで全ての判定を行うには、ちょっと複雑なコードが必要そうですね。

これで解決できなくてもうらまんでください。。。
0842名前は開発中のものです。皇紀2665/04/01(金) 15:49:47ID:2TUpx/JQ
訂正;>>838さんではなくて>>839さんでした。
0843839皇紀2665/04/01(金) 16:54:10ID:1ARpyFX9
実は838=839だったりします^^;

おお、こっちで対処した方法よりも、
>>841さんのコードを入れたほうが性能がいいですね!
ありがとうございます。

こっちは、倒した時に、とある変数に1を代入して、
次の死亡時に、とある変数が1だった場合に、それを0にして、
死亡をキャンセルする、という風にやっていたのですが。

…直前のステップの座標を読み込んでいるみたいですが、
どうして成功するのか、原理がわかりませんが…

猛烈に感謝します。
084482皇紀2665/04/01(金) 18:19:47ID:8UFw11JE
Rezもどき作成中
何時完成することやらorz
0845841皇紀2665/04/02(土) 00:33:28ID:e8w6vALJ
蒸し返すようで申し訳ないですが、私>>841でえらい適当なこと言ってますね。というか嘘ついてます、ごめんなさい。
最初に言っていることですが、アレは衝突するオブジェクトがソリッドのときです。
(なぜならソリッドオブジェクトと衝突したときは、強制的に直前の位置に戻されてしまうからです)

ソリッドでないときは、重なっている全てのインスタンスとコリジョンイベントは生じます。
しかし、同時ではなく一つずつ処理されます。
>>839さんが詰まっていた原因は、一つ目の敵と衝突したときにvspeedを上方向にしてしまっているので、
二つ目の敵の処理に移ったときに、条件の一つ目 (vspeed>0) が満たされなくなっているため、が正解です。
すみませんでした。。。

対処法ですが、>>841で言っていることは忘れてください。。。(同時に踏めないと思われます)
当たり判定で踏むor死亡の条件文は、一見正しそうに見えますが、踏んだときに移動方向を修正することを考えるとあまりよくありません。
そうではなく、お互いの衝突する(重なっている)直前の位置関係を見て、判定してはどうでしょうか。
たとえば、衝突直前の位置で、主人公のあたり判定最下部分が、衝突する敵の当たり判定最上部より上にあったら踏む、など。。。
衝突直前の位置は、xprevious,ypreviousで参照できます。

例 ) show information による情報 (16とか-12は調整してください)
Collision Event with object obj_enemy:
if expression (yprevious+16 )< (other.yprevious-12) is true
    for other object: destroy the instance
    set the vertical speed to -5
else
    destroy the instance

長文ごめんなさい。
0846名前は開発中のものです。2005/04/02(土) 21:57:55ID:9/v1pEH6
なんとなく作成板に来て2Dアクションが作れるということで機能からgamemakerを使っているものです。なかなか難しいですね。
質問なのですが、今ロックマン風2Dアクションを作っているのですが、ジャンプはうまくいったのですが、地上でキャラを右や左に移動させることができません。
普通に設置するとキャラが壁をすり抜けてしまうので壁に当たったとき速度が0になるようにしているのですが・・・。どうしたらいいでしょうか。
後は重力を下にしか設定していないのにジャンプ中に右に移動すると加速度がかかり左は等速運動になってしまいます。
それでは回答していただければと思います。
0847名前は開発中のものです。2005/04/02(土) 22:07:49ID:9/v1pEH6
すいません。後者の問題は解決しました。
相対設定が違っていたのが原因だったようです。
0848名前は開発中のものです。2005/04/02(土) 22:25:38ID:9/v1pEH6
すいません前者も解決しましたw
しかしこのソフト、やればやるほど味が出ますね。
0849名前は開発中のものです。2005/04/10(日) 13:52:46ID:Ft2lWGsv
はじめまして。最近このツールを使い始めた者です。
縦スクロールのシューティングゲームを作ろうと思っているのですが、
敵キャラ一体ずつに耐久値を設定し、自機の弾が当たるごとに耐久値を減らし、
耐久値が0になったら消滅させるようにしたいのです。
敵キャラ一体ごとに変数を設定する、という方法でもできないことはないと思うのですが、
敵キャラがランダムで生成されるようにしたいので、その方法をとることが出来ません。
どのようにすればよいでしょうか?
0850名前は開発中のものです。2005/04/10(日) 20:50:29ID:4BUBsZ6n
これ以上プログラマの仕事を奪わないでくれい!
0851名前は開発中のものです。2005/04/11(月) 00:44:27ID:pmiR29yl
その心配はないと思うぞ。
ツールである以上どうしても限度があるし
結局はプログラム組める奴が勝る・・・っていうか、自作できるならこんな苦労しない・・・orz
0852名前は開発中のものです。2005/04/11(月) 19:39:07ID:gpEYhi0g
>>849
どんなのを作りたいのか分かりませんが、同じ敵、同じ画像のオブジェクトを何種類か用意して
それを順番に出せば良いと思います。
0853名前は開発中のものです。2005/04/16(土) 12:37:59ID:I50qDNJ/
ボイドトランサのGM6ファイル公開した丼氏は神。

ttp://homepage1.nifty.com/cheap/untitled/
0854名前は開発中のものです。2005/04/22(金) 07:05:46ID:2k8er4Qc
うちの大学の演習科目でこのツール使うそうなので、どんな物なのか覗きにきますた
08558532005/04/24(日) 18:53:27ID:gUwf2Is+
>854
とにかく楽、やね。
上記の丼氏のサイトでチュートリアルあるから覗いて見れ
08568492005/05/01(日) 18:51:32ID:p1tHT4Pn
失礼します。
スコアを半分にしたり、1,5倍にする、といったアクションをさせたいのですが、どうすればよいでしょうか?
0857名前は開発中のものです。2005/05/03(火) 00:25:38ID:LBbdJe+i
>>856
score=score*0.5;
とか
08588492005/05/07(土) 15:15:01ID:yG9sIXqw
度々失礼します。
一つのゲームに二種類の難易度をつけて、ハイスコアリストを二種類作りたいのですが、どうすればよいでしょうか?
0859名前は開発中のものです。2005/05/08(日) 00:56:20ID:aUYEHdno
本家でGM6の次期バージョンの情報が出てる。
バグフィックスや、エディタの調整をやるみたい。
見てみると、結構バグが多いようだ。。。
ttp://www.cs.uu.nl/people/markov/gmaker/todo.html
0860名前は開発中のものです。2005/05/08(日) 01:26:06ID:7HhJrEj2
シューティングゲームを作っているのですが、
かれこれ3時間ほど悩んでいる事があります。

マウスのボタンを押し続ける事で、1秒間に8発ほどの弾を発射する、
連射機能を付けたいのですが、どのような処理をすれば良いのでしょうか。

GMはver5.3Aを使っています。
フレームレートは60に設定してあります。
よろしければお知恵を貸して下さい。
08618602005/05/08(日) 09:06:10ID:Jn0IsbF2
一晩、仕事をしながら考えましたところ、
なんとか自己解決できそうな雰囲気です。

詰ったら、またお願いします。
0862名前は開発中のものです。2005/05/08(日) 19:45:59ID:tBnYVyJ4
どこでどう詰まって、それをどう解決したのかを書いといてくれたら
将来、同様の処理で悩む人の助けになるかもしれない。
08638602005/05/09(月) 15:13:26ID:h92qojUL
では、自分が悩んだ連射機能について書きます。
自機となるオブジェクトに、以下の処理を行いました。


イベント    アクション
[Create]━━[Set variable canshoot to 1]

[Alarm 0]━━[Set variable canshoot to 1]

[Step]━━━[If left mouse botton is pressed]
                ┃
         [If canshoot is equal to 1]
                ┃
                ▲ Start of a block
                ┃
         [Set variable canshoot to 0]
                ┃
         [Create instance of object (発射する弾のオブジェクト名)]
                ┃
         [Set Alarm 0 to 8] ←数字が大きいほど連射速度が落ちる
                ┃
                ▼ End of a block

サンプルゲーム 1945と、同じ様な処理になりました。
■ このスレッドは過去ログ倉庫に格納されています