[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/06 23:07 / Filesize : 265 KB / Number-of Response : 893
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2009/04/23(木) 08:11:08 ID:iAS0afeL]
無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。

●本家(英語)
 ttp://www.gamemaker.nl/
●GameMaker Japan - 非公式情報サイト(日本語)
 ttp://gamemaker.main.jp/(現在一時閉鎖中)

前スレ
【2D】ゲーム作成ツールGameMaker part3【マンセー】
ttp://pc11.2ch.net/test/read.cgi/gamedev/1210437707/


487 名前:名前は開発中のものです。 mailto:sage [2009/10/13(火) 23:15:10 ID:lHAcX872]
>>486
てことは
sprite_addじゃなくエディット画面でオブジェクト作ってるヘタレな俺は
sprite_deleteをちゃんと実行しないといかんわけか

でもGML(sprite_add)を使う人もsprite_delete使うよね?あれ?
すまん、混乱してきたorz

488 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 00:41:38 ID:bv2mAVIJ]
最初からGameMakerのファイルにスプライトを入れてる場合は
起動時にすべての画像がメモリにロードされて、終了するまで開放されることはない。
よく言われるPreloadはあくまでビデオメモリに落とすかどうかで
これにチェックが入っていようがいまいが、メインメモリにはすべて落とされる

使わないスプライトをメモリに落としたくない場合は、exeの外に画像ファイルを用意しておき
必要なたびにsprite_addなどで読み込ませるしかないみたいだ
そして、もちろん必要なくなったらsprite_deleteでスプライトを削除してやることを忘れずに

これらの一連の作業は、ある程度GMLを理解してないとキツイね。
ただ、小規模なゲームならば、メモリはそんな気にしないでガンガンスプライトを作っちゃっていいと思う。
GMLを使わないなら、そんな大規模なゲームじゃないでしょ。

489 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 00:42:51 ID:bv2mAVIJ]
あ、もちろん最初から入れてあるスプライトも、sprite_deleteで消すことは可能だよ
ただ、また使う際にはsprite_addで入れ直してあげないといけないけど

490 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 00:51:50 ID:GGZRIxG7]
>>488
なるほど、何となく分かったかも
丁寧な説明ありがとです
頑張ってGML勉強しようかのぉ

491 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 05:29:38 ID:RnMcuV0D]
ちょっと言葉が足りなかったようですまん。
スプライトのロードと破棄でメモリを食うってのは、sprite_add(...)で外部からメモリ内にスプライトを読み込んだ後、
数ステップ後にsprite_delete(...)でそのスプライトを破棄すると
スプライトを読み込む前よりメモリ使用量が若干(16kBほど?)増える現象のことを指してた。
上昇量はテストする度に異なったりするから、環境依存なのかもしれないけど。
詳しい仕組みは知らないけど、>>485のテストは1ステップ内で行ってるから状況が少し異なるのかも?
検証してみる価値はあるか。

492 名前:名前は開発中のものです。 [2009/10/14(水) 07:48:51 ID:YxYD41xX]
スプライトそのものは消えても、衝突判定などの設定情報が残ってるとかか?

493 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 17:24:39 ID:GGZRIxG7]
何か皆詳しいなぁ
てか皆の話色々平均すると、台詞表示するときって

「全台詞スプライト用意」より
「a〜z、あ(ア)〜ん(ン)、あと諸々分の小さなオブジェクト沢山作って台詞作り」のがいいのかな
(台詞量にもよると思うが)

前日本語ファイルで「オブジェクトは少ないのがいい」だけ鵜呑みに
してたからそうしようとは思わんかったのよね

494 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 18:48:17 ID:133VTP3G]
>>491
メモリを解放しても、そのメモリがすぐシステムに返却されるとは限らない
(次にメモリが必要になったとき再利用するためにとっておくから)
add→delete→add→delete…と繰り返しても使用量がどんどん増えたりせず
一定範囲でとどまるようなら、ちゃんと解放されていると思っていいんじゃないかな

>>493
スプライトを文字数分用意するにしても、オブジェクトは一個でいいだろ。
Drawイベントでスプライト組み合わせて文字列描画させればいい。
もちろんスプライト一個描画するよりは遅くなるし、
文字数分のスプライト用意する分手間がかかるから
(パフォーマンス+開発効率)とメモリ消費のどっちをとるかのトレードオフになるな。

