1 名前:名前は開発中のものです。 [2005/07/12(火) 09:03:47 ID:DK0oUKwt] 無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。 ●本家(英語) ttp://www.gamemaker.nl/ ●GameMaker Japan - 非公式情報サイト(日本語) ttp://gamemaker.main.jp/ ●初心者向けチュートリアル ttp://gamemaker.main.jp/modules/articles/index.php?cat_id=1 前スレ: 【2D】ゲーム作成ツールGameMaker【マンセー】 pc8.2ch.net/test/read.cgi/gamedev/1087068523/
716 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 00:25:14 ID:yxji7H+p] ヘルスのほかにもう一つゲージを作りたいのですがスクリプトを使わずアクションだけでも可能でしょうか。
717 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 11:53:52 ID:YtFwzcBI] ゲージくらい変を数使えばできるだろう?
718 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 11:54:46 ID:YtFwzcBI] 変数をですw 変を数ってなんだ…orz
719 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 17:02:58 ID:4nUjeBtr] 描写のやり方がよくわからないんです 変数で二つ目のヘルスを作っても描写で画面に表示する方法がわかりません バージョンは5.3です
720 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 03:17:36 ID:NSmEj/DS] いわゆるHPとかゲージを2本表示する簡単なサンプル作ってみた www.uploadjar.com/134394 ZでPLAYER1(赤)弾発射 XでPLAYER2(青)弾発射
721 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 11:55:41 ID:Zqqq8hXp] 参考にさせてもらい無事完成させることができました。 ありがとうございます
722 名前:ぺしゃみゅんち [2007/12/31(月) 22:39:11 ID:G7IwY3y8] はじめまして 私ロックマンエグゼのようなゲームを作ってみたのですが 変な異常を起こします 原因が一人ではわからないので皆さんに見ていただきたいのですが これがそのファイルですwww.uploadjar.com/766112 バージョンは5.Aです 詳しいことはファイル内の問題点のテキストに書いてあります よろしくお願いします。
723 名前:名前は開発中のものです。 mailto:sage [2008/01/01(火) 04:09:53 ID:HO6m3WgJ] >>722 意味が わからない あとエンターでプレイヤー表示だけどpressにするのをお勧めするよ一瞬押しただけでも2、3召還されるわけで
724 名前:名前は開発中のものです。 mailto:sage [2008/01/01(火) 13:01:48 ID:5Zz7hnr7] 変な異常って頭痛が痛くね?
725 名前:名前は開発中のものです。 [2008/01/01(火) 15:05:07 ID:krtrP6kC] >>724 変と異常ってのは違う意味を指すからおかしくないんじゃね?
726 名前:名前は開発中のものです。 mailto:sage [2008/01/01(火) 18:25:13 ID:HO6m3WgJ] >>725 異常な上に変なんじゃね
727 名前:名前は開発中のものです。 [2008/01/01(火) 20:03:22 ID:krtrP6kC] >>726 724に言えよ
728 名前:ぺしゃみゅんち [2008/01/01(火) 21:13:12 ID:41An0v9b] >>726 さん おっしゃるとおりです >>723 さん 修正しましたがパソコンの調子が悪く アップロードに時間がかかるのでほかの修正箇所が 出てきたところでアップロードさせなおしていただきます 異常とは本来右左でキャラクターを選択するのですが 怪鳥から左を押すと獅子になるはずが怪鳥のままになっているのです また次が獅子になるはずのところでは怪鳥に飛んでしまうのです どうしてこんなことがおきてしまうのでしょうか? 去年の9月から考えています しかし分かりません 助けてください
729 名前:名前は開発中のものです。 mailto:sage [2008/01/02(水) 03:01:30 ID:0XzNgAng] >>728 所々に音を鳴らす命令を入れて実験してみたところ、どうやら オブジェクトEvsEのpress<left>を実行した後、すぐさまWvsEのpress<left>も実行しちゃってるみたい。 SvsEやNvsEのpress<right>での実行も同様。 原因は多分、1フレーム間でのインスタンス同士の実行順にあると思う。 これはもうおそらく仕様なので、次のような工夫が必要になってくる。 press<left>イベントを実行してオブジェクトを変化させたら、 変化後のオブジェクトのpress<left>イベントを、次のフレームに移りかわるまでの間は実行させないようにする。 ……というわけで、フラグ変数をうまく使ってみると良いと思う。
730 名前:ぺしゃみゅんち [2008/01/02(水) 13:25:34 ID:19fPmr/N] ありがとうございました 変数などは分からないので 押し上げイベントに変更してみました そのほかいろいろ改良しましたらもう一度アップロードします
731 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 02:27:54 ID:KY38Ruby] 5.3Aもう3年くらい使ってるけどオブジェクトの名前とか日本語でもいけるんだな あと描画イベントの使い途がいまさら解った 嘘みたいだろう?俺、いままで文字とかいちいちスプライト作って表示してたんだぜ?
732 名前:名前は開発中のものです。 [2008/01/04(金) 17:38:30 ID:JG5m5wPm] 日本語出力できていいなぁ・・・今から5.3Aに乗り換えようかな・・・
733 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 23:16:21 ID:cqFFi5wR] 5.3AはVistaに未対応らしいけど、単独実行が出来ないということ? GM自体は動くみたいだけど…
734 名前:名前は開発中のものです。 mailto:sage [2008/01/05(土) 02:05:40 ID:NZZVqR2v] ビスタでフツーに作ってるけど? 実行形式はまだ試してないけど
735 名前:名前は開発中のものです。 mailto:sage [2008/01/06(日) 18:55:38 ID:OjABw8Q7] スコア表記を 「スコア:○○」のように前に出すのではなく「○○点」のように表記したいのですが可能ですか?
736 名前:名前は開発中のものです。 mailto:sage [2008/01/06(日) 20:34:01 ID:nLpXdUSy] >735 '' + string(スコア) + '点' でできた
737 名前:名前は開発中のものです。 mailto:sage [2008/01/06(日) 21:29:22 ID:OjABw8Q7] 素早い返答ありがとうございます。
738 名前:名前は開発中のものです。 mailto:sage [2008/01/08(火) 12:36:23 ID:G/0Io5dz] なんかボールが坂をころがっていくような物理シュミはこれでつくれますか?
739 名前:名前は開発中のものです。 [2008/01/08(火) 20:46:53 ID:HXQlUjj3] シミュレーションな
740 名前:名前は開発中のものです。 mailto:sage [2008/01/09(水) 10:04:09 ID:jHNZrdiZ] GMJにここの書き込み反映されてるんだなスゲー
741 名前:ぺしゃみゅんち [2008/01/15(火) 21:32:09 ID:hN1kqTH6] 押し上げにしても同じことがおきました しかし変数などが分からないのですが 誰か5.aで開ける>>729 さんのいっていたようなフラグ変数 をつかったサンプルもしくは私のアップしたものに手を加えたものを アップしてくれるとうれしいです。 ここで説明していただいてもかまいませんが サンプルなどをアップしてくれたほうがうれしいです。 よろしくお願いします
742 名前:名前は開発中のものです。 mailto:sage [2008/01/15(火) 23:50:06 ID:DrVh3adF] >741 簡単なやり方としては ・今キーイベントに置いている内容をアラーム0イベントに移動 (「イベントの変更」を使うと楽) ・かわりにキーイベントに「Set an alarm0」を置いて値を1にする これでインスタンスの変化が1ステップおいて起こるようになる
743 名前:名前は開発中のものです。 mailto:sage [2008/01/18(金) 02:01:25 ID:CrDQFjAi] 追尾ミサイルを作っているのですが 直角や180度いっきに回転してしまうんですが クルーってかんじに遠回りして追尾させたいんですが どうすればできますでしょうか
744 名前:名前は開発中のものです。 mailto:sage [2008/01/19(土) 00:58:07 ID:dhI4eC+v] 登録するのが嫌で5.3Aを落としてきたけど、XPで不便な事って有るのか?
745 名前:名前は開発中のものです。 [2008/01/19(土) 02:10:04 ID:pvbjWxud] >>744 あるとすれば ・6以降の新しい機能が使えない ・レジスト機能使う時に、登録しにいかなくちゃダメ ってくらいだな。
746 名前:名前は開発中のものです。 [2008/01/19(土) 06:44:46 ID:lpPp39mj] gamdev.org/up/img/10960.zip 日本語化辞書 途中だけど、続き誰か頼む 使い方教えてとかいう、ググれない厨は落とさないように
747 名前:名前は開発中のものです。 mailto:sage [2008/01/19(土) 15:34:14 ID:Rw9P3/DK] なるほど、日本語訳付きで練習する分には問題ないと思っても良いって事か
748 名前:名前は開発中のものです。 mailto:sage [2008/01/22(火) 21:09:08 ID:45T81GjC] >>743 今どうやってるん?
749 名前:名前は開発中のものです。 [2008/01/22(火) 21:17:39 ID:ocbbdzjm] 7が出てからもうすぐ一年かぁ 本家では新しいの出るんかな
750 名前:名前は開発中のものです。 mailto:sage [2008/01/22(火) 21:22:18 ID:NoSS/6O8] >>748 いきずまってます\(^o^)/ 動いてる方向を取って1/3ステップ進ませて今進んでる方向がうんたらかんたら
751 名前:名前は開発中のものです。 [2008/01/23(水) 02:48:32 ID:Q1tjyTbC] >>746 ものすごくGJ
752 名前:名前は開発中のものです。 mailto:sage [2008/01/23(水) 04:18:28 ID:b5xhxs/k] >>750 すまんが現状どうやってるのかよくわからん 角度を常に変数でもたせておくなりして三角関数使わないと難しいんじゃないだろうか 俺ならミサイルの単位時間に動かせる角度と距離固定して目標追わせるかな。
753 名前:名前は開発中のものです。 mailto:sage [2008/01/24(木) 03:09:34 ID:n00gmxln] 前回692です。 また製作の壁にぶつかってしまい困っています。 GM7でアクションゲームをつくっています。 現在、ロックマンのように、自キャラが移動をしながら攻撃ができるようになっています。 これを魔界村のように、移動中に攻撃ボタンを押したら、立ち止まって攻撃するようにしたいのですが、どうすれば良いでしょうか? ソースをあげておきますので、 どなたか解る方がいらっしゃいましたらご教授下さい。 ttp://www11.axfc.net/uploader/20/so/He_66684.zip.html Keyword(DLパス)は0011です。
754 名前:748 mailto:sage [2008/01/24(木) 12:00:40 ID:gZRHXEEh] >>750 自分>>34 なんだけどうpしてるやつの最初の方にホーミングミサイル撃つ敵 つくってあるんだけどこんな感じの作りたいの?
755 名前:名前は開発中のものです。 mailto:sage [2008/01/24(木) 12:22:14 ID:gZRHXEEh] >>753 obj_usagiオブジェのキーボードイベント<left><right>のアクション全体をcan_attack変数が1の時だけ実行するように If a variable has a valueを置いてみたらいいんじゃない?
756 名前:753 mailto:sage [2008/01/27(日) 02:40:32 ID:v3yvH1+7] >>755 すばやい回答ありがとうございます。 無事自キャラが止まって攻撃が出来るようになりました! 半月間も悩んでたので本当に助かりました。 ありがとうございました。
757 名前:729 mailto:sage [2008/01/27(日) 04:15:44 ID:PCXtfTLD] >>742 あ……なるほど。 pressKeyで即オブジェ変更するんじゃなくてAlarmイベントで実行させれば 複雑にフラグ変数を使わずに済みますね。勉強になります。
758 名前:名前は開発中のものです。 mailto:sage [2008/01/29(火) 11:37:55 ID:n2eeRZD+] Scriptのエクスポートみたいに、 オブジェクトのソースを出力ってできますか? オブジェクトがたくさんあると手作業ではちょっと厳しい...
759 名前:名前は開発中のものです。 mailto:sage [2008/01/29(火) 21:35:15 ID:fH/FU5dj] Editメニューの最後にある「Show Object Information」 名前からは想像がつかないが、全オブジェクトの情報を 一気に出力してくれるというすぐれモノだ。 オブジェクトたくさん作りすぎてるとエラーで死ぬけどな!
760 名前:名前は開発中のものです。 mailto:sage [2008/01/29(火) 23:51:12 ID:n2eeRZD+] >>759 止まった\(^0^)/ 450個もオブジェクトがありゃそりゃ固まるか。
761 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 18:22:51 ID:fnpWL05f] >761 ばーか
762 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 22:04:15 ID:TXruG4et] >>762 ( ^ω^)…
763 名前:名前は開発中のものです。 [2008/02/01(金) 00:34:05 ID:a4c4UVam] 761 名前は開発中のものです。 [sage] 2008/01/31(木) 18:22:51 ID:fnpWL05f - NEW! - >761 ばーか 762 名前は開発中のものです。 [sage] 2008/01/31(木) 22:04:15 ID:TXruG4et - NEW! - >>762 ( ^ω^)…
764 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 17:38:06 ID:zFVnBZNt] うーん・・以前にも聞いたので また聞くのはちょっと気が引けるんですが、 Solidのチェックを外さずに下からすり抜けられる床ってのは やっぱり無理なんでしょうか。 諸事情で「キャラがブロックより上にいる時だけSolidにする」という方法が使えません。
765 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 18:50:11 ID:2GE6uT/l] マニュアル読んできた。 solid Whether the instance is solid. This can be changed during the game. (solid インスタンスがsolidかどうか。ゲーム中に変更可能) solidかどうかの判定は変更できるようなので、キャラのy値を取得して、 「キャラのy値がブロックのy値よりも低いとき、solidをfalseにする」 「else {solidをtrueにする}」 って組んだらどうかな?
766 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 19:08:26 ID:zFVnBZNt] >>765 前提として4キャラ同時に操作するということを書いてませんでした、すいません。 1キャラ操作のアクションゲームならそうするんですが、 多キャラを操作するときなどに、他のキャラがブロックの上にいるときとかに Solidを解除すると乗っているキャラが落ちてしまうので悩んでいます。
767 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 19:10:03 ID:mtgOpTzW] >>766 ifを何個か重ねたらだめなのか?キャラごとに
768 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 19:29:09 ID:zFVnBZNt] そうすると1Pが乗ってて4Pが下にいるときとかに、 4Pが床(足場)にしたからすり抜けようとしたときにぶつからない? 1Pが上にいるからSolidはONになってるはずだし
769 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 20:41:16 ID:2GE6uT/l] ifを重ねて場合分けしようにも、キャラ別に判定用オブジェクトを作るにしても、 Solid同士の衝突は貫通しない以上、1つでもSolidがあったら下のやつは上にあがれなくなると思うぞ。そのためのSolidなんだし。 オブジェクト別にアクションを変えたいのなら、Solidは解除しておいて、状況に応じて通行可/不可が切り替わるように考える必要があると思う。 〜チラシの裏〜 発想を逆転してみた。 ブロックはSolidで固定。キャラのSolid判定を変えてみるという考え。 キャラがブロックの上にいるときはSolid、下ならNon-Solid。 これなら下から上ならすり抜け、上から下なら止まるというのを実現できるのじゃないかと。 ……でもこれをやると、ブロックは縦方向に見て1つまでしか置けない。 ついでに多分、キャラも床もSolidにして床の上を自由に歩けるようにしてあるんだと思うから、 これをやると床をすり抜けどこまでも落ちていく。 うん。駄目だ。 〜チラシの裏〜
770 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 20:48:06 ID:zFVnBZNt] あ。 自己解決した・・! 結局「キャラがブロックより上にいる時だけSolidにする」という方法が使えるということに気がついたというオチ・・。 Solidに設定しててもCollisionイベント設定しなかったら素通りするから、 4人いたらそれぞれのプレイヤー用の床を作って4つ重ねればいいのか。。 2ヶ月くらい悩んだけどなんか思いついてみれば簡単だった・・・。 ttp://www.uploda.org/uporg1239813.gm6.html 考えて頂いてありがとうございました。
771 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 20:51:40 ID:2GE6uT/l] ってなんだ、Solidでも素通りするのか。
772 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 01:31:29 ID:JMvutfpq] >>766 4キャラ同時に操作ってニコニコアクションの人か? 違っても製作頑張れ。完成するといいな。
773 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 00:35:49 ID:iUX9zyeT] >>770 このレスはアクションの人だったんだな(´・ω・`)
774 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 22:51:39 ID:iUX9zyeT] いろんなroomを表示させることはできますでしょうか?
775 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 22:58:47 ID:54CFVRXr] >>774 残念だがそれは仕様上ムリだと思ふ
776 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 23:04:06 ID:iUX9zyeT] >>775 ありがとうだぜ ちょっとgamemaker.main.jp/modules/smartfaq/faq.php?faqid=33 を応用してくるぜ
777 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 22:58:45 ID:3EjNgEsT] >>774 一つのルームに4種類部屋作って>>776 の方法で分割表示すれば良いんじゃね?
778 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 23:29:42 ID:bjVjEw1+] >>777 ヴァージョンが5だったことを忘れてたんだぜww
779 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 03:04:43 ID:5T9VWkup] sprite_replaceで外部からファイルを読み込みまくってたら、 ロード時間が半端なく長くなった上にメモリ浪費が激しすぎる・・。 時間とメモリを節約する方法ってないですかね・・・
780 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 03:21:07 ID:BAZ3rUXc] 一度に全部読み込んでる? もしそうなら、room内で使う分だけ読み込むようにしてみるとか。。。 たしか、使用していない画像や音声のリソースをメモリから消去するような関数が用意されていたと思うんで、 roomを変更する時などに、必要がなくなったリソースをメモリから削除するようにしてみるとか。。。
781 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 13:06:06 ID:5T9VWkup] メモリ消費は>>780 を参考にいろいろやってみて軽減は出来ました。 しかしロード時間が死ねる・・。sprite_replaceを使う以上仕方ないのかなぁ。 ゲーム内に組み込もうにもキャラ数が40人くらいいるから、 exeにまとめると実行ファイルサイズとスプライト数がすごいことになる。
782 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 16:41:13 ID:sRLBKt+9] >>781 読み込むものを減らしたらどうでしょか 2つか3つ本体作って 全部読み込みバージョン ちょっと読み込みバージョン 最小限バージョン とか(´・ω・`)
783 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 17:20:59 ID:hkVzw0EY] データを外部から取り込むようにして実行ファイルを小さくすると、 ・起動が早いかわりに、リソースの読み込みでやや時間をとる。 ・修正、アップデートが軽量化できる。(新しい実行ファイルと追加データを上書き) 逆に全部をexeにまとめると、 ・起動が遅いがその後のロードは不要(または軽減?)。 ・中に詰め込んだデータに容易にアクセスできない(ユーザーからのリソースの書き換え防止) ・しかし、アップデートは差分の書き換えではなく「新しいバージョンを丸ごと入手」 ……といった解釈で合っていますか? 間違っていたり、もっと詳しい説明があったら是非お願いします。 (もしこうだったら、修正/拡張パッチとかが作れるように、外部からの取り込みの方がいいのかなぁ)
784 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 21:54:23 ID:6M2Mj1CC] ホモの友達がいるんだが そいつベッドの下にビンに入った液体チョコレートと筆を置いてて これなんだ?って聞いたら 「これで彼といっしょにお互いの体に塗ってなめっこするの♪」 って言われた。
785 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 04:31:08 ID:/MDHcIsH] 初歩的な質問ですが 顔や手がブロックに引っかかって落ちなかったり、 端っこの壁に行くとめり込んででられなくなったりします・・・ コリジョンの判定をどうすればいいのでしょうか gamdev.org/up/img/11074.zip
786 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 06:06:40 ID:7sK4ZglN] >>785 マスクを使えばおk www6.atpages.jp/kakenn/src/up0002.zip
787 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 11:03:46 ID:wXzkSK3W] 失礼します。 GML上において、score(GM側にデフォルトで設けられているスコア変数)に 値を代入させる方法がわからず、困っています。 ヘルプは一通り読んだつもりで、私は次のような記述を行いましたが… score =(適当な値); global.score =(適当な値); エラーになってしまいます。 GMLを使ってscore変数の値を変えるにはどのようにすれば良いのでしょうか?
788 名前:787 mailto:sage [2008/02/17(日) 11:10:44 ID:wXzkSK3W] あぁ、言い忘れていました… バージョンは6.1です。
789 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 12:32:39 ID:yekEWnFq] >>787 やったことないが グローバルいらないんじゃね?
790 名前:787 mailto:sage [2008/02/17(日) 14:13:20 ID:wXzkSK3W] "global."の有無に関わらず、"Variable name expected"というエラーメッセージが出てきます。 試しに今、新規作成でscore+=1と記述してみたところ、これは難なく動作しました。 ということは、このエラーの原因は別の箇所にあると考えられそうですので 一旦ソースを見直してこようと思います。 ……何処がダメなのか想像がつかないけど……
791 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 15:28:06 ID:yekEWnFq] score = ?; score=?; 両方試してみた? 後スペルチェックとか
792 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 15:48:55 ID:F5p9Y4ne] "Variable name expected" が出るのはたいてい "score" をすでに変数名以外に使っちゃっているとき。 変数名が青じゃなくて紫になってたらそれだ。 オブジェクトとかスプライトに "score" って付けてない?
793 名前:787 mailto:sage [2008/02/17(日) 19:47:57 ID:wXzkSK3W] >>792 確かに紫になっていました。でも"score"なんて名前を付けた覚えはない…… と思ってたらありましたよ、"score"という名のルームが! 気をつけて名前を付けてきたはずだから、こんな間違いはしていないと思い込んでいました… >>791 そのようなスペースの有無によって引き起こされるバグは ほとんどないと思っていますが、どうなんでしょう? お二人方、どうもありがとうございました。
794 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 21:31:14 ID:H3L0qkMh] >>786 ありがとうございます そして重ねて質問なんですが、 マスクの使い方も教えてもらえないでしょうか?
795 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 06:03:43 ID:P6ufyrMd] >>794 マスク=当たり判定かな、違ってたらすまん でも俺説明下手だから gamemaker.main.jp/modules/newbb/viewtopic.php?topic_id=367 を参考にするといいんだぜ!
796 名前:779 mailto:sage [2008/02/18(月) 14:05:15 ID:wD+9YlvR] ロード時間の件ですが、 スプライトのロードよりも、 キャラ変数の用意に膨大な時間がかかっていることが判明。 execute_fileで大きなファイルをロードすると時間かかるんですね・・
797 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 16:30:52 ID:IGcs7e6P] >>556 でも指摘されてたけど、 ゲーム実行時に GMLコードの書かれた文字列(またはテキストファイル等)を実行するのはかなり時間コストがかかるよ。 単純に考えても、gmソースにあらかじめ組み込んでおくのに比べて、 exe側がコードを解析して、(GM流の)バイトコードに変換する処理が増えるんだし。。。 変数の代入程度なら、自前でデータファイルを作って処理をしたほうが良いだろうね。 バイナリ形式のほうがよいかもしれない。
798 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 21:26:12 ID:ZmedX/dg] >>795 解決できました! ありがとうございます!
799 名前:名前は開発中のものです。 [2008/02/18(月) 22:39:56 ID:tcJyICZc] >>796 変数を使いまくるとロード長くなる? どのくらい変数使ってるの?
800 名前:779 mailto:sage [2008/02/19(火) 22:43:31 ID:x/RhMfeZ] あー、いや、変数の用意自体は一瞬なんだけど、 execute_fileでやってるから変数が多くなるとテキストも長くなって 時間がかかってしまうわけで。ゲーム内部に入れてしまえば0.1秒もかからないし、 配布時には内部に入れてしまおうかなぁと思ってる。 今数えたら5000個くらいだった。それ×4。 なんかこの設計自体に問題がある気がしてならない。
801 名前:名前は開発中のものです。 [2008/02/21(木) 10:47:14 ID:QLrlpKAR] すいません、擬似的に空間の歪みを表現しようと思い、 sprite_create_from_screenとsprite_assignで ゆがませる空間のスプライトを作成し、 sprite_set_alpha_from_spriteをかまして そのスプライトを用いたオブジェクトを拡大/縮小しながら表示させ、 オブジェクト消失時にsprite_deleteってやってるんですが、 この処理するたびに物理メモリが一定量ずつ減っていってしまいます。 sprite_deleteしてるからメモリは開放されるはずなのに… 何故でしょうか。
802 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 12:22:17 ID:TNE50/I9] >>801 書かれていることだけをこちらでver 6.1にて実験してみたけど、 処理するごとにメモリ消費されてしまう現象は確認できなかった.... ちなみに、こんなソースです。レジストバージョンしか動きません。F1キーで略説でます。 ttp://gamdev.org/up/img/11107.zip sprite_create_from_screen() で作成したスプライトも全て sprite_delete() されてるか再度確認されてみては。
803 名前:801 mailto:sage [2008/02/21(木) 13:03:03 ID:QLrlpKAR] 素早い返答有難うございます。 帰宅してから試してみることにします。
804 名前:801 mailto:sage [2008/02/21(木) 18:05:02 ID:hrX+JUXR] >802 只今帰宅し、サンプル確認してみました。 おおおおーーーメモリが減らない!! 背景からスプライトを置き換える際にsprite_delete(ind);を 入れてなかった点と、preloadがtrueになっていた点あたりが 問題…だったのかもしれないです。 さっそく作ってるゲームに入れてみて更に確認してみます! 有難うございました!!
805 名前:802 mailto:sage [2008/02/22(金) 00:23:23 ID:9TIiCCE7] おお、お役に立ててよかった。 おそらく原因は、sprite_delete() を入れていなかった、もしくはタイミングが悪かった点でしょうね。 問題が解決できそうで何よりです。開発がんばってください。
806 名前:名前は開発中のものです。 [2008/02/22(金) 00:58:19 ID:GgtMRHOI] 公式は、7正式出てから動きまったくなし?
807 名前:名前は開発中のものです。 [2008/02/22(金) 22:28:56 ID:EnGdlCfo] >>806 だね もうあれでほとんど安定してるし 得にバグとか更新とかもないし 更新されるのは8が出てからかもね 8が出るのも相当後だと思うけど ところでGameMakerって外部ファイルtxtとかって読み込めたっけ
808 名前:名前は開発中のものです。 [2008/02/22(金) 23:22:21 ID:GgtMRHOI] >>807 今出先だからわかんないけど、上の方で外部ファイルから変数を読み込んでって話題があったときにためしたら出来た記憶がある。
809 名前:名前は開発中のものです。 [2008/02/23(土) 21:16:37 ID:3ZZOv+FT] Draw the value of scoreの使い方がよく分からない・・・ 誰か詳しく説明してください。お願いします。
810 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 00:38:27 ID:410jBEd1] >>809 使い方と言っても、xとyにスコア表示したい座標入れるだけなんだけど… とりあえず(0, 0)のままでも画面左上に何かしら出るでしょ。 アクションをDrawイベントに置くこと、Visibleにチェック付けておくこと、 オブジェクトをルームの中に置いとくこと、以上3点忘れずに。
811 名前:809 [2008/02/24(日) 10:24:15 ID:+SnWXLhW] >>810 Visibleにチェックをつけるという意味がよくわからなかったが、 ちゃんと動きました。ありがとうございます。
812 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 11:48:45 ID:2Py4k7Q8] Object Properties Name: [ ] Sprite [ ] [ New ] [ Edit ] □Visible □Solid Depth: [ ] (以下略) ↑のVisibleのチェックボックスのこと。 デフォでチェックが入ってるから問題無かったんだろうけど。 これにチェックが入ってなかったら、例え何をしても何も表示されない。 動いたらしいしもういいんだろうけど、一応念の為。 うっかりしてると>>810 が言った3つを忘れてしまいがち。 見直してて原因を見つけたとき「そりゃ表示されるわけねーわなw」となる。
813 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 16:38:49 ID:N0LtIPkd] オブジェクトのイベントにある outside view が働いていない気がする
814 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 17:48:56 ID:NE2+oADS] >>813 バグだろうねぇ。公式のコミュニティにも話題が出てたよ。 ttp://gmc.yoyogames.com/index.php?showtopic=316899 現状だと、outside view イベントのかわりに boundary view イベントを使って、 そこで以下のコードを書くと、期待通りに動くようだ。 /* view 0 に対して、処理する場合 */ if (x-sprite_xoffset+sprite_width < view_xview[0] || x-sprite_xoffset >= view_xview[0]+view_wview[0] || y-sprite_yoffset+sprite_height < view_yview[0] || y-sprite_yoffset >= view_yview[0]+view_hview[0]) { // スプライトが完全に view から外に出たかどうかを判定している // ここにコードを書く } コードが書けないなら、 if の()内の式全てを Test Expression (?の描いてある八角形のアイコン) の expression に貼り付ければOK。 ステップイベント内で同様にやっても多分OKだが、 毎ステップ判定処理をしてしまうんで、処理コスト的に不利だろう。
815 名前:名前は開発中のものです。 [2008/02/27(水) 15:04:31 ID:imokwZIU] 中国奇形動物の画像【苦手な方は閲覧を御遠慮下さい】 d.hatena.ne.jp/tsukkun/20061211/p3 鼻二つに眼が三つの子牛. 頭一つに身体二つの子豚. 単眼の子豚. もはや原形を とどめない子豚. 4本足のヒヨコ・・・ (ここではヒトの奇形は詳しく紹介しませんが、 中国語「畸形」(簡体字・繁体字ともに)でインターネット検索をしたら・・・) 奇形や病死した牛や豚も加工されてしまえば見分けが付きません。 detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1414601269 中国、奇形児発生の原因とみられる重金属汚染 iwasero.blog66.fc2.com/blog-entry-240.html ・毒性の強い添加物や防腐剤を使用するケースが多い ・重さをごまかすのに牛や豚に水を注入したり、大量の食塩を食べさせる 【海外】中国:環境汚染 blog.livedoor.jp/gochagocha/archives/cat_50235110.html 腐った上海の海、必見グーグルアース temple.iza.ne.jp/blog/entry/170885 地球上いたるところに湖がありますが、中国の湖ばかりが蛍光色に 光り輝いています。異常です。 中国の蛍光色7色に輝く河川 hinden.at.webry.info/200712/article_4.html 病気になったら抗生物質に汚染された魚を食べて治すという。すごい「薬膳」ですね。
816 名前:名前は開発中のものです。 mailto:sage [2008/02/28(木) 18:44:34 ID:o8q2cNq4] ちょっと興味あるけど自機の移動も作れないしGMLとかわけわかめでもうだめだ
817 名前:名前は開発中のものです。 mailto:sage [2008/02/29(金) 02:55:26 ID:x+l1o480] 強制はしないけど、興味があるんだったら、いきなり作りたいものを作ろうとせずに、まずはチュートリアルに沿って一度作ってみるといいよ。 逆に、作りたいものを作るためにはどんなことを覚えなきゃいけないか、って感じで入ると滅入ると思う。 チュートリアルの通りに作って、わからなくなったらExampleを見て、どうやってるのかを参考にしたり。 GMLを使わなくても、シンプルなゲームなら十分作れるから、GMLに触れるのはある程度慣れてからで十分。 最初のうちは、「何が起きたらどれをどうする」といったことを決めていく、と考えるといいかもね。 右を押したら右に行く、弾が自機に当たったら爆発する、とか。 「チュートリアルなんて面倒」とか思わずに。無駄にはならないよ。
818 名前:名前は開発中のものです。 [2008/03/07(金) 01:56:07 ID:/zU2Jm/L] これ商用で配布とかは可能なの? どこに書いてあるかわかんないんだけど
819 名前:名前は開発中のものです。 mailto:sage [2008/03/07(金) 02:03:53 ID:li5Lf13v] 確か可能なはず
820 名前:名前は開発中のものです。 mailto:sage [2008/03/07(金) 02:58:15 ID:r5pkyD7y] つttp://www.yoyogames.com/wiki/show/Sample+EULA
821 名前:名前は開発中のものです。 [2008/03/07(金) 21:49:20 ID:/zU2Jm/L] >>819 ,820 サンクス
822 名前:名前は開発中のものです。 mailto:sage [2008/03/10(月) 16:38:14 ID:qJ6+/ltX] >>819 ,820 セブンイレブン
823 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 20:45:46 ID:EJkJUT5l] 親インスタンスの設定と当たり判定の設定がまとめを見てもわからない・・・ GM7だとやり方が変わってるのでしょうか? もしそうなら誰か設定の仕方を教えてくれませんか?
824 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 21:53:46 ID:c68BSDCd] 別に変わってないはずだけど ParentとかBounding Boxが見つからないって話だったら まず File >Advanced Mode にチェックつける
825 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 22:02:17 ID:EJkJUT5l] >>824 d advanced modeにチェックを入れたら見れるようになりました ありがとうございました
826 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 11:21:30 ID:7GR4thT4] インスタンスIDを使って、当たり判定の位置調節をしているのですが、 存在するIDを指定しているのに、時々そんな変数しらねぇよといわれてしまいます。 おそらく、instance_changeの時に何か起こっているのだと思うのですが・・ 立ち状態のインスタンスのIDを保存して、攻撃やダメージの際に、 instance_changeを利用しています。 立ちインスタンス←ここのIDを保存している └攻撃1インスタンス └攻撃2インスタンス └ダメージインスタンス if(adjust){ if(player == 1 && global.cpu_1){ x = (global.com1).x + (global.com1).hspeed + posx; y = (global.com1).y + (global.com1).vspeed + posy; }else if(player == 2 && global.cpu_2){ x = (global.com2).x + (global.com2).hspeed + posx; y = (global.com2).y + (global.com2).vspeed + posy; }else if(player == 3 && global.cpu_3){ x = (global.com3).x + (global.com3).hspeed + posx; y = (global.com3).y + (global.com3).vspeed + posy; }else if(player == 4 && global.cpu_4){ x = (global.com4).x + (global.com4).hspeed + posx; y = (global.com4).y + (global.com4).vspeed + posy; } }
827 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 13:35:59 ID:V0YG+k5o] インスタンスを変更すると、1ステップの間そのインスタンスは 「存在するけど存在しない」みたいな不安定な状態になるらしくて 「instance.variable」みたいにドット使って変数を参照するとエラーになる。 やっかいなのは、インスタンス自身は存在するので instance_existsとかでチェックできないこと。 対策としては、with使ってその中で変数使えばエラーは出ない。 with (global.com1) { other.x = x + hspeed + other.posx; other.y = y + vspeed + other.posy; } みたいな感じで(withの中ではotherが元のselfになるのに注意) インスタンスの変更は変数の継承がらみでもややこしい問題があるので、 できるだけ使わずにすませた方がいいよ。 この場合、オブジェクト一つだけでよくない? 当たり判定はmaskで変えられるよ。
828 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 10:22:50 ID:RBuRFwrN] >>827 なるほど・・わかりやすい説明ありがとうございます。 ダメージモーションの種類が4、攻撃の種類が40、その他死亡モーションや、 予備動作などがあって、一つのオブジェクトで作ると、 俺の頭がこんがらがってしまったので分けましたが、 実際のところは分けないほうが最終的にわかりやすいんだろうなぁ・・。 やっぱり自分の力量に応じて仕様というか、 ある程度妥協した方が結果的にいい場合もあるんでしょうね。
829 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 13:07:23 ID:0WhHqNl0] モーションってのがただ単にスプライトのことだったら、スプライトの入れ替えだけで済むし(sprite_indexの変更)、 全てのスプライトを1つにまとめて、subimageの値を決めることでも解決する。(image_indexの範囲指定) スプライト以外だとしても、そのインスタンスの状態(ダメージ、攻撃中、移動中等)で場合分けをするといいだろうね。(step内でswitchを使って場合分け) インスタンスを変えるということは、今あるインスタンスを削除して、新しくインスタンスを作るということ。 敵を攻撃したり、ダメージを受けたりする度に自分が生まれ変わるってのも変な話だよね? インスタンスを変えていると、システム的なエラーだけじゃなく「エラーメッセージは出ないけど、自分の意図した通りにならない」というエラーも起こりやすい。 だから、場合分けをインスタンスの変更でするんじゃなくて、オブジェクトの中で場合分けをするように作っていく方がいいよ。
830 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 20:51:48 ID:zfMhFuyL] さっきレジストしたんですが、バックアップCDってのは別にいらないですよね?
831 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 21:11:55 ID:9xiWBLkG] 特定のボタンを押したり画面内のボタンをクリックしたらいったんその画面の動きを止めて 画面上に別のメニュー画面などを表示させたいのですがどうすればいいでしょうか。
832 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 22:38:19 ID:lI4Ks6j6] >>831 お手軽なのはshow_menu。当然メニューとしてはしょぼいけど。 キー操作だけでよければ、keyboard_waitでループ回しつつ キー処理をしてメニューをがしがし描き変えるという方法がある。 サンプルで付いてくるasteroidsが参考になるかな。 ただ、このやり方はメニューの構成が複雑になると厳しい。 一般的なのはポーズする時にグローバル変数を設定しておいて、 他のオブジェクトはその変数が立っている間動きを止めるというもの。 ただ、止めないといけないものは意外とたくさんあるので(gravityだとか alarmだとかアニメーションだとか)、ゲームが複雑になるにつれて ちゃんとメンテするのが難しくなってくる。正直労力に見合わない。 本格的にやるなら、background_create_from_screenで 今の画面を背景画像に設定してから instance_deactivate_allでインスタンスを全部非アクティブにしてしまう。 それからメニュー用のオブジェクトを配置する。 これならマウス使ったりメニューオブジェクトを動かしたりするのも自由だし、 メニュー抜ける時の後始末さえしっかりやれば一番実装しやすいと思う。
833 名前:名前は開発中のものです。 [2008/03/23(日) 14:48:57 ID:CEb9FX4l] タイトル画面のメニューとして使うスプライトを外部から読み取ろうとしているのですが、 (Start/Option/Endの3項目があるとして) 1) あらかじめ3つの項目を横一列に並べた画像「title.gif」を作っておく。 ゲーム実行時にtitle.gifから、3つのサブイメージを持ったスプライト「sprite_title」を作る。 3つのオブジェクト「obj_start」「obj_option」「obj_end」のスプライトを全て「sprite_title」に設定する。 image_singleを、obj_startは0、obj_optionは1、obj_endは2に設定する。 (つまり、3つのサブイメージを持った1つのスプライトを使い、表示させるものを変える) 2) あらかじめ3つの画像「start.gif」「option.gif」「end.gif」を作っておく。 ゲーム実行時にそれぞれの画像をロードして、「sprite_start」「sprite_option」「sprite_end」の3つのスプライトを作る。 オブジェクト「obj_start」に「sprite_start」を割り当てる。他二つも同様。 (このとき、1つのオブジェクトに対してサブイメージは1つだけ) 1と2でメモリ浪費等で違いはありますか? できれば1の方法を使いたいのですが、そうするとそれぞれのオブジェクトが、 表示されないサブイメージを2つずつ持っていることになり、これは無駄になるのかなと。 ならないのであれば、不要になったときに消すスプライトが一つで済むのですが。 詳しい方、教えてください。
834 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 21:06:26 ID:vPqoB7Ec] 試してないからわからないけど、多分同一スプライトを複数のオブジェクトから参照しても、 メモリ上にスプライトを複製するようなことをしない、と思う。。。 1の方法でいいんではないかな。
835 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 21:32:39 ID:PWwLtvC1] その「sprite_title」がグローバル変数で、ロード(sprite_add)を1回しかしないなら スプライト1つ分のメモリしか使わない。ローカル変数でそれぞれのオブジェクトが 個別にsprite_addするなら、当然スプライト3つ分のメモリを使う。 なので(1)と後者の方法の組み合わせだとメモリを無駄に使うことになる。 他の組み合わせだと使用量は同じかな。 でも、メモリの節約だけが目的なら、単にスプライトのプリロードをオフにする (GM5の場合は遅延ロードをオンにする)で十分だと思う。 これだと必要な時に自動的にロードして、ルームの終了時に自動的に解放もしてくれるよ。
836 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 02:31:39 ID:jcEogdo3] >>834 ,>>835 有難うございました。1の方法でロードすることにします。
837 名前:名前は開発中のものです。 [2008/03/24(月) 17:37:42 ID:M/9alYxD] 複数の地面になるオブジェクトを並べてジャンプ後に着地するように設定したんですが、 横一列に並べているのに着地位置が縦1マス分ほどあいまいになってしまいます。 bounding boxも隙間なく設定しているんですがなぜでしょうか?
838 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 17:55:40 ID:jv5GLLmZ] 言語ファイル対応させろよ・・・
839 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 23:02:33 ID:GFQTJ2FQ] >>838 >>746
840 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 01:38:15 ID:/7w1wYJ6] >>837 地面にぴったり着地しなくて、宙に浮いた状態になるってこと? Collisionイベントに「move to contact」のアクションは入れてる?
841 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 02:43:56 ID:7R5Ni7yo] >>837 >>840 の解説。 衝突が起きたとき、相手がSolidだと自分は衝突前の位置に戻される。 例えば床との距離が5あって、自キャラが3の速度で落下していたとき、 次のステップで床との距離が2になって、さらに次のステップでは床にめり込む。 このめり込んだ瞬間に、床にSolid判定がついていたのなら、 衝突が起きる一つ前のステップ、つまり床との距離が2の時の位置に一旦戻される。 たまに浮いてしまうのはこのため。 Collisionイベントに「move to contact」のアクションを入れてやることで、 「(めり込んだ後、一旦1ステップ前の位置に戻してから)床に接する位置に移動させる」 という過程で、床にぴったり着地させることができる。
842 名前:名前は開発中のものです。 [2008/03/25(火) 04:38:59 ID:6z3i9o/6] 質問に答えていただきありがとうございます
843 名前:名前は開発中のものです。 [2008/03/26(水) 21:43:48 ID:paW4cEkf] すいません、質問で今アクションゲームを作っているのですが、 スマブラのAボタンのコンボみたいなものを作りたいと思っています。 どうすればできるでしょうか。GMLじゃないとできないとかなんでしょうか。 もしGMLじゃなくてもできるのであればご教授お願いします。 下手糞な文章ですいません。
844 名前:名前は開発中のものです。 [2008/03/26(水) 21:45:56 ID:paW4cEkf] すいませんVer.5.3Aです。
845 名前:名前は開発中のものです。 [2008/03/26(水) 21:46:16 ID:paW4cEkf] すいませんVer.5.3Aです。
846 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 22:08:47 ID:tIIk7RtU] スマブラのAボタンのコンボみたいというのが、漠然としすぎてよく分からない もっと具体的に
847 名前:名前は開発中のものです。 [2008/03/26(水) 22:17:44 ID:paW4cEkf] 1個目の攻撃のモーションが出た後につづけて攻撃ボタンを押すと、 2個目の攻撃モーションがつづけて出るみたいのにしたいんです。 パンチ→パンチ→キックみたいな。
848 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 02:00:03 ID:CI1Rl28I] >>847 アクションあまり詳しくないからこれでいいかわかんないけど アラームイベント2個組み合わせてコンボ入力受付期間を作ってみたらどう? まずオブジェクトにコンボアクション発動許可用変数を用意し”0”を初期値に。 攻撃ボタン押したら1回目の攻撃を行わすとともに1つ目のアラームを起動させる。 1つ目のアラームがタイムアップしアラーム内アクションにコンボアクション発動許可用変数を”1”にして2個目のアラームを起動させる。 2個目のアラームがタイムアップしたらコンボアクション発動許可用変数を”0”に戻す。 攻撃ボタンはコンボアクション発動許可用変数が”0”の時と”1”の時で攻撃が変わるようにIf a variable has a valueで分岐させる。 とかそんな感じだと思うけど・・・まずはアニメーションスプライト用意して通常攻撃モーションとコンボモーションを作成してみては? そこらへんはもうできてるかもしんないけど・・・
849 名前:名前は開発中のものです。 [2008/03/27(木) 08:42:25 ID:bXR6vAZf] ご丁寧な返答ありがとうございます。 またわからないことがあったら聞きに着ます。
850 名前:名前は開発中のものです。 [2008/03/27(木) 09:37:30 ID:bXR6vAZf] 「攻撃ボタン押したら1回目の攻撃を行わすとともに1つ目のアラームを起動させる。」 の部分でアラームイベント内にどんなアクションを入れたらいいんでしょうか。 ご教授お願いします。
851 名前:名前は開発中のものです。 [2008/03/27(木) 13:17:57 ID:bXR6vAZf] 解決することができました。ありがとうございます。
852 名前:名前は開発中のものです。 [2008/03/27(木) 20:38:31 ID:bXR6vAZf] 質問なのですがアニメーションをループさせず一週でとめるにはどうすればよいのですか?
853 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 22:07:49 ID:fgaEWE81] >>852 アニメーションエンドイベントで image_index を最後の番号(絵が18枚ならindexは0〜17なので、17にする)にして、 image_speed を 0 にする、とか。
854 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 11:24:35 ID:MJYJEqfl] 背景をタイル張りにせずにビューについてこさせるためには どうすればいいのでしょうか?
855 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 11:33:42 ID:uVxOA1kY] 一枚絵の背景画像を view についてこさせたいってことなら、 背景画像の表示位置は、background_x[0..9] と background_y[0..9] の変数で管理されてるんで、 0番目の背景を0番目のview左上角位置に調整したければ、 ステップイベントで以下のコードを記述すればよい。と思う。 background_x[0] = view_xview[0] background_y[0] = view_yview[0] 背景画像がタイル化指定していたら、無効かもしれない。
856 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 18:19:37 ID:NXbnTPzd] 特定のインスタンスを常に手前側に表示させるって方法がありましたっけ? あったら教えてくださると嬉しいです。
857 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 18:20:34 ID:NXbnTPzd] >>856 文にミスがあったので修正 ×方法が ○方法って
858 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 18:40:24 ID:y58KxNze] depthを小さくさせる、かな。 depthが小さいほど手前、大きいほど奥に表示される。 例えば-10、0、10の3つがあったら-10が一番手前に表示される。 手前に表示したければ、その特定のインスタンスのdepthを他より小さくすればいい。 デフォでdepthは0になってるから、特に何もしてない限りdepthを-1にすれば済むはず。
859 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 20:25:27 ID:NXbnTPzd] >>858 ありがとうございます。 解決しました
860 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 00:26:35 ID:3gZNdKrL] >>855 ありがとうございます。コードを組み込んだらちゃんと着いてきました。 でも何故かとまるときや着地するときに背景がズレるのです。 解決方法があれば教えていただけるとうれしいです。 gamdev.org/up/img/11264.zip
861 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 01:54:01 ID:VGQZQIFz] >>860 落として見たわけじゃないけど、viewの座標は 「End stepイベントの後」かつ「Drawイベントの前」に更新されるので StepイベントやEnd stepイベントで他の座標をviewに合わせても 描画の時点でずれてしまうという問題がある。たぶんそれじゃないかな。 一般的な解決法は「Drawイベントでviewに合わせて描画する」なんだけど、 背景の描画はDrawイベントより前に実行されるのでこのケースでは厳しい。 この場合、ルームの背景自体はなし<no background>にして、 かわりにうんとdepthの大きいオブジェクトを一つ用意し、 そいつに背景を描画させるのがいいと思う。 Drawイベントの中で draw_background(background0, view_xview[0], view_yview[0]); みたいな感じで。
862 名前:名前は開発中のものです。 [2008/03/31(月) 06:36:23 ID:/Z2PGPfr] アクションゲームで被ダメージのイベントを作りたいのですが、 敵の様々な攻撃を「敵の攻撃」と、一つにまとめられないでしょうか。 「このオブジェクトに衝突したらダメージ、このオブジェクトにも衝突したらダメージ」と オブジェクトの数だけ記述しているような状態を何とかしたいのですが。
863 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 13:44:36 ID:3gZNdKrL] >>861 解決しました。 ありがとうございます。
864 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 22:40:41 ID:VGQZQIFz] >>862 そのためのparent 適当なオブジェクトを一つ作ってobj_damage_parentとでも名付ける ダメージ元のオブジェクト全部でそいつをparentに指定する (Advanced modeをオンにしないとparentの設定は出てこないので注意) 後はobj_damage_parentとの衝突イベントだけ作ればOK
865 名前:名前は開発中のものです。 [2008/03/31(月) 23:28:59 ID:/Z2PGPfr] >>864 ありがとうございます
866 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 15:45:29 ID:jcfVMQvT] >>863 >>860 のファイルちらっと見たけど1つだけ オブジェクトとかスプライトとかサウンドのリソース名が同じものがいくつかあるけど 別の名前にしておいた方がいいよ
867 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 16:06:42 ID:jcfVMQvT] あっとそれから名前に”-”や”?”をつかうのもダメだったと思う メニューの「Scripts」→「Check Resource Names」で チェックしてみ <No name conflicts were found>と出るようになったらok
868 名前:名前は開発中のものです。 [2008/04/03(木) 12:01:14 ID:LCg7Ks7Z] ライフバーの機能を使ってみようと思い、マウスの位置に合わせて描画されるように作ったつもりなのですが全く描画されません。 どこら辺が間違っているのでしょうか? Sprite: <no sprite> Solid: false Visible: true Depth: 0 Persistent: false Parent: <no parent> Mask: <same as sprite> Step Event: set the health to 50 draw the health bar with size (mouse_x,mouse_y,mouse_x+200,mouse_y+30) with back color white and bar color blue
869 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 12:13:58 ID:RldfVeQ4] drawアクションはdrawイベント内で実行しよう
870 名前:名前は開発中のものです。 [2008/04/03(木) 12:26:59 ID:LCg7Ks7Z] 単純なことであるのに質問に答えていただき誠に感謝します。
871 名前:名前は開発中のものです。 [2008/04/03(木) 15:31:34 ID:hpoNHotE] livesのイメージって縦に出来ない?
872 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 17:47:55 ID:x/yJQOmc] >>871 draw Livesアクションは横方向でしかならべられないのね。GMLでかいたらこんな感じかな? drawイベントに「Execute a piece of code」で for(i = 0; i < lives; i +=1) { draw_sprite(ライフ表示用スプライト名,-1,先頭のスプライトイメージのX座標, 先頭のスプライトイメージのY座標+sprite_get_height(ライフ表示用スプライト名) *i); }
873 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 17:55:35 ID:x/yJQOmc] Draw Live Images アクションだった^
874 名前:名前は開発中のものです。 [2008/04/04(金) 05:13:29 ID:xKOenXkz] おー、縦にできた。ありがとう
875 名前:名前は開発中のものです。 [2008/04/04(金) 05:21:13 ID:xKOenXkz] ってこれ減らした時に下から減っていくのは仕様なのか
876 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 05:32:53 ID:ozKEK2lV] +を-にしたりすれば上下逆もできるんじゃ?
877 名前:872 mailto:sage [2008/04/04(金) 06:59:11 ID:GCwfYrIO] >>875 氏 仕様というかそういうんじゃなくて draw_sprite()は描画イベントでスプライトを表示させる命令 sprite_get_height()は指定したスプライトの高さを調べる命令 そんでdraw_sprite()命令をfor文を使って単にライフの数だけ繰り返してる for()の中で”i”は初期値が”0”で1回処理されるごとに1づつ増えていくからsprite_get_height()*iとすることで スプライトの高さだけずれて描画されていってる >>876 氏のいう様に”sprite_get_height(ライフ表示用スプライト名) *i”の前の符号を-にしたら下から上になる
878 名前:名前は開発中のものです。 [2008/04/04(金) 08:31:17 ID:xKOenXkz] なるへそ。 ちょっと考えればわかることだね、お恥ずかしい。 勉強になります、ありがとう
879 名前:名前は開発中のものです。 [2008/04/04(金) 11:47:17 ID:UN21xGR5] クリックした時にそのクリックした位置が そのオブジェクトより上だったならそのオブジェクトの画像を後ろ向き、下なら前向き、左なら左向き、右なら右向き・・・ってな感じで変える方法は無いでしょうか? 右斜め下とか8方に作りたいのです。 それとクリックした位置にオブジェクトを移動させる(一瞬でじゃなくそこまでの道程を通って)のはどうすれば良いのでしょうか? 初歩的な質問ですみませんがよろしくお願いします。
880 名前:名前は開発中のものです。 [2008/04/04(金) 23:37:08 ID:atXFd6s2] rapidshare.com/files/104815717/test.gmk.html
881 名前:名前は開発中のものです。 [2008/04/04(金) 23:44:49 ID:atXFd6s2] ゴメン、ミスったぜ www.uploda.org/uporg1350943.gmk.html pass:GM
882 名前:名前は開発中のものです。 [2008/04/05(土) 01:54:06 ID:28WyvbPP] >>881 すみませんがGM6なので開くことができません・・・。 それともGM6で開く方法もあるのでしょうか?
883 名前:名前は開発中のものです。 [2008/04/05(土) 04:41:45 ID:/7lMTMqT] Object1 Step Event: set variable image_angle to direction Object2(追尾させたいスプライト) Step Event: if left mouse button is pressed for all honoo: perform a step towards position (mouse_x,mouse_y) with speed 10 stop at solid only GM6だと開けないのか〜
884 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 04:46:32 ID:mh+kpRIe] 俺普段はGM5使ってるけど 中身見る用にGM7も入れてる
885 名前:名前は開発中のものです。 [2008/04/05(土) 05:54:37 ID:/7lMTMqT] 書き間違えました。 上から7行目のhonooってのはObject2のことです。
886 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 08:08:06 ID:Q8dvYXzo] ここの住民的にニコニコ動画(VS)ってどうなんだ? 外部データからキャラクターの追加とか 結構システム設計まわりをがんばってるみたいだが。
887 名前:名前は開発中のものです。 [2008/04/05(土) 13:27:36 ID:/7lMTMqT] なかなか良いと思ってるよ。 キャラを後から追加できるなんて良心的だよね。 俺ならキャラデータを丸ごとexeにブチ込んでアップデートのたびに 大容量のデータをいちいちダウンロードさせてる所だよ。 開発が長引いたのはうp主が忙しかったからかな?
888 名前:名前は開発中のものです。 [2008/04/05(土) 14:18:21 ID:28WyvbPP] 後から外部からデータ追加とかどうやってるんだろ
889 名前:名前は開発中のものです。 [2008/04/05(土) 14:52:56 ID:/7lMTMqT] Replace a sprite from a fileを使えばおk
890 名前:名前は開発中のものです。 [2008/04/05(土) 21:57:34 ID:/7lMTMqT] 自らを生成したオブジェクトを指定する関数っていうのはありますか?
891 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 00:30:38 ID:jpfm9sAG] >>890 ないので自分で誰が作ったか覚えておかないといけない。 ・instance_createは生成したインスタンスのIDを返す ・自分自身のインスタンスIDはidでとれる ので aaa = instance_create(x, y, object0); aaa.createor = id; としてやると、object0の中からはcreatorで自分を作ったインスタンスを参照できる。
892 名前:名前は開発中のものです。 [2008/04/06(日) 14:46:53 ID:+Z1B7XWC] >>891 ありがとうございます
893 名前:名前は開発中のものです。 [2008/04/06(日) 15:05:43 ID:EU0AU+S4] オブジェクトBの位置までオブジェクトAが移動して、オブジェクトBの位置についたら移動を停止する。というのはどうすればよろしいのでしょうか?
894 名前:名前は開発中のものです。 [2008/04/06(日) 17:03:33 ID:+Z1B7XWC] >>893 step towardsのx座標に「ObjectB.x」y座標にも同じく「ObjectB.y」って入れれば ObjectBが目標の座標になるよ。
895 名前:名前は開発中のものです。 [2008/04/06(日) 17:45:37 ID:EU0AU+S4] >>894 おお・・・こんな簡単に・・・ありがとうございます><
896 名前:名前は開発中のものです。 [2008/04/06(日) 18:30:55 ID:EU0AU+S4] すみませんがもう1つお願いします。 現在このようなゲームを作っているのですが↓ gamdev.org/up/img/11284.zip クリックした時、オブジェクト0が進行方向(オブジェクト1のある方向)と 同じ向きの矢印スプライトに変化する様にするにはどうすれば良いのでしょうか? 解り難い説明ですみませんが、ご存知の方よろしくお願いします。
897 名前:名前は開発中のものです。 [2008/04/07(月) 00:07:19 ID:ip9v6GLB] 【速報】らき☆すた二期決定でアニオタ歓喜wwwwwwwwww jbbs.livedoor.jp/bbs/read.cgi/sports/26525/1204784207/
898 名前:名前は開発中のものです。 [2008/04/07(月) 05:30:29 ID:wG6ko/jv] >>896 zip落せなかった;; image_angleの値をdirectionにすれば楽にできるけどレジストバージョンしか出来ないかもしれないから、 レジストじゃなかったらdirectionの角度ある程度の範囲になったらになったらChange the spriteを使う方法があるよ 大雑把な説明だけどzipがどんなのか確認できたらもっとわかりやすく書くかも。
899 名前:名前は開発中のものです。 [2008/04/07(月) 09:53:52 ID:PrCqy7fg] >>898 私のPCではちゃんと落とせるのですが・・・ 再うpしてみましたのでこちらはどうでしょうか? ttp://gamdev.org/up/img/11292.zip
900 名前:名前は開発中のものです。 [2008/04/07(月) 13:17:17 ID:wG6ko/jv] 私のはGM7なのであえて記述させてもらいます Information about object: object0 Sprite: sprite2 Step Event: perform a step towards position (object1.x,object1.y) with speed 5 stop at solid only set variable image_angle to direction Information about object: object1 Sprite: <no sprite> Mouse Event for Glob Left Button: move to position (mouse_x,mouse_y) なお、これはレジスト用です、レジストでない場合はimage angleが使えないので Ifステートメントとchange spriteを組み合わせるしかないでしょう。 私はまだ日が浅く、その場合の方法は考え付かなかったので非公式サイトあたりで聞いてみてください。
901 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 23:37:03 ID:5Vpyn9U6] 某東のほうのSTGの魔女っ娘みたいな極太レーザーを表現したいんですけども どうすれば極力ゲームが軽く仕上がるでしょうか?
902 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 00:43:47 ID:1aWF0Oei] >>901 いまどきのマシンスペックなら少々無茶やっても速度落ちないと思うけど? ただimage_xscale,image_xscaleでスプライトを拡大すると処理負荷がかかるっていうのはあるのかな? 以下gamemaker helpの「ゲームの仕上げ」→「ゲームの速度について」より引用 >ほとんどのグラフィックカードは、効果的に画像を拡大することが出来ますが、その処理のために重くなります。 だそうです 自分は400×480のルームに画面半分近いぐらいのボスを作ってみたけど PVマシンでもルームスピードが落ちることはそうなかったですよ? んで純粋にレーザーの作り方はというと 普通に弾撃たす処理と対して変わらないかと思います。 要はレーザー発射源オブジェクトのインスタンスよりレーザー用のインスタンスを切れ目なく生成して その時一緒にdirection,speedの数値をレーザー用のインスタンスに与えてあげたらいい。 切れ目なく生成するというのはアラームイベントを使えばよくて、この時「number of steps」の数値が大きすぎると レーザー1コマ1コマの間が長くなるから隙間が生じる。 答えになってるかどうか心配ですが。一応ここまででレス切っておきます。
903 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 11:32:50 ID:PGw82Ekz] GMに興味あるんだけど、ここ見てると書式結構独特ぽいな… やってる人はけっこうサクっと順応できたのかな。
904 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 21:09:24 ID:lWzhg9Ri] >>903 ここ数レスのはアイコンの内容を言葉で説明したものであって、 実際にああいうコードを打つわけじゃないですよ。 Game Makerではオブジェクトの動作を定義するのに 「アクション」というアイコンをポチポチ並べていく方法と、 「GML」という言語で直接コードを書く方法があって 習熟度に応じててきとーに混ぜて使えます。 GMLの文法はCとほぼ同じ(一部Pascal要素あり)なので、 ある程度プログラミングの経験があればすんなり覚えられるはず。 たとえば>>900 は2箇所のイベントにアクションを3つ置いた様子を 表しているけれど、同じ内容をGMLで書くとこうなります。 // object0のStepイベント mp_linear_step(object1.x, object1.y, 5, false); image_angle = direction; // object1のマウスボタンイベント x = mouse_x; y = mouse_y;
905 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 23:29:01 ID:C/r/gPzk] >>902 後者で試してみようと思います ありがとうございました!
906 名前:900 mailto:sage [2008/04/09(水) 03:31:08 ID:R1oJ6a1A] >>904 ああ、そうなのかー…なるほどなあ… わざわざ丁寧にありがとうございます。 以前豆乳システムとかもいぢってたんで、 C言語に似てるなら結構早めに覚えられそうですね。
907 名前:名前は開発中のものです。 [2008/04/09(水) 06:41:45 ID:n+SEEGKi] 自分はhspでゲームが簡単に作れるって聞いたもんだから実際に触ってみたらサッパリ理解できなかった。 それに比べてGMなら2週間くらいで大体使えるようになった。
908 名前:名前は開発中のものです。 [2008/04/11(金) 18:09:33 ID:AT/nfPM9] >>900 遅くなりましたがありがとうございます。 レジスト、というのがどのような物なのか解りませんが・・・。 それとスレ違いかも知れませんが非公式のフォーラムに書き込むことが出来ないのですが私だけでしょうか?
909 名前:名前は開発中のものです。 [2008/04/11(金) 20:34:53 ID:LqedxyKD] 非公式サイトはユーザー登録してからフォーラムで「新規に投稿」押せば書き込めるよ。 あとレジストは料金を支払って制限解除したバージョンのこと。 良く分からない単語使ってゴメンネ
910 名前:名前は開発中のものです。 [2008/04/11(金) 20:37:53 ID:EEx5djbh] >>908 レジストとは、お金を払ってプロダクトキーを貰い、使用制限を解除することです。
911 名前:名前は開発中のものです。 mailto:sage [2008/04/11(金) 20:38:20 ID:EEx5djbh] おおう、更新すれば良かったorz
912 名前:名前は開発中のものです。 [2008/04/12(土) 11:01:55 ID:eNZFgCaH] >>909 ,910 ありがとうございます。 なるほど、有料登録ですね
913 名前:名前は開発中のものです。 mailto:sage [2008/04/18(金) 10:19:47 ID:3dx+PVyf] ちょっと参考までに、日本語圏でのGM作品を見てみたいんだが、 有名所で、GM作品を公開してる人っているかい?
914 名前:名前は開発中のものです。 [2008/04/18(金) 20:35:49 ID:xHO8JEqh] ニコニコのミックマンXやニコニコアクションゲームとかなら知ってるけど。 ニコニコでgamemakerを検索するとちょっぴり出てくる。
915 名前:名前は開発中のものです。 mailto:sage [2008/04/27(日) 05:53:10 ID:2l2AKY8C] これダウンロードできなくね?
916 名前:名前は開発中のものです。 [2008/04/27(日) 11:06:31 ID:CLNLyEnS] 英語だらけだから難しいよね 俺もダウンロードするのに一日かかった
917 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 09:44:12 ID:2d8FpwgV] 登録しねーとDLできないのか?
918 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 11:59:36 ID:YwZZ6j+f] 基本的に登録してからダウンロードしたほうがいい。 けど、 ttp://www.yoyogames.com/gamemaker/try_download からDL出来ると思う。
919 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 21:35:13 ID:wqvUGn48] 6.1で3Dポリゴンにテクスチャを張りたいのですが、色々試しても黒く表示されるだけでどうにも…… どうコードを組めばうまく表示されるか誰かアドバイスくれませんか?
920 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 00:53:19 ID:TumL990E] その「色々試した」の中身が重要なわけだけども。 まあ、仮にテクスチャはちゃんと取れているものとして。 描画するのにcolorが付かない方のd3d_vertex_textureを使ってるとすると その場合テクスチャは現在設定している色でブレンドされる。 draw_set_colorしてないと初期値は黒だから、結果も真っ黒になるよ。 もしそうだとしたら、先頭でdraw_set_color(c_white)してみて。
921 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 05:57:14 ID:boSZuiu9] >>920 ありがとうございます! まさしくそれでした(^^; こんな簡単なミスだったとは……
922 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 22:44:02 ID:QlMWKAXW] すごい漠然とした質問なんですが 画像を1、2、3って表示させるときに 1の画像が前面、3の画像が背景側に表示させる方法ってあります? GML非公式サイトでdraw関連のコードがあまり説明されてなかったので。。。
923 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 23:27:03 ID:lT+h3RUS] 簡単なのは 画像1 画像2 画像3 をスプライトに持つオブジェクトを作って、 depth で指定する方法。 depth の数値が大きくなると上に重なる。はず。 draw イベントで処理したいなら、基本的に画面上に上書きされるので、下になるほうを先に描画すればいい。
924 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 02:15:50 ID:IG1MecUh] 305をそのまま使って、新しいオブジェクトを作って設置し 、すり抜けてみたんですが、solidにチェックがついてない のに、接触した状態で立ち止まると、壁にはまったときと 同じ動作になってしまいました・・・ 座標チェック時に、対象インスタンスIDがSolid属性の場合のみ 壁判定という動作にしてみようかと、以下のようにやってみんですが うまく動かないようです・・・ nulld = !place_empty(x-1,y) if nulld.solid == 0 { 壁回避コード } うーん。。。コリジョン難しい
925 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 02:35:04 ID:20oP59U2] place_emptyが返すのはIDじゃなくてtrue/falseだから…… 相手のIDが欲しければinstance_place使う。 solidの判定も逆のような気がするけど、それ以前にそもそも place_free使えばsolidのオブジェクトだけチェックしてくれるよ。
926 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 07:25:07 ID:IG1MecUh] >>925 なるほど。。。そうだったのか。 ありがとうございます。 うー、日本語マニュアルがほしぃ。。。
927 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 12:42:03 ID:CaNFTODT] 逆に考えるんだ、「英語の勉強になる」。そう考えるんだ。 トェェェェイ ところで、これで某有名同人弾幕シューティングの二次創作tkっているが 弾幕ww、弾幕が再現できねぇwwww
928 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 14:24:24 ID:9QsVrF2b] 仲間発見
929 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 15:59:55 ID:3a9tSZMK] >>927 俺は某同人弾幕STG風オリジナルSTG(つまりパクり)作ってるが、まずはn-way弾を発射するスクリプトを書くんだ!
930 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 17:55:29 ID:TpBQZjg2] ロードの際「セーブデータのフォルダがある」「ゲームのセーブデータがある」時だけロードボタンを押せるようにしたいのですが そういったデータの有無を内部で確認させる方法はありますか?
931 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 18:07:56 ID:9QsVrF2b] exist系のを使えばできるはず。directoryとかfileとか。 マニュアルで検索かけてみ。
932 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 21:32:29 ID:O2xyPtem] >>927-929 こんなに俺がいたとは 今ではn-wayを手動でやってたときが懐かしいです
933 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 21:53:01 ID:XU6M82BJ] 板違いなんでしょうが、 シューティングとかで弾を撃つアクションはどれになりますか? 誰か教えてくださいな〜
934 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 06:21:13 ID:2fBGUOBZ] 「シューティングで弾を撃つアクション」とか、「RPGで敵を攻撃するときのダメージ設定」とか、 そういった類のアクションはなく、自分なりにデザインして、自分で一から作るのがGM。 簡単に言えば、弾を撃つってことは、弾というオブジェクトを作り、それをある速度で飛ばせばいい。
935 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 06:27:00 ID:2fBGUOBZ] ……でも、もし弾幕STG作るんだったら、弾幕風で事足りる気がする。連投失礼。
936 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 08:24:53 ID:lNeW/IjQ] >>934 なるほど。。オブジェクトを作って飛ばす訳ですか。 大体解りました〜ありです。
937 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:03:25 ID:lNeW/IjQ] 今934さんに教わった後頑張って色々やったのですが、 何点か分からない点や仕方のわからない点が出てきました。。 もし良かったら教えてください。 ・弾の発射に間隔を付ける方法 ・一部状況下(俺の言いたいのはジャンプ中)での発砲不可 ・一定の数の弾を発射後何秒間か使用不可(要するにリロード) ・↑の間モーションが入るようにする方法 教えてください〜
938 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:26:08 ID:LG4ZPs/B] >>937 は変数について理解してるか? 上三つは、変数が必要になる。 ・弾の発射に間隔を付ける方法 → 発射可能を表す変数 ・一部状況下(俺の言いたいのはジャンプ中)での発砲不可 → ジャンプ中かどうかを表す変数 ・一定の数の弾を発射後何秒間か使用不可(要するにリロード) → 残弾数を表す変数 そして条件分岐だ。上から順に、 ・弾を撃つ際に、発射可能変数を条件分岐に使い、可能の値だったら(例えば1)弾を撃てるようにする。そうでなければ何もしない。 で、弾を撃ったら 変数を不可能を表す値(例えば0)にして、タイマーイベントを発動。(アクションのタイマーを利用する) タイマーイベント中で変数を可能状態(1)にする。 ・着地状態からジャンプに移行したときに、ジャンプ中を表す変数の値をジャンプ中の値(例えば1)にする。 ジャンプの状態から着地状態になったときに、変数の値を着地状態(例えば0)にする。この変数を使った条件分岐を、撃つ時の条件に加えよう。 ・弾を撃つごとに残弾数を減らす。弾を撃つときに条件分岐を付け加え、残弾数が0ならリロードモーション(自作するべし)を起こすようにする。 リロードのモーションは、モーション専用のオブジェクトを作って、オブジェクト変更アクションを利用するのがいいかもしれない。 そのときは、モーション専用オブジェクトで、モーションが終わったら元のオブジェクトに戻すことを忘れずに。 アニメーションエンドイベントをうまく利用すると楽かもしれない。用語とかでわからないことは、>>1 の非公式サイトで調べてみ。 長文・乱文失礼。
939 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:34:11 ID:lNeW/IjQ] >>938 なるほど それを行っている事を変数で表して、可能不可能をその変数の状態で判断させるわけですか 変数はあまり得意ではありませんが、色々やってみます。 ありがとうございました。 あ、後ここでこうやって質問して良い物なんですか? 板違いじゃないかとずっと気がかりでして。。
940 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:52:37 ID:LG4ZPs/B] >>939 まあ、過疎ってるし個人的にはいいんじゃないのかなとは思うけど。 質問以外の話題がほとんど無いし。。 教えてクレクレ君だらけになったらなったで、つらいんだけどねw
941 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:57:40 ID:lNeW/IjQ] やっていく内にわからなくなってきました。。 発射可能を表す変数 これはなんと表すことになるんですか? 例として教えてください
942 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 21:16:10 ID:smFSYJ2D] n = 3 これを発射回数として 一回打つたびに-1してやって 0の時には打てなくすればいいのかな・・・ 俺も初心者だから参考にならないかも;
943 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 21:21:43 ID:lNeW/IjQ] >>942 返答ありがとうございます。 そういうのの総合的な並べ方がわからないんですね〜>>941 の文が分かりづらくてすみません。。
944 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 21:29:00 ID:smFSYJ2D] { n = (n-1) if n > 0 { instance_create(x,y,bullet) } } こんな感じでしょうか・・・ もっといい方法があると思いますが自分にはわかりません;
945 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 21:30:58 ID:lNeW/IjQ] >>944 ありがとうございました。 早速いじってきます〜
946 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 22:02:44 ID:LG4ZPs/B] クリエイトイベントで isshootable = 1; //弾が撃てるか isjump = 0 ; // ジャンプしてるかどうか bulletNum = 3; //残弾数 [弾を撃つイベント] { if (isshootable==1 && isJump == 0) { if (bulletNum > 0) { instance_create(x,y,bullet); bulletNum -= 1; } else { } }
947 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 22:05:20 ID:LG4ZPs/B] ゴメンミスッタ クリエイトイベントで isshootable = 1; //弾が撃てるか isjump = 0 ; // ジャンプしてるかどうか bulletNum = 3; //残弾数 [弾を撃つイベント] { if (isshootable==1 && isJump == 0) { if (bulletNum > 0) { instance_create(x,y,bullet); bulletNum -= 1; } else { // リロード 弾を撃つボタンでリロードする場合にはここに記述 // 他のタイミングでリロードしたいなら、この部分は要らない。 {リロードするアクション} bulletNum = 3; } } こんな感じで。
948 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 22:16:01 ID:lNeW/IjQ] >>947 なるほど そういう並べるのですか また困ったらよろしくお願いします。 ありがとうございました〜
949 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 22:21:00 ID:LG4ZPs/B] あ、あと撃ったときにタイマーイベント発生させるの忘れてたorz bulletNum -= 1; の下に、 alarm[0] = 30; // 30ステップ後にアラーム0イベントが発生。 としてくらさい。 インデントはかきこ時の見た目重視で全角スペース使ってるので、コピペだと動かないので注意。
950 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 22:33:54 ID:lNeW/IjQ] >>949 了解です〜 ありがとうございます。
951 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 23:18:28 ID:KZv3H4cz] いつもお世話になっております。 教えてほしいのですが、>>853 がうまくいきません。 image_speed = 0にしてGifのアニメを一周で止める動作をさせたいと考えています。 Stepイベントにて以下のコードを動かしてみたところ、アニメがループしてしまいました。 //5枚目でストップ。 if image_index == 4 {image_speed = 0} ご教授いただきたくお願いします。
952 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 23:28:07 ID:KZv3H4cz] 951です。 書き込みをした直後、試行錯誤を続けたところ 原因が分かりました。 gifをゆっくり動かしたかったことから、以下のコードを入れていました。 image_speed = 0.2 これを以下の値に直したところ、「5枚目でストップ」が動作することを確認しました。 image_speed = 0.25 うーん、ただここでひとつ疑問が・・・ なんで「0.2」では動作しなかったのか・・・うーん 板汚し、すいませんでした orz
953 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 00:40:19 ID:XEs+C953] >>952 小数を扱う場合、パソコン内では10進数ではなく2進数なので、 10進数ではキリのよい数値のように思えても、 2進数では無限循環小数(割り切れない割り算で、小数点以下を延々繰り返してしまう数)になってしまう数値がある。 もちろんパソコン内のメモリは無限ではないので、ある桁以下は省かれてしまう。 これを丸め誤差という。 以下のコードを実行してみるとわかるが、 i = 0.2; for (k=0;k<20;k+=1) { show_message(string_format(i,20,18)); i += 0.2; } i が 4 となるべきところで、GameMakerでは微妙に4より大きい数値になることがわかる。 (※常に大きい数値となるわけではなく、本来の数値より少なくなることもある) これは、丸め誤差が積み重なってできた誤差になってて、真に4となるわけではない。 なもんで、 if文の image_index == 4 の条件は満たさない、と考えられる。 このような理由で、プログラムの世界では浮動小数な変数をそのまま条件文でイコールを使うのはご法度。と言われてる。 誤差を意識したコーディングを心がける必要がある。 GameMakerの数値は全て浮動小数扱い。だが、整数のまま扱ってる分には問題ない、はず。 (私はプロじゃないんで…かじった知識程度で申し訳ない、間違ってたら指摘ヨロ)
954 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 01:59:41 ID:T1qF9S2G] まあでも、853で言ってるとおり Other > Animation End イベント使えば image_index判定する必要ないんだけども。 ちなみにあくまでStepイベントで判定するなら if (image_index + image_speed >= image_number) で Animation End イベントと等価になる。
955 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 05:06:15 ID:KYkFnzVP] FEっぽいゲームを作りたいんですが 移動範囲の求め方がわかりません; 1マスごとに-1するということだと思うんですが 具体的に書けなくて・・・ 教えていただけたら嬉しいです
956 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 05:40:23 ID:Bq2Q3q9u] やり方はここが参考になるんじゃない? ttp://www5f.biglobe.ne.jp/~kenmo/program/SLG/move/move.html 再帰ループとか理解している必要があるけど。
957 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 06:13:29 ID:KYkFnzVP] >>956 そのサイトも見たんですがsearch関数というのがよく分からないです; 自分で作るものなのでしょうか・・・
958 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 08:26:38 ID:grhJSKQZ] >>953 954 ご指摘ありがとうございます。 丸め誤差・・・次から気をつけます。 あと、Animation Endイベントって存在したんですねぇ。 「Other>Animation End」…存在すら知りませんでした…。 となると以下みたいな使い方になるんでしょうか?(再質問みたいですいません) ▼Animation End Event //image_indexがsprites「spr_hoge777」の場合、speedを0に変更 if (image_index == spr_hoge777) { img_spd_save = image_speed //停止前の速度を保存 image_speed = 0 } else { image_speed = img_spd_save //他のspritesの場合は保存速度に戻す }
959 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 08:57:11 ID:grhJSKQZ] >>958 image_indexじゃなくてsprites_indexでした。 あと、このコードじゃうまく動作しませんでした。 うーん。難しい・・・。
960 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 10:27:30 ID:j6OioUkw] なんだかやりたいことが混乱してないか? 「困ったときは原点に戻る」 プログラム的なことは置いといて、まず何をしたいのかを考えてみ? この場合はアニメーションが終わったら止める、だったよね? Animation End Eventでimage_speedを0にすればアニメーションはとまるんじゃない? 多分これだけだと一枚目に戻って止まるかも知れないから、 止めた後にimage_indexを最後の数字にする。 つまり、 「アニメーションが終わったら、 ・まずアニメーションを止めて、 ・最後の画像を表示させる」 ……>>853 が言ってることと全く同じなんだが。 これで出来ないってなると、Step eventで毎回毎回image_speedを設定してるんじゃない? もしそうだったらいくら止めても止まらないんだけどw
961 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 10:40:47 ID:j6OioUkw] もしimage_speedが一定で、終わったらそれを止めたいってだけなら、 image_speedをCreate Eventで設定した方がいいよ。
962 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 11:31:49 ID:grhJSKQZ] >>960 ,961 なんていうか、いろいろとすいません。 うーん、そうですねぇ。「やりたいこと」… 「一定条件のみアニメを止める」っていう動作をさせたいんだと思います。 Object内で条件毎にコロコロspritesを入れ替えておりまして spritesに一定の画像が使われている時に限り、「アニメを一周」させたかった訳です。 (キャラが走行中に立ち止まった時、着地した時だけ服が揺れるアニメ…等) 1、sprites変更後、「アニメ停止変数」生成 2、Animation Endにて「アニメ停止変数が1の時のみ、image_speed=0」 でやりたいことが実現できました。 うーむ。確かに原点に返ってみれば、単純な事だったのですね…。 板汚しすいませんでした orz
963 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 21:40:31 ID:2SyyMfLm] なにげにレス伸びてる・・・そろそろ次スレの季節なのかな?
964 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 22:22:44 ID:eAt6pbsl] >>950 です。 また質問に来ました。 HPを準備するまでは出来たのですが、HPの減らし方(ダメージ)がわかりません。。 後、自分的にはゾンビのような敵と戦わせたいので、 近づいたら(正確には近づかれたら)ダメージという形での使用方法も教えてください。 よろしくお願いします。
965 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 22:48:47 ID:J24rBd4c] >>964 サンプルとか、>>1 チュートリアルとかサイトに色々書いてるから自分でも調べてから書き込むことをオススメする。
966 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 23:18:51 ID:2SyyMfLm] >>964 >HPを準備するまでは出来たのですが、HPの減らし方(ダメージ)がわかりません HPの値を保存しておく変数があるならダメージをもらうタイミング(ダメージをもらう処理をするイベント)で引き算してやればよい ダメージをもらうタイミングが「敵が近づいたら」ということなら敵のステップイベントでpoint_distance()関数を使えばいい。例えば obj_mychara:自分が操作するキャラのオブジェクト名 VarMyhp:自キャラのHPを覚えとく変数 obj_emychara:敵キャラのオブジェクト名と命名してあるとして、 obj_emycharaのステップイベントに「Execute a piece of code」で if(point_direction(self.x, self.y, obj_mychara.x, obj_mychara.y)<=50)//敵キャラと自キャラとの距離が50ピクセル以下ならば { obj_mychara.VarMyhp -= 3//自キャラのHPを3減らす } とか書いてやる。但しコレだと毎ステップごとにHPを減らすから、範囲内に入ればとんでもないスリップダメージになるので 一定周期ごととか、減らす量を思いっきり少量にするとか、そういう工夫は必要かと思う。まぁとりあえず がんばれ〜
967 名前:966 mailto:sage [2008/05/06(火) 00:33:47 ID:HwPOvHtQ] あう間違えてる ごめん × if(point_direction(self.x, self.y, obj_mychara.x, obj_mychara.y)<=50) ○ if(point_distance(self.x, self.y, obj_mychara.x, obj_mychara.y)<=50)
968 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 00:40:06 ID:m5xvmqWN] >>965 >>967 さん ご返答ありがとうございます。 なるほど、そういう風な式を立てればいいのですか〜 わかりました。ありがとうございました
969 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 03:30:10 ID:HwPOvHtQ] >>968 一応聞いておくけどヘルプファイルもってる?
970 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 11:45:29 ID:m5xvmqWN] >>969 だいぶ遅れた返答ですみません。 F1のあれの事ですか? 英語で読めないです。。
971 名前:名前は開発中のものです。 [2008/05/06(火) 12:57:24 ID:ndOoddgE] gamemakerで作った拡張子exeのゲームをPSPで遊ぶ事は出来ないのでしょうか?
972 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 13:04:37 ID:zKMDMsj4] GameMakerはWindows専用だ。マルチプラットホームなわけねぇだろ。