【2D】ゲーム作成ツールGameMaker part4【マンセー】at GAMEDEV
【2D】ゲーム作成ツールGameMaker part4【マンセー】 - 暇つぶし2ch524:名前は開発中のものです。
09/10/23 22:32:30 x6bl6P0C
今更だけど、このツール国内じゃあまり普及してないのかな
もしかして国外じゃめっちゃ使われてるとか?
俺の比較してる対象がHSPだからそう思ってるのかもしれないけど
もしかしてHSPに比べると自由度がめっちゃ低いのかな・・・
このツールで作成されたゲームとかアイワナビーザガイとニコニコアクションくらいしかしらない

525:名前は開発中のものです。
09/10/24 00:37:14 /xeTG7ka
Gameメーカーのスレッドあったんだw
敵オブジェクトを地面に着かせたいのと、左の壁あたってもはじかれないようにしたいんだがどうすればいいんだ

526:名前は開発中のものです。
09/10/24 01:31:35 6tGvwTyZ
516と同じ質問かよ
だからサンプルで勉強しろとあれほど…
てか逆に何故バウンドするんだ

527:名前は開発中のものです。
09/10/24 02:49:25 iUo6fmPV
バイナリ演算子を理解していないことが俺のレベルの上がらない原因なんだよなorz
今地道に勉強しているが、具体的な例を用いた言い換えがないとなかなか頭に入らない
誰かに>>520の例をifやforに戻してみて貰えるとすごく嬉しいんだが…

528:名前は開発中のものです。
09/10/25 04:07:52 VVt17ygj
日本の非公式フォーラム復活しないかな・・・・・・・


529:名前は開発中のものです。
09/10/25 04:16:31 VVt17ygj
もしくはニコニコの解説動画の人が生きてていつか続きうpってくれることを願う

530:名前は開発中のものです。
09/10/25 23:36:50 Y6pUx3+I
しつこいぞ、気長に待つんだ

531:名前は開発中のものです。
09/10/26 19:35:46 2tTUIu1T
最近気付いたんだけど、GM6からはexeが圧縮されてるのね
5.3Aとか圧縮すると1/10になったりもするのに、6は再圧縮しても殆どサイズかわらないや