495 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 21:42:30 ID:GGZRIxG7]
>>494
文字列組み合わせるつもりではいたけど、
それが沢山のオブジェクトである必要はないのか
gifとか忘れてた俺アホスwww
そうだよね、エディット画面でできることだよねorz >一個

確かに台詞自体を用意する方が早いねぇ、楽だし
まぁ自己満クオリティな間は効率をとるのがいいかなぁ
とりあえず完成させるのが大事だし



496 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 22:00:33 ID:GGZRIxG7]
間違えた。俺が言いたかったのは
「台詞一個」と「台詞内の文字数分のオブジェクト(がroomに存在)」の比較だ
ま、でも後者は管理・労力が大変だし、結局前者が無難か・・・

497 名前:名前は開発中のものです。 mailto:sage [2009/10/14(水) 22:27:53 ID:bv2mAVIJ]
たしかになんか不安定な気がするね>sprite_delete
試してみたけど、追加→削除前に比べてメモリが増えたと思ったら、今度は減ったりした
そして同じ動作を何回も繰り返していくうちにメモリの変動が安定してくる

498 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 02:52:17 ID:LmGjEFod]
俺も試してみたけど、確かにメモリが一向に上昇し続ける傾向はないみたいだからとりあえず大きな問題はないか。

>496
よこしまさんのmbtextを使えば?
台詞を後で推敲することを考えると、stringで台詞を用意してそれをmbtext_drawで描画する方が遥かに楽
台詞ごとにスプライトを用意していると、台詞が増えたときに挫折しそう
ここで少し時間を投資してmbtextの使い方を覚えた方がいいと思う(使い方って言っても簡単だし)

それと、>494の言っていることはgifともエディット画面とも関係ない

499 名前:名前は開発中のものです。 mailto:sage [2009/10/15(木) 10:25:42 ID:qb9kY2ep]
一つのスプライトに複数文字を格納することを理解したんだから
別に関係なくはないだろ

500 名前:名前は開発中のものです。 [2009/10/15(木) 15:40:28 ID:Wyrl5rE9]
8はwindows7に対応させてからの発売になるのかなー

501 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 21:40:12 ID:IlnPQ80k]
GM、6以降のバージョンなら現在のPCでは普通に動くのだろうか……
新しいグラボだと、5.3AはDirectXの機能オフにしないと15フレームしか出ないんだよなー。

502 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 22:50:53 ID:FNTjSUVF]
Direct3D 11 は、凄まじく面倒になる可能性がある。

ただでさえ今まで固定でやってたブレンディングやアルファテストがシェーダになっているのに
固定機能を廃して全部シェーダになってしまった


効率よく働いてくれることを期待しないほうがいい
むしろ悪化する

503 名前:名前は開発中のものです。 mailto:sage [2009/10/20(火) 09:38:45 ID:c6RaFjAq]
音楽をfpsとかに合わせてきっかり流す方法ってないですか?
流したいところで音楽が微妙にずれたり画面が処理落ちしてるのに音楽が平常に流れるせいでずれが発生して困ってます。

504 名前:名前は開発中のものです。 mailto:sage [2009/10/20(火) 15:25:37 ID:6YHJoqlj]
処理落ちに合わせて流れている音楽をいじる、ってのはまず無いわな。
そういうわけで、いじる対象を逆転させてみた。

音楽の再生云々をいじるのではなく、
まず音楽を再生させて、
再生開始からの経過時間を利用してゲーム内の動作を処理する。

処理落ちに対応できる方法と考えると、こうしか思いつかなかった。

時間を利用してゲーム内の動作を処理するとは言ったが、別に全てを時間基準にする必要はない。
ただこの方法を使うときは、時間を基準に処理するものとフレームを基準に処理するものとを明確にわけること。

まぁこれは再生時間に合わせて流れるスタッフロール的な物をイメージして考えてみたんで、
複雑なものになると、どこまでできるかはデザイン次第、かな?
ちなみにこの例だと、時間を基準に流れているので、
例え処理落ちしても、ゲームの処理がしばらく止まっても、
再生開始から5秒経過したのなら5秒後の位置、10秒経過したのなら10秒後の位置に動かす、という仕組み。

