【2D】ゲーム作成ツールGameMaker【マンセー】
■ このスレッドは過去ログ倉庫に格納されています
0001よこしまなMr.0
04/06/13 04:28ID:FjVifVER機能がしっかりしているので、アイデア次第でいろいろなゲームを作ることができます。
「Game Maker」の特徴
・コリジョン(当たり判定)、スプライト、マップ、タイマ処理、ランダム処理、サウンド再生...などを簡単に管理できる
・*.exeにてゲームを出力可能
・キーボード、マウス、ジョイスティックからの入力をサポート
・イベントドリブン型なのでスマートにゲームを構築できる
・組み込みスクリプト言語"GML"により、さらに細かい処理が可能
・なんといっても無料!! (15ユーロ寄付してユーザ登録すると起動時のロゴが除去され機能が若干追加されるが、基本的に無料で十分使える)
Game Maker Website> ttp://www.gamemaker.nl/
日本語マニュアル[Word形式]> ttp://www.gamemaker.nl/doc/gmaker_japan.doc
0752名前は開発中のものです。
05/01/21 12:43:08ID:JDbvAaFTGamDevPukiWiki - GameMaker
http://gamdev.org/w/?GameMaker
0753名前は開発中のものです。
05/01/21 22:10:49ID:XIrrT2mH0754フォルテ
05/01/22 13:15:11ID:zDa1OWB20755名前は開発中のものです。
05/01/22 14:28:55ID:za+FxnBp0756名前は開発中のものです。
05/01/22 20:56:19ID:/Dqd8nK20757名前は開発中のものです。
05/01/23 02:22:45ID:RGZYY6g30758名前は開発中のものです。
05/01/23 03:38:30ID:GMtLiXMyGMでは上下左右4方向のイベント処理を作り、
斜め移動は縦方向と横方向の2つのイベントの組み合わせで実現します。
しかしこの方法だと、斜めに移動する時は縦・横移動時と比べて
見た目のスピードが1.4倍ほど速くなってしまいます。
そこで、斜め移動でも見た目のスピードが縦・横移動時と同じになる
移動用スクリプトを作ってみました。
(デモプログラムは5.3A用ですが、スクリプト自体は6でも動くと思います。)
ttp://gamdev.org/up/img/2260.zip
0759名前は開発中のものです。
05/01/23 14:59:25ID:9iovXCuY乙。IDがGMカコイイ
0760名前は開発中のものです。
05/01/23 19:11:32ID:jemQT7cE透明のスプライトを配置した時、そのスプライトがどこに配置されているのかを
視覚できるようにするにはどうすればいいでしょうか?
0761760
05/01/23 20:03:36ID:jemQT7cE0762名前は開発中のものです。
05/01/28 21:26:55ID:1PpZJazCにある「大学に行こう!」のようなRPGゲームを作りたいのですが、
フリーでRPGゲームを作るツールを教えてくれませんか?
0763名前は開発中のものです。
05/01/28 21:40:07ID:1PpZJazC本当に>>1にはってあるゲームメーカーって無償ですよね?
0764名前は開発中のものです。
05/01/28 21:53:51ID:iQUMsx4Cシェアウェアなので未登録だと一部制限があるが限られるが、
未登録でも>>762のようなゲームを作るぐらいの機能は十分使える。試用期間も無い。
ただ、ジャンル的にRPGは手間がかかりそうなモヨリ。
出来ることが多い分、作らなければならないこともまた多くなる。
一からプログラムを組むよりかは生産性があるが。
>>762の力量がどのくらいかわからんが、はじめからRPGに手を出すとつらいので、
ttp://gamemaker.main.jp/index.php
のドキュメント>>入門編>>チュートリアルを見て、まず製作の流れからつかんでみれ。
0765762
05/01/28 22:00:22ID:1PpZJazCこれって日本語バージョンないですか?・・初心者です。すいませんorz
0766まとめた ◆yIZgqoM/0k
05/01/28 22:29:41ID:ZcaI4I/I2.GM5.3Aをインストールして非公式サイトから日本語化パッチをダウンロード
3.パッチあてる
4.uma-
0767名前は開発中のものです。
05/01/28 22:51:47ID:1PpZJazC0768762
05/01/28 22:54:26ID:1PpZJazC5.3Aがある場所がみつかりません・・そして、5.3Aは絶対に無償ですかね?
0769名前は開発中のものです。
05/01/28 23:02:52ID:8gF7UJ+80770名前は開発中のものです。
05/01/28 23:04:45ID:ZcaI4I/I5.3A。
ttp://www.gamemaker.nl/old.html
>5.3Aは絶対に無償ですかね?
未登録だと無償でずっと使える。
0771762
05/01/28 23:30:07ID:1PpZJazC本当にありがとうございます!
0772762
05/01/29 00:00:28ID:A+UvlmrQ確かに5.3Aなのですが・・・
自分のやり方が違うのでしょうか?
0773まとめた ◆yIZgqoM/0k
05/01/29 00:11:52ID:2u4Ve/3z0774名前は開発中のものです。
05/01/29 00:21:24ID:A+UvlmrQ0775名前は開発中のものです。
05/01/29 00:22:41ID:4tHoorfQ0776名前は開発中のものです。
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:2xpeNZMh0779名前は開発中のものです。
05/01/29 02:39:30ID:pAtXBqAQ無茶言うなw あそこまで洗練された動きは素人には無理。
0780名前は開発中のものです。
05/01/29 12:06:26ID:XmGBhhkR確かに甘く見てた。あれからまたいじってるがぜんぜんうまくいかん。
具体的にはブロックに上下左右どこから当たったかの判定、
地上にいるかどうかの判定が必要みたい。
なにか汎用的で上手い方法はないものか……。
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:ntwgDzqk0784名前は開発中のものです。
05/01/30 12:34:11ID:bf3zrrRcサンクス。試してみてるけどなかなかうまくいかない。
重力加速度ゼロにしただけでは止まらないなぁ。速度ゼロにするとなんかおかしいし。
マリオの動作って調べてみるとやはりむずいらしくやせた。
>>782
RPGツクール買って下さい。
0785名前は開発中のものです。
05/02/06 08:04:31ID:1EqPpoOmX枚目が表示されたらアニメーションを終える。としたい時
アクションの項には何をいれたらいいんでしょうか
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だとしたら何やっても挫折するぞ・・・
0788名前は開発中のものです。
05/02/06 14:20:39ID:+4VgMuPTアニメーションをループさせずに一周で止めたいという意味なら、
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ステップイベントで次のアイコンを追加してみ。
------------------------
"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>>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+7BHQSVMove towards pointは、あくまでオブジェクトに進行方向と速度を与えているに過ぎないということだ。
略図を使って説明。
★:自機
□:マス目
▲:マウスポインタ
速度:5(1ステップで5マス進む)
状態1:★□▲□□□
この次のステップはどうなるかというと、進行方向は右、速度5だから、
状態2:□□▲□□★
となる。じゃあ次は?といえば、今度は進行方向は左なので、1の状態になる。
この繰り返しが、あのブルブル震える現象の正体。これをどう解決するか?
マウスポインタまでの距離が速度より大きい場合と小さい場合で処理を変えなければならないだろう。
速度より小さい場合のときに、速度5ではなく、マウスポインタまでの距離を移動させるようにすれば。。。
速度とか弄るより、この場合だけjump to a given positionを使うとよい感じか。
ただし、マウスポインタと自機がピッタリ重なったときに速度(speed)を0にしておかないと、無駄に動いてしまうぞ。
左クリックの問題は、Global Mouseの中の物を使うとよい(Global left buttonか?)
でないとおまいさんの指摘どおり、オブジェクト上にマウスポインタがあるときだけしか反応しない。
Left buttonイベントは、メニュー選択などのボタンアクション向けかと思われる。
文才無いからか、老婆心過ぎるのか、無駄に長いな。。。ウザカッタラキエマス。。。
0794789
05/02/07 15:56:39ID:2lGFcnKAキタ――――!!
解決しますた! 本当にありがとうございます!
ちゃんと動いて弾を撃ってます!
自機操作さえ何とかなったらあとはシューティングはテンプレや
初心者向けの製作チャートがいっぱいあるんで何とかうまくいけそうです
まともなのが出来たらサンプルをageようかと思います
本当にありがとうございました!
0795名前は開発中のものです。
05/02/07 19:11:34ID:1+7BHQSV無事解決できてなにより。
距離の判定は多分GML関数(point_distanceかな?)使わないと出来なかったんだが、出来てる様でよかった。
また余計なお世話かもしれないが、最後に一言。
スクリプトの記述はそんなに言うほど難しくない。
むしろ、アイコンでやりくりするほうが煩雑になったりする場合があるので、毛嫌いせず、挑戦してほしい。
基本的な文法の理解と、GMLをヘルプで調べるスキルさえあればいいんで・・・
(・∀・)ガンガレ!!
0796789
05/02/07 22:40:21ID:SX23cWKX申し訳ありません。。。
やっぱり「静止した!」と思ったら常時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>>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
いつもお世話になっております...>>よこしまさん
0798789
05/02/08 00:32:37ID:h6GtyXnX度々申し訳ありません
実は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もう直してるかもしれないけど、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.0
05/02/08 06:48:20ID:bYhSHMb8>なんで直ぐにオブジェクトの位置をマウスの座標に代入しないで変数作るのですか?
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:4Bznc7HMttp://gamemaker.main.jp/
0803名前は開発中のものです。
05/02/11 23:19:42ID:Dcu7PeaK乙です。漏れもwww-aaaにもってたサイトがデリられた(gamemakerと関係ないサイトだけど)
RSSでチェックできるサイトにしてくれたらなぁ・・・・と要望。
0804まとめた ◆yIZgqoM/0k
05/02/13 20:52:56ID:gmldcHyv移転完了。RSSでチェックできるようになったはず。
なんかあったら言ってくれ
0805名前は開発中のものです。
05/02/14 01:03:04ID:kuuRTVnxお疲れ様です。
むかしハマったクリックアンドプレイっぽいなと思って、
なんとなくブロック崩し作ってたらいつの間にか、どっぷりハマってしまった。
やっぱりゲーム作るのは楽しいなぁ。
0806名前は開発中のものです。
05/02/14 01:25:11ID:Jj3GmAmR乙、さっそくRSS登録しますた。
0807名前は開発中のものです。
05/02/17 02:16:06ID:DecmQgwT私がやったことは以下のとおりです。
・フォントリソースに"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うちもだめですなー
てか、5.3で日本語表示が出来たことに、今気付きました。
日本語化のおかげ?
なんかいい方法ないもんかなー。
日本語をビットマップフォントに置き換えるスクリプト書くとか……面倒か
0809807
05/02/19 04:33:32ID:MYybBstf現状、画像を利用するしか解決できなさそうですね。
ver6.1ではローカライズに力を入れるみたいなんで、そのときに修正してもらえることを期待・・・
0810名前は開発中のものです。
05/02/19 16:10:38ID:r5DvU9w70811名前は開発中のものです。
05/02/20 01:15:07ID:k+cXeeL8俺は仕方ないので、EDGHで画像作って表示させてるけど、激しく面倒・・・orz
>>810
Createイベント等で、「set the font for drawing text」日本語フォントを指定、
Drawイベント内で、「draw a text」で文章を表示させるだけだよ。
もしかしたら、日本語パッチを当ててないと表示されないかも・・・。
0812名前は開発中のものです。
05/02/20 11:48:48ID:j27t95APできました。ありがとうございます。
0813名前は開発中のものです。
05/02/20 18:20:54ID:4c0NXvEvプログラミングの経験が殆ど無く、マニュアルと睨めっこしながらコードを書いたので
やたらと重いものになってしまいました・・・
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:U48Jz3Xwttp://www.ismusic.ne.jp/nagatsuta/yurika3_gmd.lzh
継承覚えたら、格段にコード量減ったわー。しかし疲れた。
0815名前は開発中のものです。
05/02/24 20:13:05ID:U48Jz3Xw今更だけど、できいいなぁ。
演出が凝ってる。
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ほんとすごいなぁ
アクションゲームなら何でも出来そうだ・・
0818813
05/02/28 01:07:44ID:GAEbwpd7ブロック崩しで少しは使い方が判ったので、
今度はアクションゲームに挑戦してみようかなぁと思ってます。
0819名前は開発中のものです。
05/03/01 10:28:16ID:a8U64FeL作品が多くなってきたので、負荷分散のため別ページに移動しました。
前回更新からかなり日が経っていたのもあり、
既にDLできなくなっている作品は、割愛させていただきました。
抜けてる作品があったらごめんなさい。
0820名前は開発中のものです。
05/03/01 13:52:14ID:7Kgvi68w乙ですっ。
人少なめですが盛り上げて行きましょう!
やりたい事は色々あるものの、絵がなぁ…絵が…
絵描き歌のかわいいコックさんですらUMAになっちまうしなぁ。
0821名前は開発中のものです。
05/03/01 16:43:12ID:mFC8Y2QC0822名前は開発中のものです。
05/03/05 02:04:53ID:ioXJEL8a乙です。
参考にさせていただいてます。
0823名前は開発中のものです。
05/03/05 15:57:28ID:f+q5Yy4z0824名前は開発中のものです。
05/03/05 23:41:16ID:f+q5Yy4z0825名前は開発中のものです。
05/03/06 18:04:39ID:am2JgNGr0826名前は開発中のものです。
05/03/06 18:17:54ID:Lc/GMt6Z簡単に大儲けしてみましょうよ
■□■□■□■□■□■□■□■□■□■□
2週間で100万円 最高のビジネス到来!
成功者続出です!
□■□■ 特 徴 □■□■
◎知識や技術は何もいらない!
◎一日30分で十分稼げる!
◎家に居ながらできる!
◎利益は全て自分のもの!
◎2週間で100万円!
◎特別おまけ付き!
■□■□■□■□■□■□■
無責任な誇大表現ではありません!
ご自分の目でお確かめ下さい!
人数制限あり!早い者勝ちです!
詳しくは下記アドレスまで!
ttp://www18.tok2.com/home/kantan100man/
皆様のご訪問お待ちしております!
■□■□■□■□■□■□■□■□■□■□
これで貯めたお金でツールを買って最高のゲームを作ってください
0828名前は開発中のものです。
05/03/06 21:03:11ID:EfEp2IDvブロック素材提供
0829名前は開発中のものです。
05/03/09 18:12:05ID:5+vQO/af画像が入れ替わるように設定したのですが、そこからまた壁から離れると元の画像に戻るように設定したいのですが
どうすればいいかわかりません。どうすればいいでしょうか?
あと、常に画像が変化し続ける(1秒ごとに画像が変わるなどのような)ように設定したいのですが
なかなかわかりません。。
0830よこしまなMr.0
05/03/09 19:50:41ID:xegQl9qYGM Japan Forumで既に返答しています。
0831名前は開発中のものです。
05/03/09 20:20:12ID:CgMXBO4N前者の件に関して、よこしまな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/jGUPXでどれだけ縮む?
0833よこしまなMr.0
2005/03/25(金) 14:48:42ID:gN2sX+M2詳細:
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書き込みはないけど、見ていますよ。
0836名前は開発中のものです。
2005/03/31(木) 15:24:54ID:UpoF/Zxu練習作が出来たので、アップしてみました。
http://gamdev.org/up/img/2478.zip
GameMaker、面白いですね。
0837名前は開発中のものです。
2005/03/31(木) 16:42:01ID:MrBus2W4Viewでスクロールさせているので、
もうひとつのビューを使って得点表示オブジェクトを作ろうとすると、
左端の壁を、背景が覆う…orz
Draw the value of scoreで、
画面から見た座標指定はできないものですかね?
0838837
2005/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/JQ0843839
皇紀2665/04/01(金) 16:54:10ID:1ARpyFX9おお、こっちで対処した方法よりも、
>>841さんのコードを入れたほうが性能がいいですね!
ありがとうございます。
こっちは、倒した時に、とある変数に1を代入して、
次の死亡時に、とある変数が1だった場合に、それを0にして、
死亡をキャンセルする、という風にやっていたのですが。
…直前のステップの座標を読み込んでいるみたいですが、
どうして成功するのか、原理がわかりませんが…
猛烈に感謝します。
084482
皇紀2665/04/01(金) 18:19:47ID:8UFw11JE何時完成することやらorz
0845841
皇紀2665/04/02(土) 00:33:28ID:e8w6vALJ最初に言っていることですが、アレは衝突するオブジェクトがソリッドのときです。
(なぜならソリッドオブジェクトと衝突したときは、強制的に直前の位置に戻されてしまうからです)
ソリッドでないときは、重なっている全てのインスタンスとコリジョンイベントは生じます。
しかし、同時ではなく一つずつ処理されます。
>>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アクションを作っているのですが、ジャンプはうまくいったのですが、地上でキャラを右や左に移動させることができません。
普通に設置するとキャラが壁をすり抜けてしまうので壁に当たったとき速度が0になるようにしているのですが・・・。どうしたらいいでしょうか。
後は重力を下にしか設定していないのにジャンプ中に右に移動すると加速度がかかり左は等速運動になってしまいます。
それでは回答していただければと思います。
0847名前は開発中のものです。
2005/04/02(土) 22:07:49ID:9/v1pEH6相対設定が違っていたのが原因だったようです。
0848名前は開発中のものです。
2005/04/02(土) 22:25:38ID:9/v1pEH6しかしこのソフト、やればやるほど味が出ますね。
0849名前は開発中のものです。
2005/04/10(日) 13:52:46ID:Ft2lWGsv縦スクロールのシューティングゲームを作ろうと思っているのですが、
敵キャラ一体ずつに耐久値を設定し、自機の弾が当たるごとに耐久値を減らし、
耐久値が0になったら消滅させるようにしたいのです。
敵キャラ一体ごとに変数を設定する、という方法でもできないことはないと思うのですが、
敵キャラがランダムで生成されるようにしたいので、その方法をとることが出来ません。
どのようにすればよいでしょうか?
0850名前は開発中のものです。
2005/04/10(日) 20:50:29ID:4BUBsZ6n0851名前は開発中のものです。
2005/04/11(月) 00:44:27ID:pmiR29ylツールである以上どうしても限度があるし
結局はプログラム組める奴が勝る・・・っていうか、自作できるならこんな苦労しない・・・orz
0852名前は開発中のものです。
2005/04/11(月) 19:39:07ID:gpEYhi0gどんなのを作りたいのか分かりませんが、同じ敵、同じ画像のオブジェクトを何種類か用意して
それを順番に出せば良いと思います。
■ このスレッドは過去ログ倉庫に格納されています