【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
0696名前は開発中のものです。
04/12/12 14:45:37ID:zmXdOSUS期待してますよー
0697豆乳もHSPも挫折した人
04/12/14 03:18:43ID:ehAg+udgttp://gamdev.org/up/img/2115.zip
0698豆乳もHSPも挫折した人
04/12/14 03:27:12ID:ehAg+udgいつの間にか同じルームが中に(ry
0699681
04/12/14 03:59:17ID:gHJ3a9dtテスト用に作った敵を全部放り込んでるので、
道中は全然バランスとれてないですが……
http://gamdev.org/up/img/2116.zip
0700豆乳もHSPも挫折した人
04/12/14 13:33:39ID:Bulr5MaGttp://gamdev.org/up/img/2122.zip
0701名前は開発中のものです。
04/12/14 14:34:33ID:HaSEUjTJGMでこんなレベル高いゲーム作れるんですね
本当あなたはすごいです
0702名前は開発中のものです。
04/12/14 15:13:19ID:n91UAxQB0703よこしまなMr.0
04/12/15 00:04:58ID:gmwOF6Vv締め切り日が2005/02/12に延期されたようです。
ttp://gmshowcase.gm-school.uni.cc/
0704よこしまなMr.0
04/12/19 22:45:43ID:IF+VthEkGameOverになっても楽しいゲームですね!乙です
Charas-Projectという、すばらしいキャラクタ画像生成ソリューションを発見したので紹介します。
ttp://gamemaker.main.jp/modules/news/article.php?storyid=19
0705名前は開発中のものです。
04/12/20 13:04:27ID:UtqMeeS8これRPGツクールのサンプル素材の改変だね。
ツクール以外の流用は不可です。
0706名前は開発中のものです。
04/12/20 15:53:46ID:UtqMeeS8exe化してVectorなりで公開すれば絶対雑誌とかにも載ると思われ。
途中つっかえて動けなくなるバグがあるけど自爆ボタンさえ実装
すれば問題ないような気もするし・・・。
0707よこしまなMr.0
04/12/20 18:13:03ID:MWou41r+そうだったんですか(´・ω・`)・・・
オリジナル画像も中にはあるんでしょうが、どれを使ったらよいか分かりませんね
記事削除しておきました
0708名前は開発中のものです。
04/12/20 23:18:17ID:8Axm1xUt忍者なんだから切腹って言おうよw
0709名前は開発中のものです。
04/12/20 23:31:41ID:ZHz5p2lJいっそ服毒死
0710名前は開発中のものです。
04/12/22 12:32:59ID:asv6pex10711名前は開発中のものです。
04/12/22 17:52:03ID:8b4FJRjr0712名無しさん
04/12/22 21:08:48ID:HNQ9pf6ehttp://www.forest.impress.co.jp/lib/sys/wincust/otherextn/ewordchanger.html
(フリーでも使用可能)
0713名前は開発中のものです。
04/12/22 23:05:40ID:NrrF94Njttp://gamdev.org/up/img/2162.zip
窓の汚れ(?)をふき取るだけ
何も考えないで作った糞ゲー。
スクリプトやばいよ。
クリアとかないよ。
説明要らないよ。
自己嫌悪に陥ったよ・・・○))) ノシ~ノシ~"
0714名前は開発中のものです。
04/12/23 11:15:13ID:GDQrv1wh乙
落ちる動きが綺麗
0715名前は開発中のものです。
04/12/27 09:55:20ID:gb2JmPge0716名前は開発中のものです。
04/12/28 14:37:56ID:xA/2jw+Xどうもです。
ということで自爆とか色々実装してみますた。
一応これで完成です。
音楽ないけど……orz
忍者アクションゲーム
http://gamdev.org/up/img/2182.zip
基本操作
←→:左右移動
Zキー:ジャンプ
Xキー:攻撃
↑+Xキー:上方向攻撃
↓:武器変更
壁駈け:壁際でZキー
Dキー:自爆
Rキー:タイトル画面へ
水中操作
←→:左右移動
Zキー:泳ぐ
Xキー:攻撃
↑+Xキー:上方向攻撃(刀)
ゲームオーバー画面
↑↓:選択
リターンキー、スペースキー:決定
0717名前は開発中のものです。
04/12/30 21:43:29ID:Tg1dXFI6バグでお手上げ状態になってしまいました。
どなたか何処がいけないか教えていただけないでしょうか。(GM6.0)
http://fetish-onsen.com/cgi/upload/source3/No_0120.lzh
止まっている所は
1.視界中で一番近いインスタンスから離れようとする
2.視界中のインスタンスと方向を合わせようとする
3.視界中のインスタンスの重心方向に行こうとする
のうち、1の段階です。のっけからです。
本来離れ離れになるべき鳥どもが仲良く左へ一直線します。
シューティングに使うつもりで作ってます。よろしくお願いしますorz
0718名前は開発中のものです。
04/12/30 22:33:52ID:hBkhdhLWif(temp!=self)&&(nd>distance_to_point(temp.x,temp.y))
のselfをself.idとすると、あちこち飛ぶようになりました。
selfはインスタンスidではないようですね。
『自分自身だけを示す特別なオブジェクトの値』と思ったほうがいいみたいです。
ちなみに、数値自体はself は -1、other は -2 が使われているようです。
0719名前は開発中のものです。
04/12/30 22:58:46ID:Tg1dXFI6素早いレス有り難うございます!
なるほど、すっかり盲点でした。
おかげさまでバリバリ飛ぶようになりました。なんだか鳥というよりハチ?
ソースはご自由にお使い下さい。
http://fetish-onsen.com/cgi/upload/source3/No_0125.lzh
0720名前は開発中のものです。
04/12/31 08:09:31ID:SxYueGz2http://u.skr.jp/512/files/4497.gif
体力ゲージなどを作る場合、一直線の長方形のゲージであれば
DRAWの四角形を作るやつでx2もしくはy2に変数投入すれば作れますが、
上の画像のゲージA,Bのようなものの場合はどうすりゃいいんでしょうか?
0721名前は開発中のものです。
04/12/31 09:05:44ID:/ccjRWCBそういう場合、自分でスプライトを用意して表示しなければならないと思う。
draw_sprite_partというのが使えるっぽい。一応作ってみたよ (GM6.0)
ttp://fetish-onsen.com/cgi/upload/source3/No_0137.zip
(Gamdev落ちてた…)
斜めってるところの処理はご愛嬌で。
あそこの境界を斜めにするには、スプライトを用意するしかないのだろうか…?
0722名前は開発中のものです。
04/12/31 09:12:30ID:/ccjRWCB0723名前は開発中のものです。
04/12/31 15:08:47ID:2yvUKAmQGM使いではないので参考にならないかもしれないけど、
普通そういうゲージは、そのゲージの形に左から右へ流れるグラデーション状の
アルファマスクを作って、それを閾値として使う描画をします。
おそらくGMくらい高機能な2Dエンジンなら、アルファマスクを閾値として描画する
レンダリングモードがあるはずなんだけど、なかったらごめん。
0724名前は開発中のものです。
04/12/31 15:09:31ID:2yvUKAmQ○ >>720
でしたすまんこ
0725名前は開発中のものです。
04/12/31 15:15:13ID:+h1m5sEsGMLとかまだ分からないのでadvanceモードじゃないです。
音楽無し、へぼいです。
http://haiiro.info/up2/file/6433.zip
操作:↑↓←→で紫ブロックを動かすです。
青いぷにょぷにょしてるやつに当たらないように赤いブロックに触れるとゴールです。
あたるとダメージです。
下を通れる障害物もありますです。
ですです。(g
0726名前は開発中のものです。
04/12/31 15:58:35ID:+h1m5sEsランキングにレジストリは使用しているのでしょうか?
0727名前は開発中のものです。
04/12/31 18:40:01ID:3L88lUEw0728名前は開発中のものです。
04/12/31 18:49:22ID:mnLurk2PHKEY_CURRENT_USER\Software\Game Maker\Scores
に記録されるようです。
0729720
04/12/31 21:00:51ID:SxYueGz2すばやいお返事ありがとうございます。
ですが残念ながらGM6.0ではなく5.3をインストールしてるもので見れなくて・・・
取りあえずdraw_sprite_partというのを使ってみます。
>>723
アルファマスク、調べてまいります。
0730よこしまなMr.0
05/01/01 02:08:10ID:jKQmsXQj普通に→ttp://gamemaker.main.jp/dlfiles/sprite_gradbar.gm6の「spr_bar」のようにペイントソフトで描けば問題ないと思います。
ちなみに、「spr_bar」の画像はPictBearSE(ttp://sleipnir.pos.to/)で描きました。
※GM6にはsprite_set_alpha_from_sprite()という関数もありますが、これはレジストバージョンでしか使用できません。
0731よこしまなMr.0
05/01/01 07:37:32ID:jKQmsXQjあ・・・GM5とGM6は両方インストールしても問題はありませんので(笑
>>725
乙です! あの水色ぷるるんが突進してきたりして恐ろしい・・・
近況:
非公式サイト(ttp://gamemaker.main.jp/)トップページ下部の2chスレ最新投稿ブロックを修正(というかphpで書いた)しました
0732720
05/01/01 10:41:52ID:TSJgRYLSあ、そうなんですか。
適当にGMいじってたので大体はマーク見ればわかるようになってきたので、言語は英語でいけそうなんですが
そんな自分はGM6に移行したほうがいいですか?
GM6にはバグがあるというレスがあったもんで敬遠してるのですが・・・
0733よこしまなMr.0
05/01/01 12:48:11ID:jKQmsXQj「ttp://gamemaker.main.jp/modules/smartfaq/faq.php?faqid=1」の動作条件を満たしてさえいれば むしろGM6のほうが安定した動作をしてくれます。(特に描画面とサウンド面)
また、アクションのコピペやタイルの設定が楽なので、GM6のほうが編集しやすいです。したがって 英語でOKならGM6を激しくオススメします。
ただし、作ったゲームを多くの人に遊んでもらいたいなら 動作条件の軽い5.3aを選ぶとよいでしょう。
0734名前は開発中のものです。
05/01/01 21:27:46ID:op5u0tzKすると時機が消えるのですが、どう対処すればいいでしょうか?
0735名前は開発中のものです。
05/01/01 21:34:59ID:jlUl4PCO描画用のオブジェクトを新たに用意して、そちらにコードを入れるようにしてください。
0736まとめた ◆yIZgqoM/0k
05/01/02 01:53:13ID:FrnAKAmtttp://www.aaa-www.net/~gm/
0737名前は開発中のものです。
05/01/02 08:56:27ID:n8hPyCjG乙カレ
今年も参考にさせてもらいますよー
0738名前は開発中のものです。
05/01/02 15:05:03ID:SNaGZaZPできたー
boidシューティング。
爽快感がいまいちないのと重いのが悩み。
日本語ってGMじゃ表示できないんですかね?
サムキャンとか忍者とか見ても画像で表示させてるし。
>>736
乙です。頑張って下さい!
0739738
05/01/02 21:22:15ID:SNaGZaZP消されたみたいなんで再うp
せっかくなのでVerUP
Zでうつ
Xでバリアもどき
0740よこしまなMr.0
05/01/03 01:38:05ID:6okwv40Nグラフィック、サウンドの質の高さにビビりました。激乙です!
ちょっと気づいた点:
[Script]を覗いてみたところ、for文でよく「temp=instance_find(crow,i)」とされていますが、このfor文をwith構文に書き直すと かなり楽になります。
with構文についての詳細は、GM付属Helpの"With constructions"の項(またはttp://gamemaker.main.jp/modules/articles/article.php?id=18)をご覧ください。
0741名前は開発中のものです。
05/01/03 14:23:30ID:Ocf3WtJLスゲーカコイイ!
0742738
05/01/04 02:52:47ID:deZDuzTLありがとうございます。
withがよくわからなくてあの表現に落ち着いたのですが、
もう一度やってみます。
0743名前は開発中のものです。
05/01/04 12:07:25ID:/GcwaC5X今頃
ありがとう
0744名前は開発中のものです。
05/01/05 10:36:06ID:ub+Y/tLOinstance_nearest関数では、呼び出し側と同種のときは自分自身が最も近いと判断されてしまいますが、
自分以外で最も近いインスタンスidを返す方が便利かと思ったので・・・(まさに738氏がスクリプトでやっていたことですが)
また、withの使い方のサンプルとして参考になるかもしれません。
txtファイルなので、使うときはscriptの項目に新規登録し、丸々コピペしてください。
ttp://gamdev.org/up/img/2204.zip
0745名前は開発中のものです。
05/01/06 01:28:31ID:JQSc0RVx乙です!
こういうGMLのサンプルが充実するといいですね。
0746681
05/01/12 02:45:57ID:Wpv3HQk/乙です。
with内からローカル変数にアクセスできないものかと思っていたら、
localなんてのがあったとは……早速取り入れさせていただきました。
というわけでひとまず完成版です。
背景はスッパリ諦めました……
http://gamdev.org/up/img/2231.zip
0747名前は開発中のものです。
05/01/17 20:10:41ID:xWW2gdxU本家フォーラムで紹介してみたい。
ダメですかね?
0748名前は開発中のものです。
05/01/18 14:20:30ID:tteJaFPkShareItで電信振替、日本円で郵便局から振り込んだ方とかいらっしゃいますか?
0749よこしまなMr.0
05/01/18 17:18:44ID:y7AHxs30もちろんOKです。
というかありがたいです(笑
0750名前は開発中のものです。
05/01/18 18:34:02ID:ySHhEV7H0751名前は開発中のものです。
05/01/21 12:41:28ID:E+Z+Tg1Zが、日本語の説明書がないのだがどうしたらいいのか?
あと何やら難しそうだがこれで格闘ゲームやアクションゲームは作れるの?
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をヘルプで調べるスキルさえあればいいんで・・・
(・∀・)ガンガレ!!
■ このスレッドは過去ログ倉庫に格納されています