505 名前:名前は開発中のものです。 mailto:sage [2009/10/20(火) 20:57:37 ID:SLMjJuQO]
RC出てるな。
ソースエディタ、draw_txtともに日本語通らないの確認した
(バグトラッカでも今後の非対応明言されてた)

日本語化はできないんだっけか。



506 名前:名前は開発中のものです。 mailto:sage [2009/10/20(火) 22:59:14 ID:Rv9BzQJ5]
昨日このソフトを発見し、こちらでゲーム作りを試みている者です
凄く初歩的な質問で申し訳がないのですが
大まかな動きのつけ方や操作方法はチュートリアルで理解する事はできたのですが
それ以上のものを作ろうとするとそれ以降は自分で虱潰し的にアクションを試すしかないのでしょうか
たとえばexe形式となっているソフト等を参考にしようとしても、開けませんよね

>>336で「公式のPlatformで検索すると参考になるものが〜」とありますが、確かに
このソフトにおける可能性は見出せましたけども、やはりexe形式で挙げられているから中身を見て参考にする事はできませんよね・・・

507 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 01:33:15 ID:Q98BhYv9]
>>506
まずマニュアルをじっくり一通り読もう!
そして小さい規模でもいいから自力でなにか作ってみること
だんだん出来ることが広がっていくはず。

508 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 01:51:14 ID:bzUL/ied]
暇な時にヘルプを眺めながら、色々試していくのが一番だね
急がば回れだ

509 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 21:01:14 ID:K7bGjyPl]
何かに合わせるのは、普通イベントで判断する。
まあOSや言語、インターフェイスによってはフラグとかも言うが

何かを始めるときは、イベント元にする。
フラグを立てる。でもいい

こうすると、処理が始まってから別の処理が行われることが保証される。
最初の処理が遅れれば、後の処理もそれに合わせて遅れるだけだ。

510 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 21:06:06 ID:K7bGjyPl]
サウンドと画面を連動させたいならば、
サウンドファイル再生をやめること。

昔ながらのサウンドプログラミングなら
メインスレッドとサウンドスレッドは平行して処理されるから
どちらかが遅れるともう片方も遅れる。
サウンドプログラミングは、インタープリタのように逐次発声だからだ

サウンドファイルだと、最初に読み込んでから鳴らすだけなので
それほどの負荷でないから遅れる・止まるってのは余程の負荷がかからないと起こらない。

昔は、サウンド構築のためだけのプログラマ、サウンドプログラマなんて職があったのだ
それと同じことをやればよい。

511 名前:506 mailto:sage [2009/10/21(水) 22:53:42 ID:7kid7kXI]
レスありがとうございます
一通りヘルプを見てみます

512 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 23:30:57 ID:K7bGjyPl]
一番真っ当なやり方は

・負荷を減らす
・動作必須環境を上げる

これくらいだろう
負荷を減らすのは以外に単純
 別に走らなくてもいいような変なルーチンが走ってないか
 妙に割り込まれてないか
 ルーチンが走る順番は正しいか
 無駄に複雑なルーチンでないか

これを完璧にこなしてもダメなら最低動作環境を上げるだけ

513 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 03:15:18 ID:QcCk0qNG]
横スクロールアクションを作っているのだが
プレイヤーをカメラが追っていく設定にして、そのカメラの座標?とか設定してやると
32,32以外でやると地震がおきたかのように画面がガクガクになるんだが
スクリプトとか必要なのか?


514 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 03:17:32 ID:QcCk0qNG]
悪い 自己解決した

515 名前:名前は開発中のものです。 [2009/10/22(木) 18:07:09 ID:9bnTpD/d]





いつになったら


サイトは復活するのか。








516 名前:名前は開発中のものです。 mailto:sage [2009/10/22(木) 23:07:47 ID:QcCk0qNG]
俺もサイト復活してほしい、プログラムとかスクリプトに対してほとんど無知だと壁が多い
今2Dアクション作ってて手探り状態なんだけども