532:名前は開発中のものです。
09/10/26 23:08:40 QL6sd3s/
どなたか不思議のダンジョン風ゲームのダンジョン自動生成についてヒントを下さい・・・
移動可マスをランダム配置→上下左右に移動可が無い移動可マスは左右どちらかに移動→(ryとかもう書いてる内に混乱してきた
まあそんなこんなで作ってますがどうしてもマジなランダムダンジョンになってしまい、
トルネコやシレンの様に曲がった道があってその先に部屋があって~みたいなゲームらしい物になりません
よろしくお願いします

533:名前は開発中のものです。
09/10/26 23:16:22 58AaIO4i
URLリンク(d.hatena.ne.jp)
こことか参考にしてみたらどうだろう
ローグライク、マップ生成とかで検索したら結構出るよ

534:名前は開発中のものです。
09/10/27 00:39:03 SmcAvcZx
>>524
あとはミックマンXとかナイトメアスフィアなんかが評価高い
両方とも同じ作者だけど

535:名前は開発中のものです。
09/10/27 17:38:28 XGT5kS6x
>>532
最初に部屋を配置して、それらをつなげるように道を作れば?
道自体も一見ランダムに見えて数パターンを組み合わせてるだけだと思う。

536:名前は開発中のものです。
09/10/27 23:28:25 mujP0Qvl
アクションゲームを作っているのですが
移動アニメーション作成する前は普通に移動しながらの攻撃ができたのですが
移動アニメーションをつけてからだと、移動しながら攻撃ができないどころか
移動してからだとなぜか攻撃のキーがきかなくなります、イベントに問題があるのでしょうか
左は

<Left> Change sprite into (左向き立ちポーズ)
else
ifposition is collision free
   start of a block
set the horizontal speed
end of a block
else
   start of a block
set the horizontal speed
end of a block

release<Left> change sprite into (左歩き)
Set the horizonal speed

右はこれの逆です

537:名前は開発中のものです。
09/10/28 02:17:22 wMhLqr8I
アニメーション発動中は弾が撃てないってのがなんとなく理解できたのですが
それをどうすれば撃てるようになるかなんですよね・・・ちなみに5.3です

538:名前は開発中のものです。
09/10/28 19:24:48 W+fx9TAl
アニメーションをやってる間は他の事を受け付けない

こういうとき、そこらにある売りモンのゲームなら
割り込みで受け付けるから、いついかなるときでもボタンを押したらそのとおりにできる。
もちろん、押しても受け付けられないようにもできる。
ダッシュから一定時間はボタン押しても何も出ない、なんてのはまさにマスキングによる割り込み無視だ

GMが割り込みできるかどうかは知らん
ただDirectInputは、常にボタン押したら割り込みとして受け付けている。
あとはゲームエンジンがそれを無視するかしないかだけだ



539:名前は開発中のものです。
09/10/28 21:07:01 wMhLqr8I
>>538
なるほど、仕様な訳ですか・・・
走りながら銃うつゲームあった気がするんだけどなー

540:名前は開発中のものです。
09/10/28 21:43:02 Hbmt8JBN
スレチだが
Multimedia Fusion(クリック&プレイの系列)の国内版が出るそうだ
URLリンク(www7.atwiki.jp)

GMもこういう展開あったらいいのに

541:名前は開発中のものです。
09/10/28 21:54:10 W+fx9TAl
仕様というか、ゲームエンジンが

「このアニメーションはここからここまでだから これを終えるまでは殴るのをやめない!」
などと頑固である場合は
アニメーションを細切れにしてしまえばよいのだ。

それなら、アニメーションの合間合間でボタンの受け付けがなされる。

まあ本来こういうのはゲームプログラミングとしてあってはならないこと。
単純に負荷になるだけだからだ。

だから一番いいのは割り込み
でもできない、そういう機能がないってんならしょうがない。
たいていは割り込みに相当する機能があると思う
組み方にクセがあるにせよ

542:名前は開発中のものです。
09/10/28 21:57:41 Hbmt8JBN
>>536
攻撃ができないんだから、攻撃部分のスクリプトに問題があるんじゃない?
うpしたらわかるとおも

少なくともアニメ中にイベントがキャンセルされるようなことはない。
そんななったらまともなゲーム作れんわ

543:名前は開発中のものです。
09/10/28 23:19:15 HABZAlfr
上げてる人は釣り・・・?

544:名前は開発中のものです。
09/10/29 00:53:02 oT5avUlp
書き方に問題があるんだろう
例えば全てキーボードイベントで処理すれば問題なく作れるはず

if keyboard_pressed(vk_right)
 sprite_index = sprite_left; //左移動用のスプライトに変更
 x += 5; //オブジェクトを右に5ピクセル移動
if keyboard_check_pressed(vk_enter)
 instance_create(x, y, object); //自機の位置にオブジェクト(弾とか?)を生成

みたいな
GMLで書いたけど、そこは適当に翻訳してくれ

545:名前は開発中のものです。
09/10/29 00:53:50 oT5avUlp
間違えた
keyboard_pressed(vk_right)じゃなくてkeyboard_check(vk_right)だ

546:名前は開発中のものです。
09/10/29 17:08:47 WqxdblOH
そもそも悩むほど複雑な処理でも無い気はする

547:名前は開発中のものです。
09/10/31 21:46:27 xSvTmVCN
作ったsurfaceを描画するときに、余計なノイズが入ってしまうのですが、
surface_createした後にsurfaceを一度綺麗にする方法はありますか?
透明色を使用したいので、色で塗りつぶす方法は避けたいです。
バージョンは6.1Aです。

>>Note that the surface will not be cleared.
>>This is the responsibility of the user.
>>(Set it as a target and call the appropriate clear function.)
作ったsurfaceはちゃんと綺麗にしないとダメですよって書いてあると思うんですが、
透明色で塗りつぶす・・・ようなことは出来るのでしょうか・・?

URLリンク(gmdev.xrea.jp)

mbtext_draw_test(Text);
length = global.mbtext_textarea_width;

surf = surface_create( length , 16);
surface_set_target(surf);
//draw_rectangle_color(0,0,length,16,c_black,c_black,c_black,c_black,0);
mbtext_draw(Text);
surface_reset_target();

548:名前は開発中のものです。
09/11/01 00:17:41 NOlFRA2M
surfaceをdraw_surface()系の描画関数で描画するときには、透過情報は失われてしまう模様ですな。

で、まず思いついた方法。
ニ度手間になるけど、sprite_create_from_surface() を使って、
surfaceに作った画像をスプライト登録し、そのスプライトを描画させるようにするといける。この方法は当然単一色ででsurfaceをクリアしておく。
手前でちょこっと実験してみたら、うまくいった。
ただし、元のフォントスプライトリソースがアンチエイリアス無しで作られている場合だけどね。

この理屈だと、
元のフォントスプライトリソースがアンチエイリアス+透過情報有りで作られてる場合、
surfaceに描画した時点で透過情報は失ってしまうことになる。
元画像のアンチエイリアスの効果を残したかったら、
surface から取り込んだスプライトリソースに対して、
sprite_set_alpha_from_sprite()をうまく使うなりして、
再度透過情報も加えないと綺麗に表示されない。(3,4度手間になることに・・・)

549:名前は開発中のものです。
09/11/01 11:20:44 NOlFRA2M
すまない、上でグダグダ書いた者だけど、
draw_clear_alpha() という関数があった。
これは、ターゲットのフィールドを指定した色とアルファ値でクリアするというもの。

>>547のコードで、
mbtext_draw_test(Text);
length = global.mbtext_textarea_width;

surf = surface_create( length , 16);
surface_set_target(surf);

//draw_rectangle_color(0,0,length,16,c_black,c_black,c_black,c_black,0);
// の代わりに ↓を追加
draw_clear_alpha(c_white, 0) // この場合アルファ値は完全透過でクリアするべきなので、色は何でも良いと思う

mbtext_draw(Text);
surface_reset_target();

とするとうまくいく。


550:名前は開発中のものです。
09/11/01 11:49:58 /eF20zDt
透明色で描画する関数あったのか・・・
surfaceとcolor周りの関数だけ見て
そっちを見落としていた様です。

速度の面からもsprite_createは避けたかったので助かりました
日本語ヘルプだけじゃなく6.1のヘルプも読むようにしないとなぁ

回答ありがとうございました

551:名前は開発中のものです。
09/11/08 22:44:07 5mg8aONh
なんだかんだあがいたけどSDLにしちゃったよ
Linuxでも動かせるし

じゃあな手前等

552:名前は開発中のものです。
09/11/09 08:18:16 pkWhHVK8
いってら

553:名前は開発中のものです。
09/11/20 20:43:26 WvDp0X0L
非公式情報サイト復活age
長かった…

554:名前は開発中のものです。
09/11/21 13:25:52 xPzj28Xc
復活ktkr!!これで勝つる!!
よこしまさん乙

555:名前は開発中のものです。
09/11/21 21:07:04 p8joaSKx
すでにある程度わかってる人はいいけど
今度のGM人口の増加には重要なサイトだらかね

556:名前は開発中のものです。
09/11/23 14:39:30 413ChW8D
あれだけ文句言ってた奴居たのに
復活しても反応が薄い不思議

557:名前は開発中のものです。
09/11/23 23:08:49 6hXkMHG7
元々人口少ないからな

558:名前は開発中のものです。
09/11/24 07:43:14 KcyDZMVf
32単位でランダムな数値を作りたいのですが32*random(x)だとどうも32の倍数になってくれません
例えば32、64、96のいずれかを作りたい場合random(3)に32をかければ良い筈ですよね
random(10)の場合は1~10までのどれか1つの数字になる、という考えはもしかして間違ってるのでしょうか?
是非とも解決法を教えて頂きたいです。よろしくお願いします。

559:名前は開発中のものです。
09/11/24 08:42:25 1s+aAVax
少数を忘れちゃいないかい? modを使って整数にして、それから32を掛ければいい。
ただ、random()から得られる数字は【0 ≦ X < 指定した数字】であることを忘れないこと。

つまり、32、64、96を作りたいのなら、
・random(3) (0以上3未満の少数を含む乱数)
・mod 1 (得た乱数を整数に)
・+1 (0~2を1~3に)
・×32 (略)
が必要。

560:名前は開発中のものです。
09/11/24 10:23:29 3GFA5FP4
自分はround(random(10))でやってる

561:名前は開発中のものです。
09/11/24 14:19:26 XCjir9GF
日本語サイト復活おめ&よこしまさん超乙!!
日本のGameMakerの普及はこの人の功績が大きいよな。
以前アップされたアルファチャンネル対応mbtextと第二水準mbtextもアップされることを密かに祈ってる

562:名前は開発中のものです。
09/11/24 21:15:47 //vR+Lo3
>>560
roundだと0~0.49までが0、0.50~1.49までが1…となるので
0と10が他の数字の半分の確率でしか出ないよ。
(それに加えてGMのは>268でも触れてるように特殊な四捨五入だし)
やるならfloor(random())の方がいいね。

563:559
09/11/25 02:55:53 MHhJ/a8G
あー、そうだ。floor()を忘れてた。自分も使ってるのに忘れるとか……orz
mod 1の代わりにfloor()で整数に。

564:名前は開発中のものです。
09/11/25 09:26:37 b3wcHD7l
お、復活したのか
おつおつ

565:名前は開発中のものです。
09/11/25 20:56:30 LPznLx8o
>>559
ありがとうございます。
少数も出るのですか・・・納得です

566:名前は開発中のものです。
09/11/29 21:45:05 ISkoY1lU
GM8、新しいエディタで日本語が表示できないみたいなんだけど、英語以外は対応しないらしい。
多分、修正は望めそうにない。あんなものが仕様だなんて。
地球にいる人間の約半分が英語を理解しているから問題ないなんて発言も。
頭おかしいんじゃないの。

567:名前は開発中のものです。
09/11/30 18:39:54 knPs2N+q
オフラインのゲームがそこそこ作れるようになってきたのですが
オンラインのゲームも難しいながら作れると聞きました

こんな事を聞いてるうちは作ることは出来ないと思いますが
オンラインについてまとめてあるサイト等をご存知ありませんでしょうか?

568:名前は開発中のものです。
09/12/01 03:02:26 9rs+0kUH
ヘルプ
>The Game Maker Language (GML)
>Multiplayer Games

サイトではないが、必要なことは全てここにある。

569:名前は開発中のものです。
09/12/01 11:01:49 VDPjQk8F
ポート空けられないからしっかりした動作確認はとれてないけど、
ヘルプだけでネット対戦PONGくらいはすぐつくれたから、
まずはつくってみると良いかもしれない

570:名前は開発中のものです。
09/12/01 18:26:02 1akKlTNu
>>568
ありがとうございます。
確かに難しそうですが思ってたより単純?みたいなので色々試してみます。

571:名前は開発中のものです。
09/12/02 12:26:05 cV+TWgBG
>566
マジで?
それじゃ日本語表示するゲームが最悪に作りづらいな
テキストは全部外部ファイルで用意とかも無理じゃないけど、
日本語ゲームを作る敷居が上がるな

572:名前は開発中のものです。
09/12/02 19:59:14 tdErPOPp
どっかライセンス買って日本語版発売してくれるところでねーかなー

573:名前は開発中のものです。
09/12/03 20:13:30 RNyFehpq
うーん・・・8も日本語化が絶望的なのか・・・

574:名前は開発中のものです。
09/12/04 01:27:16 ofp5oEjz
「一部の言語が使えないからってわがまま言うんじゃねえ。どの言語も状況は一緒だ」って空気が嫌だな…
国際化を軽く考えてるんだろうな

575:名前は開発中のものです。
09/12/04 15:26:41 ZHGbHwh4
つーか、今時マルチバイト文字対応できないなんてどこの素人だよって思う。

576:名前は開発中のものです。
09/12/04 19:34:39 RWMr9U0n
だからといって、日本語対応してあたりまえ、なめてんじゃねぇ
とふんぞりかえってしまうのも、傲慢だと思わんかね

mbtextという前例だってあるんだし、
自分がmbtextを超えて自力で日本語対応させてやる!
くらいの気概があっても良いんじゃなかろうか、せっかく製作系の板なんだし

577:名前は開発中のものです。
09/12/04 20:30:15 NU3cw9aC
「日本語対応当たり前」というか、多言語化(XML使うとか)は視野にいれても良いと思うんだがなぁ

578:名前は開発中のものです。
09/12/04 20:31:24 peG9JVpj
ゲーム上の表示なら対応できるけど、今度のはエディタ内のコードエディタでの話だから、ユーザーの力ではどうしようもない。

579:名前は開発中のものです。
09/12/04 20:46:12 peG9JVpj
あと、外部エディタで対応、という方針もあるけど、

- 外部エディタを呼び出すと、GameMakerウィンドウが最小化されて固定されてしまい、エディタ画面が見れなくなる
- GameMakerとやり取りするコードを記述するテキストファイルの拡張子がtxtで決めうち。
  (拡張子で判別してモードを切り替えるエディタが多いので不便)
- エディット中のゲームに特有のリソースネームや定数、エクステンション内の関数の色分け表示が不可能

エディタ内のそれ同等の機能を搭載した外部エディタを作ろうとすると、
GMをメモリハックして情報を得るなりしないといけない。
作成&保守の手間の割りに、旨みが少ないと思う。

580:名前は開発中のものです。
09/12/04 22:54:49 WJsaPc4V
つーかゲーム内の日本語表記どころか、コード内のちょっとしたメモ書きとかも出来なるなるやん

581:名前は開発中のものです。
09/12/05 03:14:40 PNdUvSK4
開発者も忙しいんだろうけど、
せめて9とか10で対応するとか言ってほしいわ。
だんだん日本語が使えなくなっていくというのは希望がなさすぎる。

Yoyogamesになって、開発体制変わったりしてないのかなぁ。
どうも個人で作ってます感が。
開発に参加させてほしいぐらいだわ。

582:名前は開発中のものです。
09/12/05 13:18:12 uQ+WGx4h
そういやこのスレって、便利なエクステとかの話にあまりならないよな

ってことで最近ヒットだったDLLを勝手に紹介してみる
GMbinaryfileって奴
URLリンク(gmc.yoyogames.com)
リソースのアーカイブ化をどうやろうか悩んでて、今までTARCとか使ってたんだけど
バイナリで書き出すのが一番直接的で楽だって結論になった。
GMBINInsertFileで外部ファイルをそのままバイナリファイルに追加出来るのが便利だと思う

バイナリって何ぞや? とか最初思ったけど、例が親切だったからすぐに使えるようになった
おすすめ

583:名前は開発中のものです。
09/12/07 17:59:35 NfuD/45W
初心者で大変失礼ですが
まずゲームメーカーの5.3を日本語化できないんですが、やり方を細かく教えていただけませんか?


584:名前は開発中のものです。
09/12/07 21:51:56 ocyA6YZ7
まずってなんだよ、今からどんどん質問を投げつけるので全部答えてくださいねってか

そもそも日本語パッチの当て方は情報サイトに載ってるだろうが

585:名前は開発中のものです。
09/12/07 23:12:09 pugNj6ph
質問させて下さい。
現在、学校の課題でGM7を使いブロック崩しを作成しています。

ブロックの付近をぐにゃぐにゃ動くようにpathを設定して、
ボールをとんでもない(プレーヤーが予想していない)方向に飛ばしてしまう
敵キャラを作成しました。オブジェクト自体はpathの上をきちんと動いているのですが、
ボールがぶつかると弾き飛ばされずにキャラボール共々スタックしてしまうことがあります。
それ以外にも、ボールが壁に衝突したら跳ね返されるように設定しているはずなのに、
壁を突き抜けてしまうor突き抜ける途中でスタックしてしまうといった事象も発生しています。

調べていると、動くもの同士が衝突するとスタックするのはよくあることのようですが、
これは何が原因で、どうやって対処すればよいのでしょうか?
なお、GMLの使用は禁止されています・・・。

586:名前は開発中のものです。
09/12/07 23:17:19 aZCGjm3q
UACとかでは?わからんけど
何に困ったか書いた方が答えやすいよ

587:名前は開発中のものです。
09/12/08 00:18:06 ObegK4AH
分かりづらくてごめんなさい。

ルームの中央付近にブロックがまとめて配置されていて、
その周囲をpathで囲んで、それに沿ってパックマンの様なキャラクターが動くようにしました。
また、偽パックマンにはボールが衝突したら、
ボールをユーザーの意図しない方向に打ち返す動作を入れています。

それぞれの動作についても、ボールがブロックにぶつかると消えて、壁に当ると跳ね返り、
偽パックマンがpathに沿って動いていることなどを確認しました。
(単体で見ていくと正常に動作しているように見えます)

ただ、ボールが偽パックマンに衝突した時に、
ボールと偽パックマンが動かなくなります。
そこに別の偽パックマンが衝突すると、ボールが開放され元通りになるときもあれば、
2個目の偽パックマンもそこで動かなくなってしまうときもあります。

また、壁の近くでボールを打ち返した場合、ボールには壁にぶつかったらバウンドするように
設定しているにも関わらず、そのまま壁にめり込んでしまいます。

当初はオブジェクト形状の問題を疑い、いろいろな形に変えましたが改善されず、
速度が速すぎるのかと思い速度を遅くしましたが、ゲームにならないような速度(4とか)でも、
同様の事象が発生しました。
gravityの設定がおかしくしているのかと思い、gravityをカットしても状況は変わりませんでした。

ただ、これらの問題が常に発生しているわけではなく、最初はきちんと動いていたのに、
途中でピタッと止まってしまったりして、一体どこに原因があるのか分からず、
それらしき箇所を順番にいじっては様子を見てといった具合です。

他にどのような原因が考えられますでしょうか?
ご教示願います。

588:名前は開発中のものです。
09/12/08 00:36:18 Eo6KsZ3Z
衝突は複雑なんだよね。
動くオブジェクトにsolidにチェック入れてたら、はずしてみては。

589:名前は開発中のものです。
09/12/10 01:27:25 3sa2mzR/
HPバーが常に左上に表示される2Dアクションを作ってるんですが、
HPバーのオブジェクトの、stepイベント内のJump to Positionで、
「x : view_xview[0]+16
y : view_yview[0]+128」とすると、
動くんですが(view[0]が追う自キャラの動きに添う)、
挙動がカクカクになってしまいます。(x座標が+0になったり+16になったり)
なんとか滑らかに動かないものでしょうか?

もしstepイベントを使用せず、viewとかbackgroundに配置(?)で済む方法があるなら
そのあたりを教えてもらえないでしょうか。

590:名前は開発中のものです。
09/12/10 01:57:37 QEB+uF6o
>>589
そういえばかなり前にもこの話題が出てたなぁ。(調べたらpart2の>>861だった)
それは同ステップ内でのステップイベントのときとドローイベントのときでview_xview[0]等の値が違うから、だと思う。
自動追従させていた場合では、viewの位置が更新されるタイミングはドローイベントに入る直前になる、とのこと。
(※オブジェクトで明示的にviewへ命令を与えていた場合では、インスタンスの生成順によっては、これと同じことが起こりうる)
なので、Jump to Positionで移動させるのを、
ステップイベントではなくドローイベントで設定しよう。

591:名前は開発中のものです。
09/12/10 21:23:13 3sa2mzR/
既出だったんですね・・・すみませんorz

ドローイベントに変えたところ、ちゃんと表示されました!
本当にありがとうございました。
「画像表示のためのDarw Spriteで、xy座標を入力しているのに、
 Jump to Positionでも座標を入れないと動いてくれない。」
という謎を理解できませんでしたが、とりあえず動いてくれて助かりました。

お世話になりましたm(__)m

592:名前は開発中のものです。
09/12/13 23:08:48 FdAYu4hX
日本語さえ簡単に扱えればMMF2なんて気にせずにいられるのに

593:名前は開発中のものです。
09/12/13 23:34:31 n12Mup7b
MMF2触ってみたけど、この手のツールを初めて触ったのがGameMakerだったせいか、
小回りが聞きにくいというか、思ったことをストレートに表現しづらく感じた。
仕様に慣れればいいのかもしれないけど。
あと、変数の自由さにも欠けるような・・・?
日本語対応はともかくゲーム製作におけるツールの設計はどっちがいいんだろうね。

594:名前は開発中のものです。
09/12/14 00:57:41 kxCMfsAq
やっぱ言語を使えた方いいなー
GUIだと命令文が長くなるとわけが分からなくなる

595:名前は開発中のものです。
09/12/18 00:25:49 PMYLFb3U
俺はほとんど全部の動作をスクリプトで管理してるから、GUIで作るってのはもう考えられないな…
オブジェクトのstepとかdrawイベントとかに適当なスクリプトを入れておいて、それを外で管理する感じ
こうするとコンパイルする前にcheck all scriptsとか出来るから便利な気がする

596:名前は開発中のものです。
09/12/18 21:20:55 9aPcq5Tt
大体作り方覚えた後はそんな感じになるよな
GUIは入門にはよかった

スクリプトも、どっかのフォルダに入れとけば
勝手に読んでくれるぐらいの仕様ならいいのにな
eclipseとかでやりたくなる

597:名前は開発中のものです。
09/12/18 21:25:21 /UiAmXD/
GUIは非常に分かりやすい
こんな感じのPS3だとかのハード用が出ればゲーム開発とか色々取っ付き易くなるのに
3Dは難しいだろうけどFC~DSあたりまでのカセット式ゲームのは是非とも登場して欲しい

598:名前は開発中のものです。
09/12/19 07:21:34 JiXwHKLe
>>596
execute_fileやexecute_stringは?
立ち上げ時に外部ファイルをメモリに読み込んでおいて、それを後から実行するとか
execute_fileは最近になってようやく存在に注目したんだけど目から鱗だった。
気づくのが遅すぎでもあるが…

599:名前は開発中のものです。
09/12/19 11:29:15 dzIhwe6W
execute_fileは毎ステップ実行するには負荷が高い

600:名前は開発中のものです。
09/12/21 18:48:01 afWNakeQ
STGで自機を追尾してくるようなミサイルを作りたいのですが
常にミサイルの先端を進行方向に向けるようスプライトを回転させるにはどのようにすればいいでしょうか。

601:名前は開発中のものです。
09/12/22 00:18:38 KbaIoWLV
どっかのチュートリアルだかヘルプだかにあった気はするけども。
まぁ image_angle = direction とでもしておけばいいんじゃないか。

602:名前は開発中のものです。
09/12/23 15:27:05 fXTl54de
GameMakerで設定されたフォントは、プレイヤー側のPCにも同じフォントを求めるのでしょうか?
作者のPCに入っていて、プレイヤー側のPCに入ってないようなフォントを使った場合はエラーが出るのでしょうか?
ちょっと特殊なフォントを使おうと思っているのですが

603:名前は開発中のものです。
09/12/23 16:18:12 V6GOlyv2
GM6.1のことしか知らんけど、

GM6以降は、そういう「プレイヤー側のPCに入ってないようなフォント」問題のために、
ゲームデータ内に文字のデータを埋めるようになったんだったと聞いた。
その関係で日本語が使えなくなったようなそんな気がした。

まぁ、exeにしてあるならどのPCでもそのフォントが出るので大丈夫です。

604:名前は開発中のものです。
09/12/23 16:36:44 fXTl54de
ありがとうございます
これで安心して製作続行できます

605:名前は開発中のものです。
09/12/23 16:57:40 h4rjAmif
>>604
フォントにも著作権があるから再配布(同梱)可能かどうかちゃんと調べておくんだぞ

606:名前は開発中のものです。
09/12/23 18:09:43 ZkgvYCEI
GM8来てるじゃん

607:名前は開発中のものです。
09/12/23 19:04:58 FMof9rYR
ほんとにコードエディタで日本語使えなくなっててワラタ
GameInfomationでは使えるのにね

608:名前は開発中のものです。
09/12/24 17:47:11 9d8KHbvv
新バージョン来たのに盛り上がらなすぎだろ

609:名前は開発中のものです。
09/12/24 18:13:11 zkoodtU2
ちょっと見てくる

610:名前は開発中のものです。
09/12/24 21:32:13 zkoodtU2
うーん、どこに何を入力すればいいのかわkらない。

「Activate New License」から記入しなおさなければならないのだろうか?

611:名前は開発中のものです。
09/12/24 23:21:57 k4wF1yFJ
無償アップグレード対象もいやらしいよね。2009年でGM7を購入した人のみ対象。
それ以前に購入している人は、新規ユーザと同じように25$支払わなければPro versionにできない。
せめて、アップグレードは有償でも割引とかしてほしかった。

612:名前は開発中のものです。
09/12/25 00:49:45 5WlfCUBa
日本語使えなくなるならアップグレードする気にならない
アルファ対応は7でもなんとかなるし、8はなくてもなんとかなりそうだ

613:名前は開発中のものです。
09/12/25 13:30:29 Y56Oy7nR
8からはレジストにsoftwrapはやめるとか聞いたけどそのままなんだね

614:名前は開発中のものです。
09/12/25 17:32:37 H7HWeLoG
>>611
あぁ、そのせいで通らなかったのか・・・買ったの2007年だったorz

615:名前は開発中のものです。
09/12/25 23:28:13 mlwBihdo
また金払わんのといかんのかYO!

616:名前は開発中のものです。
09/12/26 15:25:24 jDAiNMv9
GM8来たか。
Softwrap存続は、forumにSoftwrapで問題ないという意見が多かったのでそのせいかと。
個人的には、アルファサポートは楽だしUPGしてもいい。入れて検証してみるかな。
$25はもともと安いと考えることも出来るし払うよ。

「俺は2009年の8日前に買ったぞ、同じようなのがたくさんいるはずだ」って言ってた人に
「多く見積もりすぎだよ」ってMarkが言ってた。

617:名前は開発中のものです。
09/12/26 17:30:01 ZqGHiQnD
8のpdf和訳してくれる人いないかな

618:名前は開発中のものです。
09/12/26 18:29:42 Ie/wTV2c
どっか日本の会社がライセンス買ってローカライズ版作ってくれよ
なんだかんだでGMが一番使い易いんだよ

619:名前は開発中のものです。
09/12/26 18:32:57 BOT+n/s4
8になって変わった所って何がある?
日本語が駄目っていうのは置いといて。

620:名前は開発中のものです。
09/12/26 23:43:31 Cm861Vtk
Lite版でちょっとしたものを作りながらだけども
コードエディタは補間や候補が出るようになって非常に使いやすくなった
イメージエディタは透過色の扱いが変わった。左下は透過色じゃなくなった
Sprite系のPreloadが見当たらない
Pro版でTriggerEvent追加。ヘルプを見る限りあまり必要性がない気がする機能
ヘルプは追加機能の部分は追記されてるけど、以前からある関数の挙動の違いや
Pro版のみしか使えないという注意書きがなかったりすることがあるのはそのまま変わらない
7と同じで稀にフリーズする。こまめに保存

大きく変わったのはエディタまわりとpngの扱いだと思う

621:名前は開発中のものです。
09/12/27 17:28:19 4hW5Sed+
サブイメージ毎の当たり判定はどうなった?
それっぽいチェックを入れても1枚毎に設定とかはできないけど

622:名前は開発中のものです。
09/12/27 18:08:42 4hW5Sed+
スプライトの形通りならサブイメージ毎の当たり判定が使えるのか
1枚毎に任意に設定できたらいいのに

623:名前は開発中のものです。
09/12/28 00:05:50 +/rRdtI8
それはGM5.3の時からそうだけど。
マスクを使えば、任意にできるよ。

624:名前は開発中のものです。
09/12/28 00:58:43 OXKKYmCi
そういうことを言ってるんじゃないのでは

625:名前は開発中のものです。
09/12/28 13:12:04 SWsJy+/b
>>621は Separete collision masks にチェックを入れる話をしていると思うのだが、
これは、GM7.0までの仕様通りに、サブイメージの画像で当たり判定を設定するということ。

>>621の要望を満たすには、表示用スプライト本体と同じコマ数のスプライトを別に用意し、
コマ毎のマスクをそれぞれ作っていき、オブジェクトでmaskを設定すればよいという話。
(当たり判定はスプライトと同じサブイメージ番号と同期して、マスクのサブイメージ番号が使用されるようになる)
それでなくても、mask_index をGML制御してもよいのだが。

逆に、このチェックをはずした場合は、
そのスプライトの持つサブイメージの中で、どれか1枚でも当たり判定となる部分をそのスプライトの当たり判定としてしまう、ということ。
つまり、当たり判定の最大値をとるということになる。むしろ、この機能が新しく、便利になった部分だと思う。

多分、>>621はこの部分を誤解していたのでは。

626:名前は開発中のものです。
10/01/03 23:48:49 FlBfLPzy
発見してあまりに感動したんで紹介しておく
CleanMem.dll
メモリ使用量の肥大で悩んでいる人には超オススメ
常時150M安定くらいだったのが、22M安定くらいまで軽くなった
今まで使ってきた中で一番有用なDLLの一つだ

627:名前は開発中のものです。
10/01/04 18:36:34 3K01V5ut
game_saveで出来るsavファイルの容量が、room_restartをするごとにインフレするという問題に直面しているのですが
どなたか原因をご存知でしょうか?

検証方法ですが、まず適当なルームでgame_saveを行って状態を保存します
次にroom_restartでルームをやり直した直後、またgame_saveを行うと、savファイルの容量が最初のものの3倍ほどになります
同じ手順を繰り返すと、今度は4倍、5倍…といった風にどんどんファイル容量が大きくなります
ゲームを再起動すれば、ファイル容量は最初のものに戻ります

他の人が試してみて再現できなければ、自分がgame_saveを行っている状態に問題があるということでしょうか

628:名前は開発中のものです。
10/01/04 21:28:17 q5R0fFL9
GM6.1を使っているのですが、
ついさっきまで動いていたゲームデータが、
「Unexprcted error occured when running the game.」
のメッセージと共に起動しなくなりました。
原因不明のエラーです、と言われても・・・
「今まで動いていた過去のgm6ファイル」も
上記メッセージが表示され起動できません。

これは・・開発断念しかないんでしょうか?

629:名前は開発中のものです。
10/01/04 22:59:53 qovJO+pi
>>627
gm8だとそういうことはなかった
game_saveとroom_restartを繰り返してもデータ量は一定だった
グローバル変数を含めて使用している変数や配列サイズが増えてるってこともあるし
仕様かどうかは最小構成で試せば、確認だけはすぐにできると思う

>>628
よくある質問だけど、原因は人それぞれ
上から順番に試すといいよ
URLリンク(gmcfaq.forumdes.com)

630:名前は開発中のものです。
10/01/07 09:20:15 YvQSSvum
GM6で質問なのですが背景にそのまま当たり判定をつけるにはどうすれば良いでしょうか?

パチンコのようなゲームを作っていまして、全面に当たり判定を要求されるのですが、
曲線部分が多い上にサイズが大きく、当たり判定用のオブジェクトを作ったりすると結構な数になってしまいます
背景の画像をそのままオブジェクトとして使用すると大きすぎて、他のオブジェクトがおけないとか
他のオブジェクトを置くと背景画像のオブジェクトが消えてしまうというような事になってしまいます
そこで背景に直接当たり判定を持たせたいのですがその様な事は可能でしょうか?
また他に案がありましたら是非ともご教授頂きたいです。よろしくお願いします

631:名前は開発中のものです。
10/01/07 12:46:01 KvqJb0mW
文脈から察するに背景というよりも地形の処理なんじゃないかと
そのままの当たり判定というのがどこまでを指すのかわからないけど
地形画像にあわせた当たり判定を自分で作るなら可能だけどかなり大変。
オブジェクトで判断するのがいいんじゃないかなあ

RoomEditorでオブジェクトを置くときのdelete underlyingのチェックをはずせば重ね置きできるよ
インスタンスを作る順番で見えなくなるんだったら地形部分のdepthをかえればいいかも



632:名前は開発中のものです。
10/01/07 21:58:59 hdhcf0Qp
apngとか対応しないもんかね。

そういうのは自分も
あたり判定用のオブジェクトでやってるけど、
たくさん置いてもそんなに重くならないよ。
判定が必要な部分だけに置けばいいし。

633:名前は開発中のものです。
10/01/12 17:54:01 1ZYuN5co
GM8が正式公開されてたけど、αpngに対応してたね

634:名前は開発中のものです。
10/01/13 03:27:11 gAWXDi8j
エディタが日本語に対応してれば買ったんだけどな、残念

635:名前は開発中のものです。
10/01/13 07:47:22 hiuQTZG9
>>631
遅くなりましたがありがとうございます
何とか出来ました

636:名前は開発中のものです。
10/01/14 17:40:25 FmTSJxig
GM6.1Aでゲームを作っているんですが、
GM7、あるいはGM8とゲームデータ(gm6やgmk)に互換性はあるのでしょうか?

GM6.1Aで作ったゲームが一部アンチウィルスソフトに検出され
起動できないという報告を受けています。
同じPCでGM7を使いそのゲームをexe出力したところ、
ウィルスは検知されなかったようです。
なので、ウィルスに感染しているというより、GM6から出力されたファイルが
なんらかの理由でウィルスとして誤検知されているのだと思います。

現在はフリーゲームということでウィルス検知されても
自己責任の下で実行してくださいということにしていますが、
現在製作しているゲームは今後同人販売などに回す予定もあるので、
ウィルス誤検知により動作しないのは、商品として厳しいものがありますし、
誤検知だと説明したとしても信用や責任として微妙なところでしょう。
(本当に自分が感染しているだけだとすればGM開発に謝るしかないのですが)

今のところ、GM7以降を用いれば問題は発生しないようなので、
現在GM6で作っているゲームをGM7で製作続行しようと思うのですが、
gm6ファイルをGM7で読み込めるのか、
また、読み込めば手直しなしでそのまま使用できるのかが知りたいです。

いまだにGM6を使用しているのは、
GM7は複数PCへのpro版インストールに制限があるという話を聞いて、
購入を踏み留まっているのが理由です。(家のPCとノートPC2つで作成しているので)

637:名前は開発中のものです。
10/01/14 19:17:05 iFvKX9yc
>>636
互換性はあるよ。ここのトピックを見てもらえればわかりやすいかもしれない
URLリンク(gamemaker.wikicomplete.info)
ただ、コードの書式が変わっている部分は手直しが必要

ウイルスに関しては、オンラインスキャンでもして誤検知であることがはっきりしたら
その対策ソフトの誤検知窓口へ通報するのが手っ取り早い
一時期ツクールの起動ファイルでさえも誤検知対象になったし

638:名前は開発中のものです。
10/01/15 19:02:28 S+mmOenK
>>630
前にソニックみたいなステージ作ろうとしたけど面倒だったなぁ


639:名前は開発中のものです。
10/01/18 18:17:11 s0n/nTkO
キー長押しってどうすればいいの?
弾を連射するようにしたいんだが

640:名前は開発中のものです。
10/01/18 18:38:19 s0n/nTkO
ごめんなんか勘違いした 忘れてください

641:名前は開発中のものです。
10/01/18 20:25:42 4vU0SbzF
シューティングの強制スクロールさせるときに
速度1でスクロールさせて、自機をどの方向にも相対的に2の速度で移動をさせる場合ってのはどうやったらいいかな

642:名前は開発中のものです。
10/01/18 23:11:13 MB96WVdK
>>641
水平成分と垂直成分に分ければ簡単じゃね?
スクロールしてる方向が水平ならその速度分水平速度にオフセット乗っければおk
スクロールはスクロール速度を指定した透明オブジェクトを追跡させればいいんでね?
このくらいしかおもいつかね、的を得てないかも(´・ω・`)

643:名前は開発中のものです。
10/01/19 00:58:23 C5kX0tTP
ゲームを始めようとして、loadingが始まるまでの時間が異様に長くなった。
ウィルスバスター2010を切ったら戻ったので、こいつが原因だと思うんだけど
昨日は全然問題なかったのに、今日急にだ。
今日のアップデートでなにか変わったりしたんかな?

644:名前は開発中のものです。
10/01/19 01:52:04 60m3nJJX
バスター疑うならアクセスログとって該当スレで対処方法聞くのが
一番手っ取り早いと思うけどなあ

645:名前は開発中のものです。
10/01/19 17:21:52 6ti7jU/Z
641とは少し違うんだけど、自キャラ移動時のみ追従、の背景スクロール
はどうすればいいんでしょ?
2Dアクションなんだけど、自動スクロールは困るし、H(V).Speedには「自キャラ.hspeed」とか無理だし・・・

あと出来れば個別に背景スピードを変えたいんだけど(遠方はゆっくり)、
これはさすがにオブジェクト作らないと駄目ですかねー?(´・ω・)

646:名前は開発中のものです。
10/01/19 18:06:45 iXgB3GZI
GMLなら変数代入可でね?
遠方は割合にすれば変数1つでおk。
グローバルにするのを忘れずに。

647:名前は開発中のものです。
10/01/19 18:40:44 6ti7jU/Z
>>646
ウエエェー(;゚Д゚)出来たぁ!?
有難うございます何とかなりそうです
昔、引数一杯のbackground()か何かがプロ版のみとかで出来なかったから諦めてたorz
無駄なオブジェクト沢山作らずに済みました、本当に有難う&お世話になりました~(;ω;)

648:名前は開発中のものです。
10/01/21 00:09:35 Xw5ltV1q
GM8でも一応例の日本語描画ツール使えば日本語書けるみたいだね
エディタに日本語打ち込むと文字化けするけどゲーム上ではちゃんと日本語が表示される

649:名前は開発中のものです。
10/01/21 03:37:14 gobQ8P1c
mbtextの構造からしてそうだろうね
だけどエディタに日本語書けないってのが致命的なんだよな
日本語は全部スプライトで管理したり外部ファイルで読み込むって手もあるけど、
やはりエディタに書けると嬉しい

650:名前は開発中のものです。
10/01/26 22:16:53 FaW4K/F1
日本語コメントだめなのはきつすぎるな

651:名前は開発中のものです。
10/01/29 01:59:13 8vzlSTrb
パスを使い始めたのですが、path_speedのことがよくわかりません。
マニュアルには「各ステップで進むピクセル数」とありますが、
例えばpath_speed = 100としても毎ステップで100ピクセル進まず、もっと遅いです。
私の解釈が間違っているのでしょうか?
GMLを使っています。

652:名前は開発中のものです。
10/01/29 17:11:10 mZFPM7FC
path_speedが予測と違うなら
Path の sp、GMLなら path_add_point(ind,x,y,speed) などのspeedの設定が間違ってるんじゃないのかな
100で現在の速度維持。それ以下なら遅くなる

653:名前は開発中のものです。
10/01/30 00:08:30 j+0p8nHt
GMLのスクリプトってswap(&a,&b)みたいな参照っぽい使い方って出来ませんよね
変数を入れ替える作業がのめんどくさくってしょうがないんです(´・ω・`)
なんかいい方法ないですか?

654:名前は開発中のものです。
10/01/30 11:40:51 VUMX4QPq
swap("a", "b") みたいに変数名をもらってvariable_local_get/setとか
execute_stringでやる方法はあるけど、効率は良くないな。

655:名前は開発中のものです。
10/01/31 00:04:23 7PBqv3Nb
GM6でスロットみたいなのを作っていて、当たりの判定が面倒なのですが良い案はないでしょうか?

図柄は1つずつに数字が割り振られていて1列目=1、2列目=1、3列目=1だと中央で1当たりです
それだけなら1列目=2列目=3列目の時に当たりとすれば良く
3段なので斜め等もあり1列目=2、2列目=1、3列目=3など中央の数字の並びで判定出きます

これで現在の各3図柄の3列3段の場合は何とか判定出来るのですが
実際は21の図柄を3列3段で上段並び、中段並び、下段並び、上斜め、下斜めの全てをそのようにすると
単純計算で105?の通りがありそれを全て書くと大変な長さになってしまいます

これを簡略化する方法があれば是非ともご教授お願いします

656:名前は開発中のものです。
10/01/31 00:24:03 nFgBCrEE
なんだかよくわからんがポケモンとかにおまけでありそうな感じのスロットってこと?
あたりがあるかどうか判定するなら、別に21図柄まとめてやらずとも各個撃破でいいんじゃないの
3図柄の3X3が出来るなら、1図柄が3X3の配列で当たってるかの判定はもっと簡単でしょ?
その判定を1~21までやってそれぞれの当たり判定を集計すればいいんと違う?

657:名前は開発中のものです。
10/01/31 00:46:41 uDla1eoE
3列3段って調べるのは5通りになるんじゃないの
ABC  //RowUp[3]
DEF  //RowMid[3]
GHI  //RowBottom[3]
上段そろいABCなら if(RowUp[0] == RowUp[1] && RowUp[0] == RowUp[2]) とか
上斜めそろいAEIなら if(RowUp[0] == RowMid[1] && RowUp[0] == RowBottom[2]) とか
スロット列がいくつであっても出目A~I に対して
ABC、DEF、GHI、AEI、GEC
の5通りで済むような気がする

658:名前は開発中のものです。
10/01/31 07:08:38 qY8NTmDt
MMFは結局日本語版が出ても英語からは逃げられずGMより情報がはるかに少ないという現状

659:名前は開発中のものです。
10/01/31 13:39:37 9pquWRar
チュートリアルや基本操作がわかったら次のステップに進むにはどうしたらいいですか?

660:名前は開発中のものです。
10/02/02 10:54:38 pAqVBwNP
>>652
解決しました。
よくマニュアルを見たら、pathのspeedはパーセントだって書いてありましたね。
遅くなりましたがありがとうございます。

661:名前は開発中のものです。
10/02/02 17:59:35 +Ydy93TO
URLリンク(www.youtube.com)

これをそのまま真似てみたんですが壁の判定部分が壁の判定ではなく
まるで沼のような判定になってしまうのですがどのように直せば良いでしょうか?
一応ファイルも張っておきます。
URLリンク(www.dotup.org)
よろしくお願いします

662:名前は開発中のものです。
10/02/02 21:10:11 +Ydy93TO
ちなみにジャンプのところの!はなぜか入れたらエラーが出たので
あえて抜いてあります

663:名前は開発中のものです。
10/02/03 09:35:39 CtOIR+P/
失礼。自己解決しました

664:名前は開発中のものです。
10/02/13 03:48:52 VdovzMYI
GMでジオメトリーやスマッシュTVみたいな全方位シューティングを作ってみました。
SHOOTING GAME TKOOL WIKIのupロダに上げました。
やってもらえたら嬉しいです。

665:名前は開発中のものです。
10/02/14 07:38:24 tdSVdIsJ
スロットか。とりあえずやってみた。
上段3つに代入して、残りは上段の数字から取得。

// 判定
hit = 0;
if (drum[0,0] == drum[1,0] && drum[0,0] == drum[2,0]) hit = drum[0,0]; //上段
if (drum[0,1] == drum[1,1] && drum[0,1] == drum[2,1]) hit = drum[0,1]; //中段
if (drum[0,2] == drum[1,2] && drum[0,2] == drum[2,2]) hit = drum[0,2]; //下段
if (drum[0,0] == drum[1,1] && drum[0,0] == drum[2,2]) hit = drum[0,0]; //右下がり
if (drum[0,2] == drum[1,1] && drum[0,2] == drum[2,0]) hit = drum[0,2]; //右上がり

switch (hit)
{
case 1:

}
数回叩いて飽きた(´・ω・`)

666:名前は開発中のものです。
10/02/15 01:02:03 tpauSGur
ジャンプアクションを作っているのですがジャンプで上昇中と下降中のアニメーションを
切り替えたいのですがどのようにすればよろしいでしょうか?参考になるサンプルとか
あればいいのですがつべとかでいろいろ見ましたがジャンプでのアニメーション
切り替えについてどうしてもわかりません、よろしくお願いします

667:名前は開発中のものです。
10/02/15 03:33:00 IDVHdV70
>>666
垂直方向の速度で判断させればいいんじゃね?
vspeedが0以上ならアニメーションA、0以下ならアニメーションB、とか

668:名前は開発中のものです。
10/02/15 17:14:00 tpauSGur
うーん、普段はyoutube等のチュートリアルで出てきた変数を
wikiで検索かけてたりしたのですが、今回は例にできるサンプルや動画も
見つからないためどんな変数を用いればいいかとか情報がわからなく困っています・・・

669:名前は開発中のものです。
10/02/15 21:48:12 7uwN/x8l
なぜ>>667を読まないのか

670:名前は開発中のものです。
10/02/15 22:15:43 tpauSGur
いや、vspeedの変数についてはわかるのです、左右の移動はできてるので

//重力
if place_free(x,y+1){gravity = 0.7}
else{gravity = 0}
gravity_direction=270
//スピード
if vspeed >20{vspeed = 20}

//左右移動
if keyboard_check(vk_right) && place_free(x+9,y){x+=5}
if keyboard_check(vk_left) && place_free(x-9,y){x-=5}

//ジャンプ
c_key_check = keyboard_check_pressed(67)
if c_key_check && !place_free(x,y+1){vspeed = -15}

こんな感じにしています。
アニメーションを切り替えるのにどういう変数を用いてどのようにスクリプトを
作っていけばいいのがわからないのです

671:名前は開発中のものです。
10/02/15 22:41:29 r7Iarjwj
普通に右のアイコンを使ったりはしないの?
画像の変更はsprite_indexだったはず
ヘルプ読めば分かると思うけど

672:名前は開発中のものです。
10/02/15 22:53:27 tpauSGur
使っています、上のスクリプトを用いて左右のアニメーションの切り替えは
key pressのイベントChange spriteのアクションで構成させたのですが
ジャンプ中のアニメーションの切り替えだけがどうしてもわからないのです。
サンプルや海外のチュートリアル動画でもジャンプのアニメーション部分は
上昇中と下降中でわけていなく1つのスプライトしか使っていないもので。
どういうふうにすればいいか方法がわからなく・・・



673:名前は開発中のものです。
10/02/15 23:31:22 Iihzzpes
if文の使い方はわかっているという前提で
Change spriteアクションには設定欄が3つあるけど、それぞれがGMLの変数に対応する。
「sprite」=sprite_index、「subimage」=image_index、「speed」=image_speed
普通は3つ全部代入する必要はなくて、変える必要のあるものだけ変えればいい。
例: if (vspeed < 0) { sprite_index = spr_jump_up; }

ちなみにGML使わずChange spriteアクションでもできる。
その場合、条件判定にはTest variableアクション(八角形のVAR)や
If expression is true(八角形の?マーク)を使えばいい。

あと、キーの値に直値使うのはあまりよくないな。
普通は keyboard_check_pressed(ord('C')) と書く。
こういうことみんなヘルプに載ってるんだから、
サンプルありきじゃなくまずヘルプを読むことを覚えてくれ。

674:655
10/02/15 23:36:23 ORUjV2JB
>>657
ありがとうございます
なんとか形になりました
書き込み規制で遅くなり申し訳ありません

675:名前は開発中のものです。
10/02/15 23:38:23 tpauSGur
>>673
ありがとうございました
ちなみにkeyboard_check_pressed(ord('C'))は
一応やったのですがなぜかエラーが出てしまったので
c_key_check = keyboard_check_pressed(67)
if c_key_check && !place_free(x,y+1){vspeed = -15} に自分で作り変えています。


676:名前は開発中のものです。
10/02/15 23:41:33 r7Iarjwj
URLリンク(www.dotup.org)
スペースでジャンプ

こんな感じでいいのか?これからは自分で考えて作るんだぞ

677:名前は開発中のものです。
10/02/15 23:47:31 tpauSGur
>>676
GMLを使わなくても右のアイコンから普通にできたのですね。
大変参考になります、ありがとうございました。
一応日本語化したヘルプファイルは見たのですが理解がまだ足りなかったようです。
もう一度じっくり見直してみます。

678:名前は開発中のものです。
10/02/16 08:01:02 h1RSWInj
GM6で質問なのですが一定時間後に次のアクションを実行するというような事をするにはどうすれば良いのでしょうか?
Set Alarmだと増えすぎて見にくいしSleepだと他のオブジェクトも止ってしまいます
Stepで変数Aに+1していって、Aが一定数に達したらB=1、「IF B=1~」とかで次に繋げる事も出来ますがこれもイマイチです
初心者で申し訳ありませんがご回答よろしくお願いします

679:名前は開発中のものです。
10/02/16 10:14:58 XrRMVF0j
timelineというものがあってだな

680:名前は開発中のものです。
10/02/16 21:39:49 h1RSWInj
>>679
ありがとうございます
あまりの便利さに年号が大正に変わった時並の衝撃を受けました

681:名前は開発中のものです。
10/02/16 22:18:18 RKDJmTNj
今からGameMakerをはじめるならどのバージョンがいいですか?

682:名前は開発中のものです。
10/02/17 01:21:56 OuLovxNF
アニメーションを増やせば増やすほど壁にめり込みやすくなってしまうのですが
何かいい工夫の方法ってありますか?

683:名前は開発中のものです。
10/02/17 01:27:11 MTfpk2jP
その症状の意味がよくわからんが
詳細な衝突判定のチェックを外して、
衝突判定の大きさとoriginを揃え(あるいはMaskを使う)ておけばまずめり込むことはないと思うんだが。

684:名前は開発中のものです。
10/02/19 15:36:20 UNUcs7a5
ジョイスティックにもプレスとリリースのイベントがあればいいのに

685:名前は開発中のものです。
10/02/19 22:10:31 pb8ghgYd
gm6のマルチプレイヤについての質問なのですが
ホスト側がmplay_init_tcpip(addr) 、mplay_ipaddress() でIPをプレイしたい相手に伝える
次にmplay_session_create(sesname,playnumb,playername) でセッションを作成

相手側はmplay_init_tcpip(addr) にホストのIPを入力して
mplay_session_find() でセッション数の数だけmplay_session_name(numb) でセッション名を表示して
mplay_session_join(numb,playername) で任意のセッションに接続する、という順序でよいのでしょうか?

それと、上記のコードはゲーム中のどこで行うべきなのでしょうか?
オブジェクトやタイムラインで行っても良いのでしょうか?
よろしくお願いします

686:名前は開発中のものです。
10/02/20 17:20:02 pXLk+4Sd
prev_○○って前のステップの○○ってこと?

687:名前は開発中のものです。
10/02/22 10:39:05 BpErQlzY
>>684
begin stepやend stepを使って自作も出来るけど、
適当なエクステンションがGMフォーラムにもあったはず
Gamepad Extendedって奴かな、使ったことはない

688:名前は開発中のものです。
10/02/22 22:28:28 U4BXwmb1
ジョイスティックのボタンとキーボードのキーを対応させればいいだけだから
ジョイスティックイベントってのは結局いらないんだよね

こんな感じ↓の動作をするオブジェクトを最初のほうでcreateすればいいんじゃないかと
(Zとボタン1を対応させる場合)
if(joystick_check_button(1,1)) keyboard_key_press(ord('Z'));
else if(keyboard_check(ord('Z'))) keyboard_key_release(ord('Z'));


689:名前は開発中のものです。
10/02/22 23:16:32 p56cWW+6
斜めの坂を登る、斜めの坂から転がり落ちる、といった様な事はどのようにすれば良いでしょうか
跳ね返り有りのボールをぶつけてもピタリと止まってしまいます
よろしくお願いします

690:名前は開発中のものです。
10/02/23 06:00:56 poh83Soa
>>688
そうか、その手があったか。でも二行目は
else if(!keyboard_check(ord('Z'))) keyboard_key_release(ord('Z'));
かな?
ジョイスティックの1は押されてないけどキーボードではキーが押されてる時は
key_releaseは実行しないって感じか

691:名前は開発中のものです。
10/02/23 10:47:51 jsahWFTu
else if(keyboard_check(ord('Z'))) keyboard_key_release(ord('Z'));
であってると思うぞ ボタン離したのにZ押下が残ってたらZを離すってことだし

692:名前は開発中のものです。
10/02/23 12:31:19 B7xiSASd
もしよかったら十字キーとボタン二つくらいでプレス、リリース、押してるときのサンプルを作ってくださいまし

693:名前は開発中のものです。
10/02/27 01:13:14 7yAKVkTI
>>683
返事遅れました。てっきりスプライトのマスクのところいじるのかとおもってたら
オブジェクトのMaskの設定だったのですね、何とか解決しました

694:名前は開発中のものです。
10/02/28 20:19:41 HDkOtntC
うーん、海外サイトからサンプルいくつかおとしたけど全部中身GMLで書いてて
よくわからないなぁ・・・

695:名前は開発中のものです。
10/03/02 21:39:12 rAfxrio1
5.3を使ってるんだけど 透明色って強制的に画像の左下1ドットの色になるの?

696:名前は開発中のものです。
10/03/02 22:40:49 0hlEDrjC
5.3~7.0は、強制的に左下の色になる。
アニメーションで変化する場合も、表示されるコマでの左下の色となるので、気をつけなければならない。
Pro版なら、ドット毎で透過度を指定できるコマンドがあるが、やや冗長で使いにくい。

8.0は、エディタ上でドット毎に透過度を設定できるようになっている。

697:名前は開発中のものです。
10/03/02 22:43:09 ShiiXXx2
>>689
重力を180°にするってのはどう?

698:名前は開発中のものです。
10/03/02 22:49:38 rAfxrio1
>>696
ありがとう 画像サイズを1ドット大きくしてみる

699:名前は開発中のものです。
10/03/03 01:55:35 ah63hVO5
320×240を拡大表示したらアンチエイリアスのせいで汚く見える
拡大してもドット絵がシャープに見える方法は無いかな

700:名前は開発中のものです。
10/03/03 07:16:29 Fp5HeXYH
常に圧縮表示して拡大表示時が原寸になるみたいな

701:名前は開発中のものです。
10/03/05 07:02:30 K/WsbzjF
マウスクリックした座標に飛行機を移動させるって動作の際に
直進方向以外のいわゆる旋回移動に制限を付けようと思っているんですがどうすればいいのでしょうか。
摩擦を使えばいいのか、それともアングルとクリック座標から計算したほうがいいのか…

702:名前は開発中のものです。
10/03/05 08:06:36 4A3js8HY
>>699
正確にはアンチエイリアスじゃなくて線形補完かな
global game settingsで拡大表示にしてるの?
俺も色々試したけど、結局texture_set_interpolationをオフにして
全てのスプライトのimage_xscaleとかをいじるか、draw_sprite_extで整数倍に拡大するかって結論になった
ビューとか使ってるなら少し面倒だけど、これなら基本的にドットがぼけない

703:名前は開発中のものです。
10/03/06 17:42:45 m5KzOAuh
画面左下にHPバーを表示したいんだけど
ビュー内の座標はどうすれば指定できるかな

704:名前は開発中のものです。
10/03/06 22:53:31 SfY0Rt0r
GM8 使ってるけど時々狂ったようにSprite Editorの調子が悪くなるな
正直7に比べるとここだけ格段に不安定になったように感じる

705:名前は開発中のものです。
10/03/07 01:29:48 DXuxsLAQ
>>703
とりあえず検索・日本語マニュアル・スレ内検索のどれかをするんだ!
てかこのスレの上の方にあったような・・・

706:703
10/03/07 08:29:18 /LOr08+f
すまない 解決した

707:名前は開発中のものです。
10/03/07 09:23:55 lvOuk5YJ
ifで変数(X)がある数(N)の倍数であるかを判断したいのですがどのようにすれば良いのでしょうか
プログラミングの分野じゃ常識的な事かもしれませんがよろしくお願いします

708:名前は開発中のものです。
10/03/07 09:43:09 MKLEC4hp
>>707
剰余算「mod」ってのがあって、X mod N とすると、XをNで割った余りが計算できる。
XがNの倍数なら余りゼロってことだから、
if (X mod N == 0) {
...
}
っていうかんじで書ける。
剰余算はどの言語にもある演算だから覚えておくとよろし。

709:名前は開発中のものです。
10/03/07 10:19:48 KNf4+0qq
ロックマンの武器選択とかRPGの会話とかみたいに一部分だけ動作させて
他の部分は動作を止めるっていうのはどうやるのがいいのだろう

710:名前は開発中のものです。
10/03/07 15:48:14 KXTIK9mK
武器選択とかサブスクリーンを作る方法で一番簡単なのは
instance_deactivate_all(true);
instance_activate_object(obj); //停止させたくないオブジェクト・必要なオブジェクト
instance_create(SubscreenObj); //操作用オブジェクト作成
で扱って処理が終わったら
instance_activate_all();

RPGの会話(会話中キャラクタが動かない)とか、STGで敵はアニメーションするけど動作やアラームは止める
とかいうのは、GMだと基本的に個々のイベントを飛ばすことはできないから自分で管理しないとダメ


711:名前は開発中のものです。
10/03/07 21:26:29 lvOuk5YJ
>>708
なるほど、確かに割り切れていれば倍数ですね
ありがとうございます

712:名前は開発中のものです。
10/03/07 22:56:06 q1c1f1NA
背景が手前と奥で違う(純粋な背景と足場)ようにスクロールにさせるにはどうしたらいいでしょうか

713:名前は開発中のものです。
10/03/08 08:34:27 f1HsbEbX
>>710
deactivateだとオブジェクトが見えなくなるしやっぱり専用の動作を作らないと駄目か

714:名前は開発中のものです。
10/03/08 10:08:27 kyD8U0j1
draw前にアクティブにすればいんじゃね

715:名前は開発中のものです。
10/03/08 20:43:49 hKqIKFom
>> 709
ループ作って回すという方法もある

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 とかでぐぐるとサンプルが出てくるよ

716:名前は開発中のものです。
10/03/09 12:57:26 dAWdTrtl
>>701
> マウスクリックした座標に飛行機を移動させるって動作の際に
> 直進方向以外のいわゆる旋回移動に制限を付けようと思っているんですがどうすればいいのでしょうか。
> 摩擦を使えばいいのか、それともアングルとクリック座標から計算したほうがいいのか…

摩擦は違うと思う。 飛行機の現在の座標位置とクリック座標を使ってpoint_direction()で角度を求めて
現状の飛行機の向いている角度と比較する。そんで旋回できる最大角度をきめておいて、それ以上だったら
最大角度で飛行機の方向を変える。以内だったらpoint_direction()で求まった角度に飛行機の方向を変える。
でいけると思う・・・あと移動速度があるままだとクリックポイントをくるくる回るような動作になるかも?
なので旋回時はスピードをなくしてあげて向いたら速度を与えるとかがいるかもしれんねぇ・・・・

717:名前は開発中のものです。
10/03/10 16:05:11 y7KsC20g
複数配置する敵キャラと剣波のオブジェクトを別々に作って
剣波が敵キャラに常に追従するようにしたいんだけど
剣波を生成した敵キャラインスタンスだけに追従する方法は無いだろうか

718:712
10/03/10 17:45:41 SAQuwhgU
>>715
解説ありがとうございました。
ググっても見ようと思います。

719:名前は開発中のものです。
10/03/10 20:36:21 wfB1/ttt
>>717
三行目に読点がないから具体的にはわからないけど
instance_nearest(x,y,obj)とかで索敵して追従するインスタンスidを取得
move_towards_point(x,y,sp)なんかでそのインスタンスに向かうように移動させたらいいんじゃないか

720:名前は開発中のものです。
10/03/11 18:24:32 AQjiT5D5
壁にぶつかったら跳ね返ってバウンドするのを解決する方法がわからない。
FRICTIONを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

721:名前は開発中のものです。
10/03/11 19:39:40 Ea/aU+lQ
なんで辞書引かないの

722:名前は開発中のものです。
10/03/13 00:36:38 YM2/ST+o
2D横スクアクションを作っているんですが
攻撃した時にアニメを表示させる場合、何のイベント&アクションを使うのがいいんでしょうか?
試しにchange instanceでanimation endを使ってみたんですがどうにもうまくいかない・・


723:名前は開発中のものです。
10/03/14 23:38:38 nkvMCnMT
当たり判定がなんかおかしいと思ったら
bbox_* 関係は取得座標が小数なしまで丸められるのかよ・・・
せめて上下左右の大きさだけとれればよかったのに

724:名前は開発中のものです。
10/03/20 10:54:07 UbAewb2i
このスレどんだけかそってるんだw
mmfのスレはあんなに盛り上がっているというのに・・・

725:名前は開発中のものです。
10/03/20 10:56:45 2KFp/FA3
日本語化されてないからじゃね
MMFだって、日本語化されてないときは、こんなもんだったでしょ

726:名前は開発中のものです。
10/03/20 11:37:08 5xltgAgS
早くどっかの日本企業がライセンス買って日本語版発売してくれねーかなー
MMFは言語が使えないからちょっと厳しい

727:名前は開発中のものです。
10/03/20 15:08:48 9qb/UR82
キーコンフィグで指定したキーを イベントに使うことは出来ないのかね

728:名前は開発中のものです。
10/03/20 23:08:23 w9rRSurb
面倒だけどステップ内でGML使うとかで代用は出来るかもね

729:名前は開発中のものです。
10/03/21 00:14:54 ItlXC61c
どんなキーコンフィグ作ったのか知らないけど
keyboard_set_map(key1,key2)
キーボード同士ならこれでおk
ジョイスティックなら>>688みたいな感じでおk

730:名前は開発中のものです。
10/04/06 19:09:53 eQDK8rEU
>>688ってどういうことかよくわかんないんだけど
コードをステップイベント中に実行するってこと?

731:名前は開発中のものです。
10/04/10 17:50:44 gFqDEyWp
画像をループさせたいのですが良い方法は無いでしょうか
①□■□■□② ←みたいな画像を左に流していき、②から①へ繋がってる様にループさせたいのです
よろしくお願いします。

732:名前は開発中のものです。
10/04/11 12:00:04 RzDfUQsd
left_edge += 1 //画像の切れ目
if(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)

733:名前は開発中のものです。
10/04/11 16:16:00 aPthgjeC
>>732
ありがとうございます
何となくやり方はわかったのですがそのままコピペしてみてもGM6で動きませんでした
先にバージョンを明記せず申し訳ありませんでした

734:名前は開発中のものです。
10/04/11 22:04:14 sb+5mwFJ
コピペで動くソース要求するとか

735:名前は開発中のものです。
10/04/12 07:16:15 UjHvnRTV
>>733
単純にループさせたいだけならアニメーションエンドイベントでimage_indexを0に戻せばいいんでない?

736:名前は開発中のものです。
10/04/18 22:52:26 D98Y6NTt
>>735

>>733はきっとPSPのXMB(横縦ピッのやつ)みたいなのを作ろうとしているんだと思う
違ってたらすまん

737:名前は開発中のものです。
10/04/20 14:33:44 fnZxDMJj
>>735
遅くなってすみませんがありがとうございます
結構簡単に出来そうでありがたいです

>>736
なんとなくそんな感じかもしれません
XMBの縦は無しで横にピピピッと進めていって端が無いみたいな

738:名前は開発中のものです。
10/04/24 09:54:27 YDMYzErf
2Dシュータータイプのマルチプレイヤーゲームをサクッと作りたいと思い、
Gang Garrison2にも使われているらしい?GameMakerに行き着いたのですが
マルチプレイのサポートはどの程度実用的なものですか?
ネットコードを自力で書く必要があるようでは、あまり有り難味はないです
GangGarrison2はいかにもチープな2Dグラフィックだったのに信じられないくらい動作が重かったのも気になりましたし
お手軽にオンゲを作れるという幻想は捨てるべきですか?

739:名前は開発中のものです。
10/04/24 12:36:50 a4YOAF6Q
GameMaker標準のマルチプレイ機能は DirectPlay を簡単に利用できる程度。
だけど、ネット通信用のプラグインがいくつか公開されていて、Socketによる通信もお手軽に出来る。
39dll.dllが有名かも。
URLリンク(gmc.yoyogames.com)

それを使った戦車のネット対戦ゲーム
URLリンク(www.yoyogames.com)

なお、ネット機能やプラグインの利用といったような、
大規模ゲーム向けの機能はすべて有料版のみ ($25 USドル) の機能となる。

GameMaker製のゲームが重いのは、ある程度は仕方ないところ。対応策、というか気を使うべき点はあるけれど。
>>738 がお手軽に「市販レベルのゲーム」が作れる、というのを期待しているのであれば、やはり幻想と言わざるを得ない。

740:名前は開発中のものです。
10/04/24 13:43:15 EStWy2QE
お手軽を求めながらデフォルトでネット対応してないツールを選ぶ時点でおかしい

741:名前は開発中のものです。
10/04/24 15:43:48 6qStzYe2
>>ネットコードを自力で書く必要があるようでは、あまり有り難味はないです
どんだけだし

742:名前は開発中のものです。
10/04/24 16:21:08 Ahd9dW6Q
ここでのネットコードってGMLじゃなくて外部ライブラリとかエクステンションのことでしょ

ぶっちゃけ現状でのGameMakerはネトゲ作成には向いてないと思う
本当に基本的なAPIしか用意されてないしね
通信機能は評価版じゃ使えないから正規版を買う必要があるけど
苦労多くて実り少なしだから・・・手軽からは程遠いと思う

743:名前は開発中のものです。
10/04/28 13:08:03 80mOF+Ry
アクエディ今まで使ってたんですがGameMakerと主な相違点ってどんなものがあるでしょうか?
横スクアクションだったんですが同じ感覚では通用しないでしょうか?

744:名前は開発中のものです。
10/04/28 18:35:40 2HI/3VpU
レースゲーのラップタイム等を計るのに便利な関数って無いよね?
fpsと経過フレームから弾き出すしかないか

745:名前は開発中のものです。
10/04/28 22:08:21 PAVXsTi9
>>743
今アクエディを30秒触った人の意見でいいなら。
GameMakerとアクエディは、ツールの概念が根本的に違う。
GameMakerには、アクエディのように予め用意されているギミックは一切無いから、一から自分で作っていく必要がある。
(自キャラの操作からはじまって、ブロックに乗れるとか、重力の設定とか、アイテム、タイムの経過の表示とか、もろもろ)
それが用意できたら、アクエディのようにぺたぺた貼っていく感じで面を作っていくことが出来る。

一応忠告しておくと、自力でそれに到達するまでは、
GameMakerをいじって作り方を学ぶ必要があるんで、それなりに時間がかかる。プログラミング未経験なら、なおさら。
ジャンプアクションは、意外に難しいジャンル。
個人的に、ゲーム製作初心者が初めに手を出すべきでない、と思ってる。

>>744
実時間の計測したいなら、グローバル変数のcurrent_time(値はミリ秒)を用いる手があるが、精度がいまいちのような気がする。
実時間計測の精度を求めるなら、DLLをつかってWindowsのAPIにある精度の良い関数(timeGetTime()等)を呼び出すとかするしかない。

746:名前は開発中のものです。
10/04/29 01:02:16 oUdNBSO0
精度がいいか悪いかは別として
current_timeは基本的にリファレンス通り1msぐらいの精度でとってくれるよ
内部でtimeGetTimeを呼んでるんじゃないかと思う

747:名前は開発中のものです。
10/04/29 02:10:18 tkZBl2+m
>>743
アクエディってのは使ったことないけど
1から作るGamemakerで単純な横スクを作るとこんな感じの壁に当たると思う

重力や物に乗る設定

敵を踏む設定

背景や画面の設定

斜面との当たり判定

梯子とかあるとそこも壁になりかねないけどある程度応用が利けば何とかなる
タイムラインとグローバル変数を会得すれば快進撃が始まる

748:名前は開発中のものです。
10/04/29 03:49:19 6/QcXG7Y
>>745>>747
ありがとうございます。
なるほど、基礎部分が大きく違うのですね……衝突や重力設定から自分で作らないといけないと。
とりあえずアクションにこだわらずいじって練習してみます。


749:名前は開発中のものです。
10/04/29 10:11:26 d5o0oHa5
>>745-746
PCの起動時間を調べるだけみたいだから気に留めてなかった
この関数で出る数字は人によってまちまちになると思うけど、どうやったらこれをラップタイム等に応用できるのでしょか

750:名前は開発中のものです。
10/04/29 10:17:17 itw73pKb
終了時刻-開始時刻=経過時間

751:名前は開発中のものです。
10/04/29 10:28:34 d5o0oHa5
>>750
なるほど
これを分:秒:ミリ秒に変換する、と

ラップスタートとPCの起動時間に関連はないから若干の誤差は仕方ないのね


752:名前は開発中のものです。
10/04/29 19:03:57 d5o0oHa5
画面上に動き続けるタイムを表示する場合だとこの式では無理?だよね

753:名前は開発中のものです。
10/04/29 20:12:21 oUdNBSO0
ゲーム内の時間をとるんだったら、現実時間じゃなくてfpsから計算していかないと
ほとんどの場合使い物にならないよ。

タイム表示をするとしたら↓こんな感じ。割り算しまくってあまりいいコードじゃないけど
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)

754:名前は開発中のものです。
10/04/29 21:01:11 d5o0oHa5
詳しく書いてくれてありがとう
ちなみにfpsでミリ秒を求める場合はどうやるんでしょか
60fpsの場合60フレームで1秒はわかるんだけど

755:名前は開発中のものです。
10/04/29 21:39:19 oUdNBSO0
あんまり難しいこと考えずに算数を思い出して
60 fpsの場合、1fpsでかかる時間 x は
60 (fps) : 1000 (msec) = 1 (fps) : x (msec)
x = 1000 / 60 (msec)
経過時間 = 経過したフレーム数 * x


756:名前は開発中のものです。
10/04/29 21:46:09 d5o0oHa5
こうやって書いてもらうと簡単に思えるけど
自分で辿り着くのはすごく難しいんだよなー

何度も何度もありがとう

757:名前は開発中のものです。
10/05/01 18:53:49 II5NejI3
GMLが大量においてあるサイトはどこにあるんだ?
かれこれ数時間はぐぐっているのだがぜんぜん見当たらない・・・

758:名前は開発中のものです。
10/05/02 02:17:03 1vQ/IaZ6
少なくとも日本のサイトにはないんじゃない

759:757
10/05/02 10:15:45 aa09sJ7a
>>758
そうか・・・もうちょっと頑張ってググってみるよ。



760:名前は開発中のものです。
10/05/02 10:40:23 aa09sJ7a
お前らって横スクロールアクションゲームの斜面処理どうしてる?


連投ですまない。

761:名前は開発中のものです。
10/05/02 23:19:33 uBl6tD5c
俺も知りたい

762:名前は開発中のものです。
10/05/02 23:26:10 5bIfN4MQ
こういうの?
URLリンク(www.youtube.com)

763:名前は開発中のものです。
10/05/02 23:35:56 uBl6tD5c
これだと登るのは可能だけど 下るのは落ちるようになるなぁ

764:名前は開発中のものです。
10/05/03 01:32:24 8PtFWmtK
公式のチュートリアルに坂道って入ってなかったっけ
…と思ったが、確かめてみたらその動画と似たりよったりだった

よくあるのは、ループで下から上に向かって調べていって
空いているスペースがあったらそこに移動する方法かな。
for (vy = 4; vy >= -4; vy -= 1) {
if (place_free(x + 4, y + vy)) {
x += 4;
y += vy;
break;
}
}

765:名前は開発中のものです。
10/05/03 01:44:11 8PtFWmtK
ついでに>757 GMLスクリプトの定番サイト
URLリンク(www.gmlscripts.com)

766:名前は開発中のものです。
10/05/03 20:07:36 2UeCxxLo
>>762
すばらしいチュートリアルを有難うございます!
これを参考にして見ます。

>>764
スクリプト提供サンクス。
これを参考にして作ってみます。

>>765
おお!ありがとうございます!

いろいろ忙しくてレス出来なくてすまない。

767:757
10/05/03 20:11:54 2UeCxxLo
名乗るのを忘れていたorz
>>766 は俺です


768:名前は開発中のものです。
10/05/03 21:32:52 OdCmNntC
斜面に関してだけどつまり
向きを「/」として、斜面のXより左に自キャラがいるときに→キーを押した場合、
「X,n+Y」(上)と「n+X,n+Y」(斜め上)に何もないか調べて、無ければそこに移動、みたいな感じで良いのかな
以前同じようなのを作った気がしたけど失敗した


で、俺は曲線の斜面を登る必要はないから滑り落ちる様なのを作りたいんだけど
何か質問文考えてる途中で何となくイメージが掴めて来たから困る

769:名前は開発中のものです。
10/05/08 17:12:54 b3P5iVqG
横スクアクションの無限ループするマップを楽に作れないかな

770:名前は開発中のものです。
10/05/08 17:53:33 b3P5iVqG
自己解決した

771:名前は開発中のものです。
10/05/08 19:32:43 pAC3Vaca
>>768
こんな感じかな?
左右キーで移動
スペースでジャンプ

サンプルはこちら
URLリンク(www.mediafire.com)

772:名前は開発中のものです。
10/05/08 19:45:18 pAC3Vaca
URLリンク(www.youtube.com)
こんな感じにルーム遷移をしたいんだけど、なにかいい方法ないかな・・・
詳しい方、ご教授願います。

773:名前は開発中のものです。
10/05/09 15:58:20 +L3j5tFD
こんな感じのこれはどれを指してるんだ

774:名前は開発中のものです。
10/05/09 19:49:26 xBD6SAPM
すいません GameMakerの処理速度はプログラム言語でたとえるとどの言語程度でしょうか?

775:772
10/05/10 19:22:18 MvcHCLbq
>>773

説明不足でした。ごめんなさい

この動画の 1:11から1:13あたりの、ルームを移動したときに前の処理を継続しているみたいなんです。

ルーム移動時にオブジェクトの移動速度や状態をどうやって保持するのかなとおもいまして

776:名前は開発中のものです。
10/05/10 21:34:53 tts9fO3P
残したいobjectにpersistentを設定

777:名前は開発中のものです。
10/05/13 20:15:05 wxlWK1XE
ジョイパッド キーボードでのキーコンフィグの作り方がよく分からない
サンプルって無いだろうか

778:名前は開発中のものです。
10/05/14 20:25:16 YaJQFI/9
>>777
ジョイパッドはわからないが
キーボードでのキーコンフィグなら

URLリンク(www.mediafire.com)

ヘルプにも有るように、今作ってるゲームのシステムを使ってやっつけモード全開で作ったので・・・


779:777
10/05/14 20:57:51 ZT/EAdjl
>>778
ありがたい
ver8.0をliteで使ってるんだけど スクリプト:key_initの
datafile_exportが不明なスクリプトと出た ちょっと色々調べてくる

780:名前は開発中のものです。
10/05/14 23:29:40 fHM8y9Wt
キーコンフィグなら上のほうにも出ているけどキーマップ切り替えが簡単だと思うよ
例えば、Zと何かのキーを変更するなら
default_key = ord("Z")
keyboard_wait()
custom_key = keyboard_lastkey
keyboard_set_map(custom_key, default_key)

781:名前は開発中のものです。
10/05/15 00:24:40 uTaTmBuv
>>780
ありがとう 試してみる
今夜は寝ないでがんばる

782:名前は開発中のものです。
10/05/16 00:35:52 prMMPTJc
スコア等を表示するときに
1250ではなく0001250のように表示するにはどうしたらよいでしょうか

783:名前は開発中のものです。
10/05/16 11:45:50 nSJwkLn0
URLリンク(gamemaker.jpn.org)
ここにGM7以降はアルファチャンネルの合成・・・とか書いてあるが実装されてるのでしょうか?
白に近い色も透明化できるということですよね?

GM8使ってみても6と違って透明処理が非常に分かりにくいorz 読み込んだ後の画像の透明化の仕方すら分からん…。

784:名前は開発中のものです。
10/05/16 15:35:38 s7h1BRs+
>>782
string_formatが誰得な使えない機能になっているので、一番上のスコア部分をグラフィックで隠すか
str_number = string(number | 100000000) //8桁表示
draw_text(x, y, string_copy(str_number, 2, 8))
大きい桁の数で読み込んで上の桁を削るとかかな

>>783
日本語のやつは使ったこと無いから知らないけど
GM8の透過はアルファつきのpng読めば勝手に透明化してくれる
自分で画像を作るときはopacity設定して書くだけ

785:名前は開発中のものです。
10/05/16 20:03:43 4L+tUZJD
>782
> 1250ではなく0001250のように表示する

四桁までなら以下のスクリプトで出来る。
URLリンク(www.mediafire.com) 3and4.gml

>784 のような方法が一番無難だけどね。

786:785
10/05/17 18:31:49 a6R0p8Vc
ファイル名間違えたorz
URLリンク(www.mediafire.com)
正しくはこっちね。


787:名前は開発中のものです。
10/05/17 19:19:16 qsApoeyK
すいません GameMakerで商業レベルの戦略 戦術シミュレーションゲームを作る事は可能でしょうか?

788:名前は開発中のものです。
10/05/17 22:44:35 iruzC88G
無理

789:名前は開発中のものです。
10/05/18 10:30:04 UBDSEPmt
GMをレジストする時のfirstname/lastnameってやっぱり本名だよね
PRO版になった後に「ライセンス保持者は○○」みたいにどこかに表示されたりする?
それともライセンス名は自由に決められる?

なんとなく気になったもので

790:名前は開発中のものです。
10/05/18 20:08:56 SNyXku20
無理か無理じゃないかと言われたら無理じゃない
死ぬほど頑張れば出来るとおもうよ

791:名前は開発中のものです。
10/05/18 20:10:43 C9Z95m5J
i wanna be the engine でゲームを作っているんですけど
オブジェクトと時計回りに飛ばすにはどうすればよいのでしょうか?
i wanna be the guy で言うとグラディウスの面の最後のサクランボです

792:名前は開発中のものです。
10/05/18 21:24:11 SNyXku20
またアイワナか

793:名前は開発中のものです。
10/05/19 00:25:50 CbssJVe7
しかもマルチかw別にいいけど

794:名前は開発中のものです。
10/05/20 13:03:53 XqlYIriT
Game MakerとMMF2ってどっちの方がとっつきやすいの?
人によるのかな?

795:名前は開発中のものです。
10/05/20 23:25:21 WBZEEzhD
使用者が少なくともプログラマじゃないとして

ツクールを裏技駆使したりするレベルでコアに使い込むタイプの人
→MMF2

デザイナーだけどFlashでActionScript使うのが好き(勉強が苦にならない)人
→Game Maker

どんなに苦労してもいいからゲーム作りを飯の種にしたいという決意の人
→Java

796:名前は開発中のものです。
10/05/21 00:55:49 8RMu8YrK
>>795
なるほど、把握

797:名前は開発中のものです。
10/05/22 23:51:45 kzKFYK2b
gamemakerの3D機能が本当に微弱という話は良く聞きますが
実際どれくらいの事まで出来るのでしょう?
良ければサンプル、あるいは3Dを使用した作品の動画などを教えていただけませんでしょうか

798:名前は開発中のものです。
10/05/26 10:00:33 zLNiQ8yo
アクティベーションできない・・・
このレジスト方法嫌いだ。

799:名前は開発中のものです。
10/05/29 00:36:22 tQ6NeHot
アクティできあ。
~nameとか書いてあるから名前書いてたけど
メールアドレスだったのね・・・・サポートに2度もメール出しちゃった。
ハスカスィ

800:名前は開発中のものです。
10/05/29 13:47:15 ri3eQDYH
~nameってどこの事?

801:名前は開発中のものです。
10/05/29 14:32:12 +iWaOSdT
licence holder のことでしょ
分かりにくいのは全部softwrapのせい

802:名前は開発中のものです。
10/05/30 02:22:15 yzHAUCrX
マウスをゲームのウインドウからはみ出さないようにする事は可能でしょうか
マウスがウインドウから出た時ステップイベント中にwindow_mouse_setでウインドウ内に戻す方法では
一応ウインドウ内に戻る事は戻るのですが一時的にはみ出してしまいます


803:名前は開発中のものです。
10/05/30 10:35:25 K80hcH1v
常にフルスクリーンならともかく
強制的にマウスをウインドウに閉じ込めるのは非常によろしくない
何がしたいのかわからないけれど、きちんとウインドウ外に出たときの処理を作ったほうがいい

804:名前は開発中のものです。
10/05/30 13:45:16 yzHAUCrX
マウスを使うアクションゲームを考えているのですが
マウスがウインドウからはみ出してクリックする度にフォーカスが外れるのはストレスになるだろうと思いまして

ワイド画面の場合の余白の事もあるのでフル/ウインドウ問わずゲーム画面内にマウスをキープできればと

805:名前は開発中のものです。
10/05/30 20:36:11 K80hcH1v
個人的なあれやこれやを押し付けてもしょうがないので先に解決策を書くと
>>802の状態で、おそらくウインドウいっぱいにゲーム領域があるんだろうけど
もう少しウインドウサイズを大きくして、ゲームに淵の部分をつけてマウスをその中に収めるようにすれば
フォーカスを失うことは無いかと

でもやっぱりウインドウモードでマウスが占有されるっていうのは、う~む・・・

806:名前は開発中のものです。
10/05/30 20:47:11 6CMxHS1M
FPSとかはゲーム中占有してるもんだけどね。
ただ、メニューモードになるとマウスカーソルが表示されて
ウィンドウフォーカスをマウスで選択できるようになるけど。


807:名前は開発中のものです。
10/05/30 20:54:01 yzHAUCrX
たしかにこの方法だとフォーカスが移ってもマウスの移動が制限されてしまうんですよね
理想はFPSのウインドウモードのような感じなのですが

色々調べてみたところ望んだ動作をさせるにはDLLを使うしかないようです
そのDLLがどんな物なのかは全くの謎ですが

808:名前は開発中のものです。
10/05/30 21:01:23 yzHAUCrX
>>806
更新したら同じようなレスが

メニューモードでもウインドウ内に閉じ込めるタイプがありますが、それが理想の動作かもしれません
ALT+TABでフォーカスを移してもマウスの動きも制限されないですし

809:名前は開発中のものです。
10/05/30 22:56:03 jFXrZH5T
普通にフルスクリーン限定のゲームじゃダメなのかな
ウィンドウのFPSを遊んだ事が無いので何とも不愉快なイメージしか無い
人によってはフルスクリーンになる事の方が嫌なのかもしれないけど

それにそんな画面いっぱい使ってるゲームなら尚更フルスクリーンの方が楽しめるんじゃないかな

810:名前は開発中のものです。
10/05/31 20:14:52 uB+Rcg9m
ゲーム画面が4:3だとモニターがワイドの場合フルスクリーンにすると余白ができてしまって不都合が出るかと思ったのですが
特に問題は無さそうなのでフルスクリーンで作ることにします
ありがとうございます

811:名前は開発中のものです。
10/06/01 13:33:24 mLQywIcm
URLリンク(www.youtube.com)
この動画みたいに同じタイプのパーティクルを個別の位置(ザコ1匹毎)に作るにはどうしたら良いでしょうか?

812:名前は開発中のものです。
10/06/02 21:15:39 pzl3yDfb
Proエディションにアップさせたいんだけど金はどうやって払えば良いのかな
銀行振り込みなんかが出来ると助かるんだけど

それと送られてきたキーはどのバージョンでも使えるのかな?
今GM6で何か別物になってそうな気がしてGM7に進めないんだけど
将来的にやっぱりバージョンは上げてくだろうし

813:名前は開発中のものです。
10/06/02 23:38:52 MxWIiucV
GMってズーム機能とかはないのかな?
image_xscaleとimage_yscaleをいじるしかない?

814:名前は開発中のものです。
10/06/03 02:49:00 dVlhQ8ao
>>811
敵の位置を指定してpart_particles_createするだけじゃないの?
particle systemとtypeは、適当なコントローラオブジェクトにでも作らせて
グローバルに一個だけ持っておけばいい。

>>812
支払いはクレジットカードとPayPalだけだったかと。
バージョンによってやり方は微妙に違うと思うけど、
Lite版だったらGM起動するたびに「Proにしないか」って画面が出るから
それを押して案内に従えばいいと思う。
ちなみにバージョン間でキーの互換性はないよ。
(GM6買った時は5と6両方のキーがもらえたけど)

>>813
GM6以降だったら、Viewを使って拡大縮小ができる。

815:名前は開発中のものです。
10/06/03 15:22:06 YHqswL3e
>>814
おお、ありがとうございます
おかげでズームアップできました

816:名前は開発中のものです。
10/06/03 22:05:01 aReQvSl6
GM9はC#製になるらしいね
URLリンク(gamemakerblog.com)

817:名前は開発中のものです。
10/06/03 22:13:37 ZiWZ04IR
新verか 線形補間解除できるようになったらいいな

818:名前は開発中のものです。
10/06/03 23:37:06 AF5Clpsp
それって公式発表じゃない気が。
>>816のページもGameMakerユーザーがやってるっぽいし。
本当にC#だったら、Macは切捨てか・・・?

819:812
10/06/04 17:36:04 ds85S00c
>>814
ありがとう
互換性無いのか・・・
なんか知らぬ間にどんどんバージョン上がってきてるしどうすりゃ良いんだ

820:名前は開発中のものです。
10/06/07 15:39:30 A0pl8E9h
線形補間って解除できなかったっけ
GM6だけ?

821:名前は開発中のものです。
10/06/09 15:59:46 ebHnfTX2
スプライトの回転はProだけでしょうか。

822:名前は開発中のものです。
10/06/09 17:02:25 3eDecubD
いえす

823:名前は開発中のものです。
10/06/09 20:48:06 iBEd3wdQ
あるオブジェクトにある変数が定義されているかどうかを確認する方法ってありますか?
定義されていないならその処理は行わないみたいなことをやりたいのですが…

824:名前は開発中のものです。
10/06/09 21:05:50 sZ3LRrvf
つ variable_local_exists(変数名)

825:名前は開発中のものです。
10/06/09 21:19:21 iBEd3wdQ
う、ヘルプのその他の変数のところにしっかりとあったのですね。すごい恥ずかしい…
素早いレスありがとうございました。これで先に進めそうです

826:名前は開発中のものです。
10/06/09 21:19:27 dOFxgLqw
>>820
まじか
8だと出来ないわ

827:名前は開発中のものです。
10/06/09 23:03:40 3eDecubD
7はどうだったか忘れたけど、
8だと解除っていうかデフォルトで設定されてない
もちろんチェックをいれれば有効になる

828:名前は開発中のものです。
10/06/09 23:05:13 dOFxgLqw
>>827
まじか
色々チェックを弄って試してるんだけど分からぬ
どのチェックかな

829:名前は開発中のものです。
10/06/09 23:24:26 3eDecubD
Global Game Settings の interpolate
この辺は6から変わらないと思う


830:名前は開発中のものです。
10/06/09 23:31:12 dOFxgLqw
すまない 画面を拡大した時に輪郭がボケるのを無くしたかったんだ

831:名前は開発中のものです。
10/06/11 21:51:55 t2BjBbMT
いまTDS(TopDownShooter)で軽くゲームを作っているのだが、
どうもキーボード使って斜め移動をしているときに、銃を撃とうとすると斜め移動できなくなるな

なんでだろ

832:名前は開発中のものです。
10/06/12 01:22:20 PYXKd/uJ
普通のキーボードはいくつものキーを同時押しできる作りにはなってない
組み合わせによっては三つ以上認識できないことがある
ShiftとかCtrlにすると改善されるかも

833:名前は開発中のものです。
10/06/12 13:54:56 oloLVXQg
image_angleくらいliteでも使わせてくれ…うぅ

834:831
10/06/13 11:29:24 XK4fWSQG
>>832
やっぱりそうでしたか・・・
キーの組み合わせを調整してみます。

それでもうまくいかないようだったら四方向固定にしようかと。

>>833
激しく同意。 image_angleなしでTDS系のゲームとか作ろうとすると結構つらいorz

835:名前は開発中のものです。
10/06/13 15:12:21 S6dSSaR1
2000円くらい払えよ
ゲーム製作なんて何ヶ月もかかるんだから、2000円ケチる方がはるかに損だと思うんだがな

836:名前は開発中のものです。
10/06/13 19:10:48 ov7pH7B7
ところで格ゲーとかのコマンド入力ってどうやってる?
ボタン押したら変数onにしてタイムラインで一定時間内に次キーが押されなかったら変数offなんて面倒な仕様にしてるんだけど
もっと単純な方法は無いかな

837:名前は開発中のものです。
10/06/13 21:29:16 taDSM2ud
技ひとつをオブジェクト扱いにして
処理コマンド(キーを入力する順番)を配列として持ったものと
技の入力状況を示すイテレータを持たせる

一定時間ごとにキー判定を取って、キーが一致すればイテレータを進め
一致しなければ先頭に戻す。最後まで到達すれば技発動・・・みたいなことを考えた

838:836
10/06/16 07:51:51 iSVFrURJ
なるほど、技ひとつひとつがオブジェクトですか
参考にしてみるよ。ありがとうございました

839:名前は開発中のものです。
10/06/16 07:56:57 Jeqzgo2J
アクションゲーム作っていて、剣を振るとか殴るとかで
アニメが終わる間動きを止めたいんですけどどうすればいいのか
教えてもらえませんか?
よくアラームを使うって見かけるけどいまいちわからなくて…
AnimationEndを使うとオブジェクトをいくつも分けないとだし
変数もややこしくなるしで一つのオブジェクトで済ませたいんです


840:名前は開発中のものです。
10/06/16 17:24:01 jPwPQDvq
動きに応じてsprite_indexを変更するようにしとけば、AnimationEndイベント使ってもひとつのオブジェクトでできるよ。
ただ、AnimationEndイベント内部はswitch-caseとかの場合わけが必要になるかもしれないけど。


841:839
10/06/17 00:24:48 mBfyuQLT
>>840
ありがとう。分けなくてもAnimationEnd使えるんですか
ただ動きに応じて、という処理の書き方・GMLは使ってないのでこれまた
書き方がヘルプ等見ても見当がつかないんですがGML使わなくても出来ますか?

というか皆さんこういう場合具体的にどうやっているんでしょうか?
散々調べたけどその辺詳しく解説されているところが見つからなくて…
ニュートラル>攻撃モーション完了(完了まで攻撃ボタン無効)>ニュートラル 
というのがどうやっても出来なくて数ヶ月詰まってます。
もっと簡単な方法とか他にあればどなたか教えて下さい
お願いします。

842:名前は開発中のものです。
10/06/17 07:20:40 nIJZSKy9
全ての操作の条件に変数がonになってる事を追加して
攻撃モーションへ移る際にその変数をoff、モーション完了後に変数をonに直せば良いだけの話じゃないの?

843:839
10/06/18 21:45:25 zwccdsE4
>>842
ありがとう
なんかそう言われるとやけに簡単な気がして
ゼロから組み直したらある程度形になりました。
まだ思い通りにはいきませんが…

844:名前は開発中のものです。
10/06/22 11:01:41 Ci7o/Mjt
進行方向と速度を指定してオブジェクト生成(電球に矢印のマーク)のアクションをGMLで表すにはどのようにするのでしょうか。

845:名前は開発中のものです。
10/06/23 01:35:42 qd+uDdYg
>>844
まずcreateしてからsppedとdirectionを設定すればいい
a = instance_create(x, y, object);
a.speed = 速度;
a.direction = 方向;

Createイベントの時点ではまだspeedとdirectionが設定されてないから
厳密に言うとアクションと等価じゃないけどな

846:名前は開発中のものです。
10/06/23 01:44:03 tBjeKmtz
そうですか…一度にいくつも同時にその処理を行いたかったのですが
たくさん変数を用意しないといけませんね。

847:名前は開発中のものです。
10/06/23 01:54:04 qd+uDdYg
いや、別に一時変数だから使い回しでいいし
一時変数すら使いたくないならwithを使う方法もある
with (instance_create(x, y, object)) { spped=速度; direction=方向; }
同じことをあちこちでやるんだったらスクリプトにすればいい。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch