【2D】ゲーム作成ツールGameMaker part4【マンセー】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/04/23(木) 08:11:08ID:iAS0afeL●本家(英語)
ttp://www.gamemaker.nl/
●GameMaker Japan - 非公式情報サイト(日本語)
ttp://gamemaker.main.jp/(現在一時閉鎖中)
前スレ
【2D】ゲーム作成ツールGameMaker part3【マンセー】
ttp://pc11.2ch.net/test/read.cgi/gamedev/1210437707/
0702名前は開発中のものです。
2010/03/05(金) 08:06:36ID:4A3js8HY正確にはアンチエイリアスじゃなくて線形補完かな
global game settingsで拡大表示にしてるの?
俺も色々試したけど、結局texture_set_interpolationをオフにして
全てのスプライトのimage_xscaleとかをいじるか、draw_sprite_extで整数倍に拡大するかって結論になった
ビューとか使ってるなら少し面倒だけど、これなら基本的にドットがぼけない
0703名前は開発中のものです。
2010/03/06(土) 17:42:45ID:m5KzOAuhビュー内の座標はどうすれば指定できるかな
0704名前は開発中のものです。
2010/03/06(土) 22:53:31ID:SfY0Rt0r正直7に比べるとここだけ格段に不安定になったように感じる
0705名前は開発中のものです。
2010/03/07(日) 01:29:48ID:DXuxsLAQとりあえず検索・日本語マニュアル・スレ内検索のどれかをするんだ!
てかこのスレの上の方にあったような・・・
0706703
2010/03/07(日) 08:29:18ID:/LOr08+f0707名前は開発中のものです。
2010/03/07(日) 09:23:55ID:lvOuk5YJプログラミングの分野じゃ常識的な事かもしれませんがよろしくお願いします
0708名前は開発中のものです。
2010/03/07(日) 09:43:09ID:MKLEC4hp剰余算「mod」ってのがあって、X mod N とすると、XをNで割った余りが計算できる。
XがNの倍数なら余りゼロってことだから、
if (X mod N == 0) {
...
}
っていうかんじで書ける。
剰余算はどの言語にもある演算だから覚えておくとよろし。
0709名前は開発中のものです。
2010/03/07(日) 10:19:48ID:KNf4+0qq他の部分は動作を止めるっていうのはどうやるのがいいのだろう
0710名前は開発中のものです。
2010/03/07(日) 15:48:14ID:KXTIK9mKinstance_deactivate_all(true);
instance_activate_object(obj); //停止させたくないオブジェクト・必要なオブジェクト
instance_create(SubscreenObj); //操作用オブジェクト作成
で扱って処理が終わったら
instance_activate_all();
RPGの会話(会話中キャラクタが動かない)とか、STGで敵はアニメーションするけど動作やアラームは止める
とかいうのは、GMだと基本的に個々のイベントを飛ばすことはできないから自分で管理しないとダメ
0711名前は開発中のものです。
2010/03/07(日) 21:26:29ID:lvOuk5YJなるほど、確かに割り切れていれば倍数ですね
ありがとうございます
0712名前は開発中のものです。
2010/03/07(日) 22:56:06ID:q1c1f1NA0713名前は開発中のものです。
2010/03/08(月) 08:34:27ID:f1HsbEbXdeactivateだとオブジェクトが見えなくなるしやっぱり専用の動作を作らないと駄目か
0714名前は開発中のものです。
2010/03/08(月) 10:08:27ID:kyD8U0j10715名前は開発中のものです。
2010/03/08(月) 20:43:49ID:hKqIKFomループ作って回すという方法もある
do {
io_handle(); // キーイベント取り込み
// キー判定してメニュー処理などを行う
// 必要に応じて特定のオブジェクトの状態を変えたりする
screen_redraw();
sleep(1000/room_speed);
} until keyboard_check(ポーズ解除キー);
武器選択みたいにキーイベントしか使わない場合
io_handle+sleepじゃなくてkeyboard_waitがおすすめ。
>>712
背景の位置はbackground_x/y[]、移動速度はbackground_h/vspeed[]
0番と1番とでそれぞれ違う値を与えてやればいい。
parallax scrolling game maker とかでぐぐるとサンプルが出てくるよ
0716名前は開発中のものです。
2010/03/09(火) 12:57:26ID:dAWdTrtl> マウスクリックした座標に飛行機を移動させるって動作の際に
> 直進方向以外のいわゆる旋回移動に制限を付けようと思っているんですがどうすればいいのでしょうか。
> 摩擦を使えばいいのか、それともアングルとクリック座標から計算したほうがいいのか…
摩擦は違うと思う。 飛行機の現在の座標位置とクリック座標を使ってpoint_direction()で角度を求めて
現状の飛行機の向いている角度と比較する。そんで旋回できる最大角度をきめておいて、それ以上だったら
最大角度で飛行機の方向を変える。以内だったらpoint_direction()で求まった角度に飛行機の方向を変える。
でいけると思う・・・あと移動速度があるままだとクリックポイントをくるくる回るような動作になるかも?
なので旋回時はスピードをなくしてあげて向いたら速度を与えるとかがいるかもしれんねぇ・・・・
0717名前は開発中のものです。
2010/03/10(水) 16:05:11ID:y7KsC20g剣波が敵キャラに常に追従するようにしたいんだけど
剣波を生成した敵キャラインスタンスだけに追従する方法は無いだろうか
0719名前は開発中のものです。
2010/03/10(水) 20:36:21ID:wfB1/ttt三行目に読点がないから具体的にはわからないけど
instance_nearest(x,y,obj)とかで索敵して追従するインスタンスidを取得
move_towards_point(x,y,sp)なんかでそのインスタンスに向かうように移動させたらいいんじゃないか
0720名前は開発中のものです。
2010/03/11(木) 18:24:32ID:AQjiT5D5FRICTIONをHSPEEDから引いてやる?のかと思ったが、それもちょっと違うみたい。
誰か俺を救ってくれ。
Step Event:
set the friction to 1
if relative position (hspeed,0) gives a collision with Only solid objects
if hspeed is smaller than 0
move in direction 0 at most -hspeed till a contact with solid objects
if hspeed is larger than 0
move in direction 180 at most hspeed till a contact with solid objects
Keyboard Event for <Left> Key:
set the horizontal speed to -5
Keyboard Event for <Right> Key:
set the horizontal speed to 5
0721名前は開発中のものです。
2010/03/11(木) 19:39:40ID:Ea/aU+lQ0722名前は開発中のものです。
2010/03/13(土) 00:36:38ID:YM2/ST+o攻撃した時にアニメを表示させる場合、何のイベント&アクションを使うのがいいんでしょうか?
試しにchange instanceでanimation endを使ってみたんですがどうにもうまくいかない・・
0723名前は開発中のものです。
2010/03/14(日) 23:38:38ID:nkvMCnMTbbox_* 関係は取得座標が小数なしまで丸められるのかよ・・・
せめて上下左右の大きさだけとれればよかったのに
0724名前は開発中のものです。
2010/03/20(土) 10:54:07ID:UbAewb2immfのスレはあんなに盛り上がっているというのに・・・
0725名前は開発中のものです。
2010/03/20(土) 10:56:45ID:2KFp/FA3MMFだって、日本語化されてないときは、こんなもんだったでしょ
0726名前は開発中のものです。
2010/03/20(土) 11:37:08ID:5xltgAgSMMFは言語が使えないからちょっと厳しい
0727名前は開発中のものです。
2010/03/20(土) 15:08:48ID:9qb/UR820728名前は開発中のものです。
2010/03/20(土) 23:08:23ID:w9rRSurb0729名前は開発中のものです。
2010/03/21(日) 00:14:54ID:ItlXC61ckeyboard_set_map(key1,key2)
キーボード同士ならこれでおk
ジョイスティックなら>>688みたいな感じでおk
0730名前は開発中のものです。
2010/04/06(火) 19:09:53ID:eQDK8rEUコードをステップイベント中に実行するってこと?
0731名前は開発中のものです。
2010/04/10(土) 17:50:44ID:gFqDEyWp@□■□■□A ←みたいな画像を左に流していき、Aから@へ繋がってる様にループさせたいのです
よろしくお願いします。
0732名前は開発中のものです。
2010/04/11(日) 12:00:04ID:RzDfUQsdif(left_edge >= sprite_width) left_edge = 0
//画像の切れ目から画像の終端まで
draw_sprite_part(sprite_index, image_index, left_edge, 0, sprite_width - left_edge, sprite_height, x, y)
//画像の先端から画像の切れ目まで
draw_sprite_part(sprite_index, image_index, 0, 0, left_edge, sprite_height, x+sprite_width - left_edge, y)
0733名前は開発中のものです。
2010/04/11(日) 16:16:00ID:aPthgjeCありがとうございます
何となくやり方はわかったのですがそのままコピペしてみてもGM6で動きませんでした
先にバージョンを明記せず申し訳ありませんでした
0734名前は開発中のものです。
2010/04/11(日) 22:04:14ID:sb+5mwFJ0735名前は開発中のものです。
2010/04/12(月) 07:16:15ID:UjHvnRTV単純にループさせたいだけならアニメーションエンドイベントでimage_indexを0に戻せばいいんでない?
0736名前は開発中のものです。
2010/04/18(日) 22:52:26ID:D98Y6NTt>>733はきっとPSPのXMB(横縦ピッのやつ)みたいなのを作ろうとしているんだと思う
違ってたらすまん
0737名前は開発中のものです。
2010/04/20(火) 14:33:44ID:fnZxDMJj遅くなってすみませんがありがとうございます
結構簡単に出来そうでありがたいです
>>736
なんとなくそんな感じかもしれません
XMBの縦は無しで横にピピピッと進めていって端が無いみたいな
0738名前は開発中のものです。
2010/04/24(土) 09:54:27ID:YDMYzErfGang Garrison2にも使われているらしい?GameMakerに行き着いたのですが
マルチプレイのサポートはどの程度実用的なものですか?
ネットコードを自力で書く必要があるようでは、あまり有り難味はないです
GangGarrison2はいかにもチープな2Dグラフィックだったのに信じられないくらい動作が重かったのも気になりましたし
お手軽にオンゲを作れるという幻想は捨てるべきですか?
0739名前は開発中のものです。
2010/04/24(土) 12:36:50ID:a4YOAF6Qだけど、ネット通信用のプラグインがいくつか公開されていて、Socketによる通信もお手軽に出来る。
39dll.dllが有名かも。
http://gmc.yoyogames.com/index.php?showtopic=90437
それを使った戦車のネット対戦ゲーム
http://www.yoyogames.com/games/22-hover-tank-3d#
なお、ネット機能やプラグインの利用といったような、
大規模ゲーム向けの機能はすべて有料版のみ ($25 USドル) の機能となる。
GameMaker製のゲームが重いのは、ある程度は仕方ないところ。対応策、というか気を使うべき点はあるけれど。
>>738 がお手軽に「市販レベルのゲーム」が作れる、というのを期待しているのであれば、やはり幻想と言わざるを得ない。
0740名前は開発中のものです。
2010/04/24(土) 13:43:15ID:EStWy2QE0741名前は開発中のものです。
2010/04/24(土) 15:43:48ID:6qStzYe2どんだけだし
0742名前は開発中のものです。
2010/04/24(土) 16:21:08ID:Ahd9dW6Qぶっちゃけ現状でのGameMakerはネトゲ作成には向いてないと思う
本当に基本的なAPIしか用意されてないしね
通信機能は評価版じゃ使えないから正規版を買う必要があるけど
苦労多くて実り少なしだから・・・手軽からは程遠いと思う
0743名前は開発中のものです。
2010/04/28(水) 13:08:03ID:80mOF+Ry横スクアクションだったんですが同じ感覚では通用しないでしょうか?
0744名前は開発中のものです。
2010/04/28(水) 18:35:40ID:2HI/3VpUfpsと経過フレームから弾き出すしかないか
0745名前は開発中のものです。
2010/04/28(水) 22:08:21ID:PAVXsTi9今アクエディを30秒触った人の意見でいいなら。
GameMakerとアクエディは、ツールの概念が根本的に違う。
GameMakerには、アクエディのように予め用意されているギミックは一切無いから、一から自分で作っていく必要がある。
(自キャラの操作からはじまって、ブロックに乗れるとか、重力の設定とか、アイテム、タイムの経過の表示とか、もろもろ)
それが用意できたら、アクエディのようにぺたぺた貼っていく感じで面を作っていくことが出来る。
一応忠告しておくと、自力でそれに到達するまでは、
GameMakerをいじって作り方を学ぶ必要があるんで、それなりに時間がかかる。プログラミング未経験なら、なおさら。
ジャンプアクションは、意外に難しいジャンル。
個人的に、ゲーム製作初心者が初めに手を出すべきでない、と思ってる。
>>744
実時間の計測したいなら、グローバル変数のcurrent_time(値はミリ秒)を用いる手があるが、精度がいまいちのような気がする。
実時間計測の精度を求めるなら、DLLをつかってWindowsのAPIにある精度の良い関数(timeGetTime()等)を呼び出すとかするしかない。
0746名前は開発中のものです。
2010/04/29(木) 01:02:16ID:oUdNBSO0current_timeは基本的にリファレンス通り1msぐらいの精度でとってくれるよ
内部でtimeGetTimeを呼んでるんじゃないかと思う
0747名前は開発中のものです。
2010/04/29(木) 02:10:18ID:tkZBl2+mアクエディってのは使ったことないけど
1から作るGamemakerで単純な横スクを作るとこんな感じの壁に当たると思う
重力や物に乗る設定
敵を踏む設定
背景や画面の設定
斜面との当たり判定
梯子とかあるとそこも壁になりかねないけどある程度応用が利けば何とかなる
タイムラインとグローバル変数を会得すれば快進撃が始まる
0748名前は開発中のものです。
2010/04/29(木) 03:49:19ID:6/QcXG7Yありがとうございます。
なるほど、基礎部分が大きく違うのですね……衝突や重力設定から自分で作らないといけないと。
とりあえずアクションにこだわらずいじって練習してみます。
0749名前は開発中のものです。
2010/04/29(木) 10:11:26ID:d5o0oHa5PCの起動時間を調べるだけみたいだから気に留めてなかった
この関数で出る数字は人によってまちまちになると思うけど、どうやったらこれをラップタイム等に応用できるのでしょか
0750名前は開発中のものです。
2010/04/29(木) 10:17:17ID:itw73pKb0751名前は開発中のものです。
2010/04/29(木) 10:28:34ID:d5o0oHa5なるほど
これを分:秒:ミリ秒に変換する、と
ラップスタートとPCの起動時間に関連はないから若干の誤差は仕方ないのね
0752名前は開発中のものです。
2010/04/29(木) 19:03:57ID:d5o0oHa50753名前は開発中のものです。
2010/04/29(木) 20:12:21ID:oUdNBSO0ほとんどの場合使い物にならないよ。
タイム表示をするとしたら↓こんな感じ。割り算しまくってあまりいいコードじゃないけど
real_timeはすでにミリ秒に換算されたものとして
real_time_text = string(real_time div 1000 div 60)+"'"+
string(real_time div 1000 mod 60)+"'"+
string((real_time mod 1000) div 10)
draw_text(x, y, real_time_text)
0754名前は開発中のものです。
2010/04/29(木) 21:01:11ID:d5o0oHa5ちなみにfpsでミリ秒を求める場合はどうやるんでしょか
60fpsの場合60フレームで1秒はわかるんだけど
0755名前は開発中のものです。
2010/04/29(木) 21:39:19ID:oUdNBSO060 fpsの場合、1fpsでかかる時間 x は
60 (fps) : 1000 (msec) = 1 (fps) : x (msec)
x = 1000 / 60 (msec)
経過時間 = 経過したフレーム数 * x
0756名前は開発中のものです。
2010/04/29(木) 21:46:09ID:d5o0oHa5自分で辿り着くのはすごく難しいんだよなー
何度も何度もありがとう
0757名前は開発中のものです。
2010/05/01(土) 18:53:49ID:II5NejI3かれこれ数時間はぐぐっているのだがぜんぜん見当たらない・・・
0758名前は開発中のものです。
2010/05/02(日) 02:17:03ID:1vQ/IaZ60760名前は開発中のものです。
2010/05/02(日) 10:40:23ID:aa09sJ7a連投ですまない。
0761名前は開発中のものです。
2010/05/02(日) 23:19:33ID:uBl6tD5c0762名前は開発中のものです。
2010/05/02(日) 23:26:10ID:5bIfN4MQttp://www.youtube.com/watch?v=gymK3oi1xmE
0763名前は開発中のものです。
2010/05/02(日) 23:35:56ID:uBl6tD5c0764名前は開発中のものです。
2010/05/03(月) 01:32:24ID:8PtFWmtK…と思ったが、確かめてみたらその動画と似たりよったりだった
よくあるのは、ループで下から上に向かって調べていって
空いているスペースがあったらそこに移動する方法かな。
for (vy = 4; vy >= -4; vy -= 1) {
if (place_free(x + 4, y + vy)) {
x += 4;
y += vy;
break;
}
}
0765名前は開発中のものです。
2010/05/03(月) 01:44:11ID:8PtFWmtKttp://www.gmlscripts.com/
0766名前は開発中のものです。
2010/05/03(月) 20:07:36ID:2UeCxxLoすばらしいチュートリアルを有難うございます!
これを参考にして見ます。
>>764
スクリプト提供サンクス。
これを参考にして作ってみます。
>>765
おお!ありがとうございます!
いろいろ忙しくてレス出来なくてすまない。
0768名前は開発中のものです。
2010/05/03(月) 21:32:52ID:OdCmNntC向きを「/」として、斜面のXより左に自キャラがいるときに→キーを押した場合、
「X,n+Y」(上)と「n+X,n+Y」(斜め上)に何もないか調べて、無ければそこに移動、みたいな感じで良いのかな
以前同じようなのを作った気がしたけど失敗した
で、俺は曲線の斜面を登る必要はないから滑り落ちる様なのを作りたいんだけど
何か質問文考えてる途中で何となくイメージが掴めて来たから困る
0769名前は開発中のものです。
2010/05/08(土) 17:12:54ID:b3P5iVqG0770名前は開発中のものです。
2010/05/08(土) 17:53:33ID:b3P5iVqG0771名前は開発中のものです。
2010/05/08(土) 19:32:43ID:pAC3Vacaこんな感じかな?
左右キーで移動
スペースでジャンプ
サンプルはこちら
http://www.mediafire.com/?sharekey=81a95152d02a511aab1eab3e9fa335cab6c5a8801dbaf8fc
0772名前は開発中のものです。
2010/05/08(土) 19:45:18ID:pAC3Vacaこんな感じにルーム遷移をしたいんだけど、なにかいい方法ないかな・・・
詳しい方、ご教授願います。
0773名前は開発中のものです。
2010/05/09(日) 15:58:20ID:+L3j5tFD0774名前は開発中のものです。
2010/05/09(日) 19:49:26ID:xBD6SAPM0775772
2010/05/10(月) 19:22:18ID:MvcHCLbq説明不足でした。ごめんなさい
この動画の 1:11から1:13あたりの、ルームを移動したときに前の処理を継続しているみたいなんです。
ルーム移動時にオブジェクトの移動速度や状態をどうやって保持するのかなとおもいまして
0776名前は開発中のものです。
2010/05/10(月) 21:34:53ID:tts9fO3P0777名前は開発中のものです。
2010/05/13(木) 20:15:05ID:wxlWK1XEサンプルって無いだろうか
0778名前は開発中のものです。
2010/05/14(金) 20:25:16ID:YaJQFI/9ジョイパッドはわからないが
キーボードでのキーコンフィグなら
http://www.mediafire.com/file/jymdrhmimnd/keyconfig.gmd
ヘルプにも有るように、今作ってるゲームのシステムを使ってやっつけモード全開で作ったので・・・
0779777
2010/05/14(金) 20:57:51ID:ZT/EAdjlありがたい
ver8.0をliteで使ってるんだけど スクリプト:key_initの
datafile_exportが不明なスクリプトと出た ちょっと色々調べてくる
0780名前は開発中のものです。
2010/05/14(金) 23:29:40ID:fHM8y9Wt例えば、Zと何かのキーを変更するなら
default_key = ord("Z")
keyboard_wait()
custom_key = keyboard_lastkey
keyboard_set_map(custom_key, default_key)
0781名前は開発中のものです。
2010/05/15(土) 00:24:40ID:uTaTmBuvありがとう 試してみる
今夜は寝ないでがんばる
0782名前は開発中のものです。
2010/05/16(日) 00:35:52ID:prMMPTJc1250ではなく0001250のように表示するにはどうしたらよいでしょうか
0783名前は開発中のものです。
2010/05/16(日) 11:45:50ID:nSJwkLn0ここにGM7以降はアルファチャンネルの合成・・・とか書いてあるが実装されてるのでしょうか?
白に近い色も透明化できるということですよね?
GM8使ってみても6と違って透明処理が非常に分かりにくいorz 読み込んだ後の画像の透明化の仕方すら分からん…。
0784名前は開発中のものです。
2010/05/16(日) 15:35:38ID:s7h1BRs+string_formatが誰得な使えない機能になっているので、一番上のスコア部分をグラフィックで隠すか
str_number = string(number | 100000000) //8桁表示
draw_text(x, y, string_copy(str_number, 2, 8))
大きい桁の数で読み込んで上の桁を削るとかかな
>>783
日本語のやつは使ったこと無いから知らないけど
GM8の透過はアルファつきのpng読めば勝手に透明化してくれる
自分で画像を作るときはopacity設定して書くだけ
0785名前は開発中のものです。
2010/05/16(日) 20:03:43ID:4L+tUZJD> 1250ではなく0001250のように表示する
四桁までなら以下のスクリプトで出来る。
http://www.mediafire.com/file/y1yzjo2vczz/chgdeg 3and4.gml
>784 のような方法が一番無難だけどね。
0786785
2010/05/17(月) 18:31:49ID:a6R0p8Vchttp://www.mediafire.com/file/znzhwrdwnjw/chgdeg_3and4.gml
正しくはこっちね。
0787名前は開発中のものです。
2010/05/17(月) 19:19:16ID:qsApoeyK0788名前は開発中のものです。
2010/05/17(月) 22:44:35ID:iruzC88G0789名前は開発中のものです。
2010/05/18(火) 10:30:04ID:UBDSEPmtPRO版になった後に「ライセンス保持者は○○」みたいにどこかに表示されたりする?
それともライセンス名は自由に決められる?
なんとなく気になったもので
0790名前は開発中のものです。
2010/05/18(火) 20:08:56ID:SNyXku20死ぬほど頑張れば出来るとおもうよ
0791名前は開発中のものです。
2010/05/18(火) 20:10:43ID:C9Z95m5Jオブジェクトと時計回りに飛ばすにはどうすればよいのでしょうか?
i wanna be the guy で言うとグラディウスの面の最後のサクランボです
0792名前は開発中のものです。
2010/05/18(火) 21:24:11ID:SNyXku200793名前は開発中のものです。
2010/05/19(水) 00:25:50ID:CbssJVe70794名前は開発中のものです。
2010/05/20(木) 13:03:53ID:XqlYIriT人によるのかな?
0795名前は開発中のものです。
2010/05/20(木) 23:25:21ID:WBZEEzhDツクールを裏技駆使したりするレベルでコアに使い込むタイプの人
→MMF2
デザイナーだけどFlashでActionScript使うのが好き(勉強が苦にならない)人
→Game Maker
どんなに苦労してもいいからゲーム作りを飯の種にしたいという決意の人
→Java
0796名前は開発中のものです。
2010/05/21(金) 00:55:49ID:8RMu8YrKなるほど、把握
0797名前は開発中のものです。
2010/05/22(土) 23:51:45ID:kzKFYK2b実際どれくらいの事まで出来るのでしょう?
良ければサンプル、あるいは3Dを使用した作品の動画などを教えていただけませんでしょうか
0798名前は開発中のものです。
2010/05/26(水) 10:00:33ID:zLNiQ8yoこのレジスト方法嫌いだ。
0799名前は開発中のものです。
2010/05/29(土) 00:36:22ID:tQ6NeHot〜nameとか書いてあるから名前書いてたけど
メールアドレスだったのね・・・・サポートに2度もメール出しちゃった。
ハスカスィ
0800名前は開発中のものです。
2010/05/29(土) 13:47:15ID:ri3eQDYH0801名前は開発中のものです。
2010/05/29(土) 14:32:12ID:+iWaOSdT分かりにくいのは全部softwrapのせい
■ このスレッドは過去ログ倉庫に格納されています