・左の壁にぶつかるとなぜかバウンド?して一歩ほど戻る
・向いてる方向に攻撃ができるようにしたい(現状だと一方方向、X+の方面にしか玉が打てない)
・ニコ動の解説動画みたけど、変数関係の応用方法がわからない
何が何発あたれば敵が死ぬとかのイベントの配置場所(弾のオブジェクトだとか敵のオブジェクトにだとか)がいまいちはっきりしてない

3時間ほど粘ってるんだけどもしかして俺がマニュアル見落としてたりするのかな
このスレ眺めててそういう類の質問を見ないから畏れ多い・・・

517 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 01:25:24 ID:x6bl6P0C]
>>516
公式で.gmkなりぐぐると幸せになるかも
俺はそれでどうにかしてる

518 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 03:48:20 ID:QbMhH9cO]
3時間ならよくあること
それを半年続ければこのスレで言われていることは理解できるようになるんじゃないか

ちなみに向いている方向に攻撃をするには、弾を発射するオブジェクトのimage_angleと弾のdirectionを一致させればいい
弾の衝突判定イベントは敵オブジェクトに設定して、衝突ごとに敵オブジェクトのlifeを減らす
んでlife <= 0の時にオブジェクトを破壊、って感じだろう
このあたりは過去ログも参照するといい

519 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 08:55:04 ID:wQYLsPFR]
向いてる方向に弾が…
ってよく聞くけどそんなに難しいかなぁ〜?
            とりあえず俺はExample内ので幸せになった    2Dアクションのやつ

520 名前:名前は開発中のものです。 [2009/10/23(金) 16:11:44 ID:vXjEA+RQ]

最初は、誰もが効率の悪いコードを書く。
if()
 if()
  if()
   for()

のように。

例えるなら、ifの数を減らすのが上級者である。
また、if( Fuckintosh == 0 )とかは論外。

上級者は

 if( !(Fuckintosh) && ((FuckOSX >> 3) += FuckMac) << 6 || (FuckMac & FuckJobs) >> 2 )

などというように書く。
激しく読みづらいが。

521 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 19:08:08 ID:BKp0y/1T]
>>520
そこまで出来るようになったらGameMaker卒業してC++に行ってると思うぞw
C++やってて息抜きでGM使ってる自分が言うのもアレだが

522 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 19:13:04 ID:wEq8MK8l]
>>520
他の言語だったら正しいと言いたいところだが、GMLだとifの数を減らすことが必ずしも効率がいいとは言えないかな。

ヘルプ>The Game Maker Language (GML)>GML Language Overview>Expressions から抜粋
Please note that, contrary to certain languages, both arguments to a Boolean operation are always computed, even when the first argument already determines the outcome.

例として、if (false && true && true && a)を使う。

他のプログラミング言語が上のコードを処理するとき、
最初のfalseを見た瞬間に他を見ることをやめる、ということがある。
何故なら、他の変数が何であれ結果はfalseと決まっているから。

だがGMLの場合は他の言語と違って常にチェックされる。
例え、最初のfalseの時点で結果はfalseと決まっているとしてもだ。
(まさに「even when the first argument already determines the outcome」の部分)

従って、
@if (a && b)
Aif (a)
  if (b)
の二つを比べた場合、
@の場合は、aもbも常にチェックされるが、
Aの場合は、aを満たさないとき、bのチェックが省かれるため、
Aの方がいい、ということになる。
よりわかりやすくすると、if (a && b && ......)と条件が大量にある場合を想定してみれば、
大量の条件を全てチェックするのと、最初の条件を満たさないときに処理をやめるのと、
どちらが効率がいいかがわかるだろう。

勿論、処理よりも行数の効率を重視したいというのなら話は別だが。
まぁ、効率を考えるレベルのプログラマが処理の効率を捨ててまで行数に拘るとは思えないけど。

523 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 21:42:14 ID:aDXhBeYl]
>>522
やっぱGMって直感的な構成がやり易いな
俺のような初心者にはありがたいことだ

524 名前:名前は開発中のものです。 mailto:sage [2009/10/23(金) 22:32:30 ID:x6bl6P0C]
今更だけど、このツール国内じゃあまり普及してないのかな
もしかして国外じゃめっちゃ使われてるとか?
俺の比較してる対象がHSPだからそう思ってるのかもしれないけど
もしかしてHSPに比べると自由度がめっちゃ低いのかな・・・
このツールで作成されたゲームとかアイワナビーザガイとニコニコアクションくらいしかしらない

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



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

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

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


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

530 名前:名前は開発中のものです。 mailto:sage [2009/10/25(日) 23:36:50 ID:Y6pUx3+I]
しつこいぞ、気長に待つんだ

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

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

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

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

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



536 名前:名前は開発中のものです。 mailto:sage [2009/10/27(火) 23:28:25 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/10/28(水) 02:17:22 ID:wMhLqr8I]
アニメーション発動中は弾が撃てないってのがなんとなく理解できたのですが
それをどうすれば撃てるようになるかなんですよね・・・ちなみに5.3です

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

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

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



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

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

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

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

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

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

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

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

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

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

543 名前:名前は開発中のものです。 mailto:sage [2009/10/28(水) 23:19:15 ID:HABZAlfr]
上げてる人は釣り・・・?

544 名前:名前は開発中のものです。 mailto:sage [2009/10/29(木) 00:53:02 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/10/29(木) 00:53:50 ID:oT5avUlp]
間違えた
keyboard_pressed(vk_right)じゃなくてkeyboard_check(vk_right)だ



546 名前:名前は開発中のものです。 mailto:sage [2009/10/29(木) 17:08:47 ID:WqxdblOH]
そもそも悩むほど複雑な処理でも無い気はする

547 名前:名前は開発中のものです。 mailto:sage [2009/10/31(土) 21:46:27 ID: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はちゃんと綺麗にしないとダメですよって書いてあると思うんですが、
透明色で塗りつぶす・・・ようなことは出来るのでしょうか・・?

gmdev.xrea.jp/st/up/70.png

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 名前:名前は開発中のものです。 mailto:sage [2009/11/01(日) 00:17:41 ID:NOlFRA2M]
surfaceをdraw_surface()系の描画関数で描画するときには、透過情報は失われてしまう模様ですな。

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

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

549 名前:名前は開発中のものです。 mailto:sage [2009/11/01(日) 11:20:44 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/11/01(日) 11:49:58 ID:/eF20zDt]
透明色で描画する関数あったのか・・・
surfaceとcolor周りの関数だけ見て
そっちを見落としていた様です。

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

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

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

じゃあな手前等

552 名前:名前は開発中のものです。 mailto:sage [2009/11/09(月) 08:18:16 ID:pkWhHVK8]
いってら

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

554 名前:名前は開発中のものです。 mailto:sage [2009/11/21(土) 13:25:52 ID:xPzj28Xc]
復活ktkr!!これで勝つる!!
よこしまさん乙

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



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

557 名前:名前は開発中のものです。 mailto:sage [2009/11/23(月) 23:08:49 ID:6hXkMHG7]
元々人口少ないからな

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

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

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

560 名前:名前は開発中のものです。 mailto:sage [2009/11/24(火) 10:23:29 ID:3GFA5FP4]
自分はround(random(10))でやってる

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

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

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

564 名前:名前は開発中のものです。 mailto:sage [2009/11/25(水) 09:26:37 ID:b3wcHD7l]
お、復活したのか
おつおつ

565 名前:名前は開発中のものです。 mailto:sage [2009/11/25(水) 20:56:30 ID:LPznLx8o]
>>559
ありがとうございます。
少数も出るのですか・・・納得です



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

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

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

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

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

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

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

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

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

573 名前:名前は開発中のものです。 mailto:sage [2009/12/03(木) 20:13:30 ID:RNyFehpq]
うーん・・・8も日本語化が絶望的なのか・・・

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

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



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

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

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

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

579 名前:名前は開発中のものです。 mailto:sage [2009/12/04(金) 20:46:12 ID:peG9JVpj]
あと、外部エディタで対応、という方針もあるけど、

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

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

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

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

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

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

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

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

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


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

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

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

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

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



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

587 名前:名前は開発中のものです。 mailto:sage [2009/12/08(火) 00:18:06 ID:ObegK4AH]
分かりづらくてごめんなさい。

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

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

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

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

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

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

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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<265KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef