【2D】ゲーム作成ツー ..
92:よこしまなMr.0
05/11/15 19:27:26 sr3axQEt
日本語テキスト描画スクリプトを公開しました;-)
URLリンク(gamemaker.main.jp)
93:名前は開発中のものです。
05/11/17 18:25:17 tniXsRI1
>>92
おお!gj おつかれさんでし
94:よこしまなMr.0
05/11/17 19:56:00 xODF1NiW
>>93
どもっす。
詳しく書くの忘れてたんですが、>>92のスクリプトはGame Maker6で
{
mbtext_draw("foo漢字123あいうえおbar", x, y);
}
このようにして全角・半角混じりの日本語テキストを描画できるというものです。
テキスト領域の最大幅も指定できて、この幅を超えると自動で改行されます。
途中で改行したいなら"\n"を入れます。
それと、文字間および行間の間隔も指定できます。
ダウンロードおよび詳細についてはこちら
URLリンク(gamemaker.main.jp)
95:名前は開発中のものです。
05/11/20 03:36:05 x4gmC67f
URLリンク(www.cs.uu.nl)
ここで落としたゼルダのゲームなんだけど
ゲームのサイズ自体は5MBなのに
実行したらメモリ上で80MBになっちまう。
GameMakerで作ったゲームでメモリ食ってしまうのは仕方がないの?
RPGを作りたいんだけどGameMakerじゃあ不向きなんだろうか。
試しにメモリが64MBしかないノートパソコンでゼルダを動かしたら、
メモリにメッセージ音を読み込めなくてエラー落ちしてしまうんだが・・・。
2Dなのに必要スペックが高すぎるがする。
96:名前は開発中のものです。
05/11/22 10:20:01 eOxq0/Li
ゼルダやってみたらちょっと動かしたら
レジストバージョンじゃないとダメというエラーでとまった。
exeファイルつくってもだめだった。
だめじゃんこれ。
97:名前は開発中のものです。
05/11/22 11:01:15 8L6XVzNj
リンク先のexecutableじゃないと実行できないよ。
98:よこしまなMr.0
05/11/22 16:43:27 UH8ldhAq
Game Maker/Examples/ディレクトリ中にあるゲームのメモリ使用量を比べてみました
タイトル ... v5.3A, v6.1
1945 ... 6MB, 16MB
Asteroids ... 9MB, 21MB
hit the ball ... 5MB, 16MB
Pacman ... 8MB, 19MB
Street race ... 6MB, 14MB
このように、6.1ではメモリ使用量が多い傾向にあるようです。
次の6.x系リリースでは32bitPNG形式のグラフィックスまでサポートされるようなので、6.xはまだまだパフォーマンス調整が続きそうです。
規模の大きいゲームを作るなら5.3Aを使ったほうが良いと思います
99:名前は開発中のものです。
05/11/22 17:12:15 8L6XVzNj
物によってはメモリ使用量が3倍も違うものがあるんですね。
2Dゲームをプレイされる方はスペックが強くなさそうですし、
5.3Aのが良さそうですね。
とても参考になりました。ありがとうございます。
100:名前は開発中のものです。
05/11/24 18:18:25 CsYr03Zw
昔、ブラックアウトやホワイトアウトなどのフェード機能は無いと変な事を書いた気がしますが
screen_gamma(r,g,b)
のrgbを-1〜1まで連続的に変化させることで出来たようです。(ただし排他的グラフィックモードのみ)
というわけで訂正でした。
>>92
お疲れ様です。
これで吉里吉里みたいなシナリオファイルを読むスクリプト組めば、
かなりRPGへの道が開けそう。
101:名前は開発中のものです。
05/11/25 15:06:49 X7+6y7nO
101げt
102:名前は開発中のものです。
05/11/25 21:27:44 7KvtNZsM
>>100
それは5.3aのみの機能ですね。
ver 6 以降でやろうとすると、色限定ですが image_alpha をうまく利用するとできます。
URLリンク(gamdev.org)
103:名前は開発中のものです。
05/11/25 22:49:50 7KvtNZsM
ああ、このスレの上で話題になってたのは 「半透明以外で」 ってことだったんですね…
スレ汚しスマソでした
104:よこしまなMr.0
05/11/26 05:05:25 at2Pv5vm
>>99
どもです。
GM6からは描画エンジンがDirectX8.0のDirect3Dになったので、「ちょっとした3Dゲームが安定して動作する」ぐらいのスペックがないと重くなるということでしょうね
具体的に言えば、VRAMが16MB以上でなおかつ「DirectX8以上に対応したグラフィックアクセラレーション機能」を持ったビデオカードを搭載したPCのことです
>>100
どもです。
RPGといえば、GMJのpollingでもRPGが2位だったりするんですよね(笑
URLリンク(gamemaker.main.jp)
>>102
サンプル乙です!
105:名前は開発中のものです。
05/11/27 22:07:44 EmdQyuG5
RPGツクールの出来ないことを補完するという意味では、
ARPGなんか向いているのかもしれないですね。
>>102
あれれ、無くなってたんですか。何でだろう。
サンプルありがとうございます。
半透明でも結構いけますね、
前試したときは遅かったんですが……やり方が悪かったのかなあ?
106:名前は開発中のものです。
05/11/27 23:37:33 +Amk6YHF
RPGツクールよりは遥かに難しいけど・・・でもこのツールはいいね。
107:名前は開発中のものです。
05/11/28 12:58:04 aaSM7huu
URLリンク(www.gamemaker.nl)
↑ここに載ってるGameMaker製のスタンドアロンのゲーム、VRAMが4MBのノートでも動いたけど、
5.3Aで作られているのだろうか。
「HardHat2」や「SonicZone」を見る限りでは、RPGツクール2000や2003よりは
ツールの自由度はかなり高いと思われる。
プログラミング言語が組み込まれている為に、
オリジナルのRPGを作る為に自作メニューや自作戦闘を組む際の手間が
ツクール2000や2003に比べて遥かに少ない。
FF5やFF6クラスのRPGも再現出来るかも知れない。
108:よこしまなMr.0
05/11/28 22:09:16 BOHEPyw1
>>105
GM6ではexclusive graphics modeが撤廃されたためにscreen_gammaなどは使えなくなったようです
>>107
そこのゲームは結構前から載ってるのでGM5製だと思います
/* ひとりごと */
しばらくGM6.xは開発状況を見守っておくとして、Library Builder(URLリンク(www.gamemaker.nl))で5.3A向けRPG構築用アクションライブラリでも作ろうかと思ったわけですよ
[Learn the sorcery(魔法を習得)]アクションとか [Change the class(職業を変更)]アクションとか [Configure the keyboard(操作ボタンの設定)]アクションとか色々作っておき
kernelオブジェクトに独自イベントの処理(会話窓の表示、マップ間のジャンプ、パーティの強制移動、...)とゲームの進行を任せるといった線でいこうかと思ったのですが、
もはやGame MakerではなくなるしRPGとは何かという疑問にぶち当たるので、タンスの奥深くにしまっておきますね。
上記とは関係ありませんが、タクティクスオウガ外伝のようなターン制戦闘シミュのロジックが書きたくてしょうがないので山で修行してきます。
109:名前は開発中のものです。
05/12/03 03:50:34 aTVA3x5t
>102
サンプル使わせて頂きました。
感謝ですー。
おかげさまで明暗を使った面を作れました。
動作も別に重くないようでしたよ。
110:よこしまなMr.0
05/12/07 01:10:31 smGH6xtr
近況報告1) GM Japanフォーラムのカテゴリを一新しました URLリンク(gamemaker.main.jp) ログインしなくても名前付きで投稿できます。ビシバシ書き込んでください
近況報告2) GM6.2で追加予定の「新しい画像素材」および「32bit PNG」について URLリンク(gamemaker.main.jp)
近況報告3) jFontMaker新バージョン調整中 URLリンク(gamemaker.main.jp)
111:名前は開発中のものです。
05/12/07 09:45:48 11Jy8G43
乙であります!
112:名前は開発中のものです。
05/12/13 19:55:36 BihfZgrC
公式の stand alone で紹介されてる doomed ってスゲエな。
よく調べたら、あれで使っている仕組みは GameMaker バージョン 5.3Aで未レジストでも動く。
Gadget 3D っていうみたいだけれど。興味ある人いたら見てみては?
公式っぽいページ(英語)
URLリンク(www.geocities.com)
技術的な話をすると、立体的な壁の描写には draw_sprite_part_ext() をうまく利用している。
5.3Aだとこれを未レジストで利用できたんだが、
6.0以降は未レジストでは利用できなくなってしまった。残念。
113:名前は開発中のものです。
05/12/14 02:27:26 co+V8Lko
>112
これ使ってウルティマアンダーワールドみたいなのを作ってみたいと思ったけど、
デモとかちょっとプレイした限りではZ軸が無さそうなんだけど、あるのかな?
114:112
05/12/14 21:10:11 o6ZocyID
>>113
ざっと内部のスクリプトを眺めてみた。3D処理は基本的なことしかわからないのだけれど。
○壁に見られるようなスプライトのテクスチャ貼り付けは、Z軸に平行な平面(壁)及びZ軸に垂直な平面(床や天井)だけ。
○一般的なポリゴン(三角形)は単色だが、任意の3次元平面の描写は可能。
○カメラ方向の自由度がZ軸回り(Z軸に垂直な平面上をぐるぐる回る)のみのため、上を向く、下を向くといったことができない。
○カメラの位置座標は 3次元で与えられているため、Z軸方向の移動は可能。
○コリジョン判定は、ルームに配置されたアイコンによって行われるので、現状2次元的。
理論上不可能ではないけれど、3次元カメラワーク、Z軸を含めたマップのデータ構造やコリジョン判定、
その他必要な処理のための改造は必要かと。結構大掛かりになりそうだが…。
115:名前は開発中のものです。
05/12/16 21:30:24 QUCuWcKO
わざわざスクリプトを確かめてくれたんか。
さすがに大掛かりになりそうだな。
3Dコリジョン判定やらZ軸のあるマップとかどうすりゃ良いのかさっぱりだ。
あきらめて2Dのゲーム作るわ、ありがとね。
116:名前は開発中のものです。
06/01/03 19:45:15 1JpdSO+W
GameMakerで作られたネットゲームってあるの?
サンプル以外見つからない・・・。
117:よこしまなMr.0
06/01/12 23:44:16 qTSXcIn+
jFont Maker2を公開しました。
URLリンク(gamemaker.main.jp)
118:名前は開発中のものです。
06/01/13 00:18:58 rVnKY9Wa
>>117
キタ━━━(゚∀゚)━━━ !! 乙です!
119:名前は開発中のものです。
06/01/17 00:02:03 Qbkzy9yI
昨日ダウンロードして使ってみたんですが、98マシンだとサクサク動くものの透過が効かず
XPマシンだとやたらに重くて、本来60fpsのところが15前後しか出ない状態です。
動作条件はまず満たしていると思うのですが、GameMakerの場合いったいなにが一番
描画を左右しているのでしょうか?
120:名前は開発中のものです。
06/01/17 00:10:24 cSc+u/I7
おそらくだが、PC環境、主にグラボの性能が影響するんじゃないか?
121:よこしまなMr.0
06/01/17 19:08:14 scPMRZgg
>>119
おそらくGame Maker6.1のことだと思いますが・・
個人的見解でのGM6.1の動作環境は、「>>104」に書いています。
ちなみに当方のNotebookでは、ATI RADEON 7000系グラフィックスチップ(DirectX8, 3Dアクセラレーション対応)+VRAM 32MB(メインメモリ共有)で安定して動作しております。
まずは、お使いのビデオカードやサウンドカードのドライバを最新版にアップデートして試してみてください。
ただしGM6.xは"まだまだ"開発中なので、しばらくはGM5.3aを使った方が良いかと。
122:119
06/01/18 13:55:40 2SH+Qcry
>>120,121ご回答ありがとうございます。
やはりグラフィック周りが貧弱なせいのようですね。設定しなおしてみます。
また、5.3aのほうも使ってみます。詳しいご返答本当にありがとうございました。
123:名前は開発中のものです。
06/01/23 15:30:01 R+AeK2OQ
とりあえず、代理でライセンス購入してくれるところ
URLリンク(www.altech-ads.com)
124:名前は開発中のものです。
06/01/31 16:25:19 gZrsh7Ln
既出で当たり前かもしれないけど、
透過処理したスプライトのオブジェクトを1画面に一杯配置したら、
ルームエディタが重くなるんだな。
で、ひょっとしたらと思ってバックグラウンドの透過タイルを
一杯配置したら同様に重くなった。
マップ作るときには透過画像が少なめになるように気をつけないとダメそうだなあ。
ゲームが動作中は重くないので、そこまで大問題って訳でもないが。
125:名前は開発中のものです。
06/02/07 00:36:49 3ssvjcXI
なんで11月からぱったり人がいなくなったんだろうここ。
ところで、「ボタンを押した長さで効果をかえる」っていうのはできる?
ぶっちゃけボタンの押し具合でジャンプの高さとかを変えてみたいんだけど
126:名前は開発中のものです。
06/02/07 00:38:24 3ssvjcXI
ものすっげーはずかしーヽ(゚∀゚)ノ!
127:名前は開発中のものです。
06/02/07 01:42:33 W4t70fLm
おれも急に人がいなくなって不思議に思ってる。
Game Maker Japan 非公式サイトでDLできるHAREって
ゲームが参考になるんでないかな。
タメジャンプアクション。
128:名前は開発中のものです。
06/02/07 11:18:31 T3W7pWwz
ずっとROMってました。
年度末に近くなるほど仕事が激務になり
GMにまで手が回らなくなって放置状態に・・・。
最近前倒しで落ち着いてきたのでGMいじりは再開してる。が、書くことが無いorz
129:Joker
06/02/08 09:07:08 faCpz2xY
こんにちは。最近GameMakerを始めたJokerといいます。本当に2週間くらい前
に始めたばかりでわからないことだらけなんですが、はじめにロックマンの様
な2Dのアクションを作ろうと思っています。そこで少々問題が起こっている
んですが、プレイヤーキャラクターをいろんなアクションに対応させるために
左向きやジャンプ時などのオブジェクトにいろいろわけてあるのですが、
その際にViewを使う時に追うオブジェクトを一つしか設定できないのでスクロール
がうまくいきません。2つ目のviewに左向き等のオブジェクトを対応させてみたところ、
左向きの方しか追わなくなってしまいました。何か解決策などのアドバイス
がもしあったら教えていただけないでしょうか?また、viewで画面をスクロール
させる時に、端に行った場合でなく、キャラを中心にスクロールさせる
ことは可能でしょうか? 長文失礼しました。
130:よこしまなMr.0
06/02/09 23:41:30 Y8A9AByD
>>123
GMの紹介はされていますが、レジストはできないみたいですね。
でも、「■ご購入について」のページにShareIt!の解説があるのでレジストする際の参考にはなると思います。
>>129
長くなるのでforumの方で返信しときました
URLリンク(gamemaker.main.jp)
131:Joker
06/02/10 01:47:35 teDVSfxU
ありがとうございますー。大変参考になりました。
あと、いろいろやってるうちにわからないところが3点ほどでてきたんですが、
質問してもよろしいでしょうか?フォーラムの方に記載しておいたんですが・・。
132:xyz
06/02/10 10:28:17 vmTX8Bzr
GMLをタイプして作るやつありますよね。
あれってどうやったら あのような画面が出てくるのですか?もうさっぱりなのでどなたか教えてください。お願いします。
133:名前は開発中のものです。
06/02/10 22:41:05 L/fFtyC9
>>132
「File」メニューの「Advanced Mode」にチェックを入れてください。
134:名前は開発中のものです。
06/02/14 00:04:30 hVzIrwkp
GameMakerではセーブ機能をもったゲームは作れないんでしょうか?
135:xyz
06/02/14 13:31:01 QFe7Aksh
>>133さん ありがとうございました
scriptというのが出てきたのはわかったのですが
GML入門のところにかいてあった
script propertiesや execute a piece of codeなどの画面は
どうしたらでますか。
136:名前は開発中のものです。
06/02/14 19:00:34 OGIWffPi
>>135
ヒミツ
マヌアルに目を通してみようよ
137:名前は開発中のものです。
06/02/15 20:04:58 6LM6alMi
いっそ同人ゲー板のほうに立てるか類似スレ立てたほうが人集まるんじゃね?
138:125
06/02/16 19:54:41 +HYBFe6p
さっぱりわからんです……
ダッシュと組み合わせようとするとなおさらさっぱり。
139:名前は開発中のものです。
06/02/17 04:01:55 dYDNpFED
>>138
タメジャンプじゃなくて、マリオみたいにジャンプ後に制御したいのかな?
変数を一つ用意して、ジャンプした時に変数を1にする。
一定時間経過するか、ボタンを離したら変数を0に戻す。
で、変数が1の間は重力の効きを弱くする、というのではどうでしょう。
140:名前は開発中のものです。
06/02/17 21:27:27 EyjSGAvO
139じゃないけど139をヒントに作ってみた
URLリンク(gamdev.org)
こんな感じ?
141:名前は開発中のものです。
06/02/17 23:48:09 7zEm/w8C
うぉ いつのまにかレスが
>>139
その通り、マリオ(もっというとロックマン)みたいなジャンプを再現したかったのです。言葉足りなくてスマソ
とりあえずその方法を試して見ます。
>>140
感じとしてはそんな感じです、わざわざすみません。
142:名前は開発中のものです。
06/02/19 14:11:12 CCeheyjZ
同意できるのに>>134がスルーされている件について
ヘルプ読んでも、わかんねえ…。
143:名前は開発中のものです。
06/02/19 14:15:33 hVYPSpvh
引用: Save the game(ゲーム状況を保存)
現在のゲーム状況をセーブします。
つ「URLリンク(gamemaker.main.jp)」
144:名前は開発中のものです。
06/02/20 01:52:21 Ngv0PK/O
ヘルプにあるぞ。
Finishing the Game -> Global game settings -> Various other options
Let <F5> save the game and <F6> load a game
デフォルトでこの機能は有効になっている。
変数などの状態は保存できるので、機能的には通常、これで十分かと思われる。
しかし、どこでもセーブ可能なため、制限したいならこのチェックをはずし、アクション "Save the game" 等を使って自力で組む必要がある。
パーティクルの状態が再現されないなどの点にも注意。
145:名前は開発中のものです。
06/02/20 12:39:53 7gRnoyKe
わざわざ自前でファイルに書き出して読み込みやってたオレはアホかw
スクリプトがもっと書きやすかったらGameMaker良いんだがなあ・・・。
146:名前は開発中のものです。
06/02/20 13:49:24 QEe7nvmj
そこでDelphiですよ
147:名前は開発中のものです。
06/02/20 14:55:56 4zpNyKhY
なんでまたDelphi
148:名前は開発中のものです。
06/02/20 16:13:18 ZzYiwD5Z
どこでもセーブはゲームバランス崩されるし、
直ぐ飽きられる場合もあると思う。
>>145
こだわりがあっていいじゃん。
149:名前は開発中のものです。
06/02/21 23:19:35 ygP3Me4d
∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)/< 先生! 自己満足ゲーム作ってたら、
_ / / / \ 原因不明のバグにぶち当たりました!
\⊂ノ ̄ ̄ ̄ ̄\ \_______________
||\ \
||\|| ̄ ̄ ̄ ̄ ̄||
|| || ̄ ̄ ̄ ̄ ̄||
.|| ||
150:名前は開発中のものです。
06/02/22 00:04:54 +bb3J/62
うp汁
151:名前は開発中のものです。
06/02/22 02:13:42 WD1YjkLm
ドット絵ばかり書いててまったくゲーム作りが進まない俺ガイル
152:名前は開発中のものです。
06/02/22 10:18:04 RmfqUly/
>>150
とうあえずうp
URLリンク(gamdev.org)
□ 同士が離れていると、仲間の近くへ移動するようにしたいんだけど動いてくれない。
○のDepthを変えるとちゃんと動くようになるみたいなんだけど、
GameMaker自体のバグか何かなのかな?
だけど変えると今度は○の方がおかしくなるし・・・
153:149=152
06/02/22 12:17:49 RmfqUly/
6.1バージョンで問題なく動くのを確認・・・
どうも5.3Aのcollision関連の関数で起きる模様。
154:名前は開発中のものです。
06/02/22 12:38:07 RtW+y/jz
>>150
まちがってたらすません
前レスの717〜740ぐらいに丼氏のボイドトランサーで逆のパターン(近くにいるおなじインスタンスから離れる)
だったかの質問レスがあるのでそれもチェックしてみたら?
>>50に前レスログのURLあるよ
155:名前は開発中のものです。
06/02/22 13:08:59 RtW+y/jz
>>よこしま氏 mbtext_scripts&jfont使わせてもらってます。今のところええ感じです・・といいつつ質問なんですが(^-^;;
mbtext_draw()の第4引数widthを指定しない時やwidthに満たない幅で描画するときに描画幅を調べる構文を以下の様に書いてます。
今のところ"\\n”や改行などを無視してもいい状況なのでこれで妥協してます。
作者観点から付け加えがありましたらヨロシクです。
----------ここから---------------
var inputtext, code, text_len_cnt, i, textareawidth;
inputtext = "描画させる文字列1234"
textareawidth = 0;
text_len_cnt = string_length(inputtext);
for( i = 1; i <= text_len_cnt; i += 1)
{
code=ord(string_char_at(inputtext, i));
if((code>=32)&&(code<=126)) textareawidth += global.mbchar_size/2;
if((code>=129)&&(code<=152)) textareawidth += global.mbchar_size;
}
156:名前は開発中のものです。
06/02/22 13:44:20 RtW+y/jz
上の続き
この後に
mbtext_draw(inputtext, room_width/2 - textareawidth/2, 150, 0, 0, 0))
といった感じで続けています。
157:名前は開発中のものです。
06/02/22 14:14:25 CuQeG0lj
>>151
絵師乙です!
158:149
06/02/22 14:32:17 RmfqUly/
>>154-156
サンクス!調べてみます。
159:154
06/02/22 14:52:00 RtW+y/jz
>>149
レス番間違えてた;;ごめん;
160:名前は開発中のものです。
06/02/22 18:51:30 WbHshgLK
質問なのですが、Keypressed、Keyreleasedに相当するジョイパッドのイベントはないのでしょうか?
それとも押したら変数で逃がしてうんたらかんたらなどをGMLで記述しないと作れないのでしょうか。
161:よこしまなMr.0
06/02/22 19:28:30 vs/6uiJn
>>155-156さんのご指摘を受けて、テキスト領域の試算のみ行う関数(mbtext_draw_test関数)を追加し、mbtext scripts 1.3.0として公開しました。
URLリンク(gamemaker.main.jp)
>>160
以下のスレッドに同様の質問があります。
GMJ Forum -> ジョイスティックのボタン押下時にイベントを発生させたい
URLリンク(gamemaker.main.jp)
162:名前は開発中のものです。
06/02/22 23:01:27 kPdMax+/
>>152
instance_furthestの返り値を表示してみたら-4(noone)になってるね。
しかし、Squareがルーム内に複数いる以上、nooneが返ることはありえないはず。
は、もしかして……!
スプライトとオブジェクトの名前がかぶってますよ。
163:149
06/02/23 10:06:26 tTwTR64C
∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´∀`)/< 先生! if (collision_circle(self.x,self.y,70,Spuare,false,true))
_ / / / \ を
\⊂ノ ̄ ̄ ̄ ̄\ | if (distance_to_object(Spuare) < 70)
||\ \\ に代用させた所、問題なく動きました!
||\|| ̄ ̄ ̄ ̄ ̄|| \_______________
|| || ̄ ̄ ̄ ̄ ̄||
.|| ||
>>162
違うようにした方がいいんでしたっけ?
164:名前は開発中のものです。
06/02/23 12:52:18 3zWbUjiF
>>152
スゲー
AIですか
165:名前は開発中のものです。
06/02/23 14:15:06 PAdpKi4b
>>152
いろいろ調べた結果、GameMaker 5.3A側でcollision系関数の引数 notme の適用方法にバグがありそうですね。
コリジョン対象のオブジェクトを オブジェクト名で限定した場合、特定の状況で notme を true としても有効にならず、
本来なら「偽」と判定される状況でも「真」となってしまう模様。(対象オブジェクトがallとかなら問題なさそう)
6.1では、このバグは解消されているようです。
・・・5.3Aのサポートは終わってるのかなぁ…?
166:よこしまなMr.0
06/02/23 17:52:05 iLVzLMDT
>>163
違うようにしないとだめなんです。
なぜなら、リソース識別子はダイレクトにGMLの定数としてマッピングされるので、同じ名前空間で識別子の衝突が起こってしまうからです。
これはGMJフォーラムでも何度か話題に上りました。
URLリンク(gamemaker.main.jp)
>>165
URLリンク(www.gamemaker.nl) には一応「Older version」という選択項目もあるみたいですが、"Make sure you use the latest version of Game Maker. We do not handle bugs in older versions."という記述がこれまた微妙ですね
お知らせ:
現在、GM5/GM6でmp3,oggをBGMとして再生することができる連携プログラムを開発中です。この連携プログラムは、レジスト版の機能に「依存しない」ので、Game MakerのBGM再生機能に不満を抱いている方にとっては便利なものとなる予定です。
(.NETアプリではないので軽いはず。MODにもおそらく対応。MIDI形式は未定)
167:149
06/02/23 18:55:07 tTwTR64C
>>164
英語ダメ、計算ダメ、絵ダメ、文才ダメだけど、
AIだけには拘りと自信があるのだ。
>>165
ふむふむ・・・検証オツカレです。
>>166
特に問題なかったから今まで普通にシテマシタヨ。
参考になりました。
168:名前は開発中のものです。
06/02/24 04:19:37 /Tk/YbQr
>>よこしまさん
155です
前回の書き込みで舌たらずな文章で心証悪くしてたらすみません。
そして素早い対応、すっごく感謝です。ありがとうございました。
今シューティングを作成してて・・スコアとかの表示関連を作りなおしてるんですよ。
それで自機が近づいたら表示を画面外に出すやつをやってて、
先に描画領域が取得したかったんです。
mbtext動作状況はゲーム進行を妨げずうまく動作しています。
169:よこしまなMr.0
06/02/25 02:33:02 mwGxEe4m
>>168
いえいえ
実際の描画幅を取得できないというのは盲点でした。
おかげさまでmbtextを改良することができたのでこちらこそ感謝です。
お知らせ:
>>166でちらっと触れていたBGM再生用のプログラムおよびスクリプトがほぼ完成しました。
再生に対応しているサウンド形式は「mp3, ogg, mod, it, xm, s3m」です。
同時に再生できるサウンド数は無制限です。
GM5/GM6と共に動作し、レジスト版でも未レジスト版でも動きます。
機能的には、「再生、一時停止、再開、停止、リセット」の操作、および、「音量、再生スピード、パン、ループ」の制御(再生後でもサウンドごとに変更可能)をサポートしています。
GMとは別プロセスでサウンド再生を行いますが、制御元のGMのウィンドウが消失すると自動終了する仕組みになっているので、万が一GMのゲームがフリーズした場合でも「サウンドだけがずっと鳴ったままになる」という事態は起こりません。
また、サウンド再生を行ってもGMのゲームスピードを遅らせることはありません。ループ再生の場合も安定して動作します。
いまいち分かりにくいかも知れませんが、GMのゲームが この「BGM再生用のプログラム」を非同期制御するという仕組みです。
GM側からは、簡単なスクリプトを呼ぶだけで透過的にサウンド再生を行うことができます。
例:my_music.mp3を音量80%で再生する
bGM_play("my_music.mp3", 0.8);
現在、細かい改良と調整を行っています。
170:よこしまなMr.0
06/02/26 21:15:52 2s5I4Elf
bGM; background-music player for Game Maker
URLリンク(gamemaker.main.jp)
名前が覚えやすい(BGMとカブる)のが最大の特徴です( ワラ
171:名前は開発中のものです。
06/02/26 23:33:03 FvVbCteI
>>170
IDが妖精サンダー
172:名前は開発中のものです。
06/02/27 23:56:13 cC0bdxOd
withの使い方で質問です。
withの中ではotherが元々selfだったインスタンスを参照するようになりますが、
では元々otherだったインスタンスはどうやって参照できるのでしょうか?
具体的には、自分と敵弾がぶつかった時に破片を飛び散らせようとしてるのですが……
// self=自分、other=敵弾
var i, ii;
for (i = 0; i < 8; i += 1) {
ii = instance_create(x, y, obj_fragment);
ii.direction = i * 360/8;
ii.speed = 4;
with (ii) {
motion_add(???.direction, ???.speed / 2); // ←ここで敵弾の動きを合成したい
}
}
??? の所に何を入れたらいいかわからなくて困っています。
173:172
06/02/28 03:02:25 emwe4w/O
すみません、よく考えたらやりたいことは
ii.hspeed += other.hspeed / 2;
ii.vspeed += other.vspeed / 2;
で可能でした。
でも後学のため、with内から外側のotherを参照する方法
ご存じの方いたらお願いします。
174:名前は開発中のものです。
06/02/28 14:52:42 vklEnotz
>>172
スクリプト内部の一時変数に記憶しておくしかないかな。
-----
var other_id;
other_id = other.id;
with ( ) {
// withループ内でも、変数 other_id で 元々の other のインスタンスIDを参照できる。
}
-----
175:よこしまなMr.0
06/02/28 18:56:54 6cM1DN1x
>>172-173
174さんが仰っている通りですね。たぶんその方法しかないと思います
bGMのプレビューデモ(*.gmd, *.gm6)を公開しました。
URLリンク(gamemaker.main.jp)
マウスクリックおよび[←][→]キーに合わせてoggストリームの音量・パン・ピッチシフトを変化させるデモです。
176:172
06/02/28 23:15:51 emwe4w/O
>>174
ども、それでいけました。
with内では何も付けなければvarで宣言した変数を参照できるみたいですね。
ん、でも、同じ名前のインスタンス変数があったらどうなるんでしょう?
実験してみたらこんなん出ました。
var inst1, X;
inst1 = instance_create(0, 0, object1);
X = 'var X';
self.X = 'self.X';
inst1.X = 'inst1.X';
with (inst1) {
show_message(X); // ←これは var X になる
show_message(other.X); // ←これは self.X になる
show_message(self.X); // ←これは inst1.X になる
}
177:名前は開発中のものです。
06/03/07 20:49:20 c3gblkOt
保守
178:名前は開発中のものです。
06/03/08 00:00:41 pSfOHtTI
ほしゅおつ
179:駄々
06/03/08 15:02:46 U8guAHRA
初めまして駄々といいます
質問なんですがキャラのアニメーションでカーソルキー→を押したら
右に移動しているアニメ
←をおしたら左に移動しているアニメを表示させるにはどうすれば良いのでしょうか
簡潔に言うと
→を押したら ● ⇒ ●
>| /|
みたいな・・・(分かりにくくてすんません)
180:名前は開発中のものです。
06/03/09 01:46:39 fAsQapMu
>>179
右用オブジェと左用オブジェ作って同一親オブジェクトを登録
右用オブジェと左用オブジェの逆方向のキーボードイベントで逆のオブジェクトへ
インスタンスチェンジする。
共通のイベントは親オブジェクトで作成する
みたいな感じがいいんでないかい?
181:駄々
06/03/09 01:58:19 kV2wX20F
>>180
それでなんとか出来そうです
ありがとうございます!
182:名前は開発中のものです。
06/03/10 02:52:55 /vwSpjSb
わーいロックオンレーザーができたヨー
URLリンク(gamdev.org)
183:名前は開発中のものです。
06/03/10 18:35:27 kxaQ8pGu
>>182
レーザーの動きが滑らかでいいね!
普通に楽しめますねー。
184:名前は開発中のものです。
06/03/11 13:07:48 B0K6mRFK
いいね。GJ!
贅沢いうと、複数ロックオンした時はいっぺんに発射するよりゼロコンマ秒遅れて時間差で
発射するようにしたほうが爽快な気がス
185:名前は開発中のものです。
06/03/12 16:59:08 EbhNu3eR
>>182
パッド差してると勝手に右下に移動しちゃうんだけど……。
186:名前は開発中のものです。
06/03/13 03:31:36 3bCLLKKk
うんうん
187:名前は開発中のものです。
06/03/13 03:45:59 1xHX09ww
>>184
時間差実装してみました。ついでにレーザーの表現もちょっと変えてみたです。
>>185
パッドによってはjoystick_xposが厳密に0を返さないことがあるみたいですね。
閾値を設けて判定するように修正しました。
URLリンク(gamdev.org)
イカミサイルが時々何にも当たってないのに消えちゃう現象が出るけど、
原因がつかめん……
188:名前は開発中のものです。
06/03/14 19:14:36 8RK8eiVf
>>187
即効で修正しまくるオマエGJ。
189:名前は開発中のものです。
06/03/17 21:57:55 /PdAbkhM
ver.6,1で数値入力の際に「0から32までの数」などというように範囲指定をして入力したいのですが
こういう入力の仕方を教えて頂けないでしょうか
if there is an object at a position
でオブジェクトAがオブジェクトBの一定範囲内に入った場合、行動を起こすようにしたいのですが
この数値の範囲の入力方法がわからず困っております
マニュアルに書いてあるような初歩的な事かもしれないので大変恐縮ですがお願いします
一応、印刷された旧バージョンのマニュアルを持っているので
読んではみたのですが探し当てる事が出来ませんでした…(´・ω・`)
190:名前は開発中のものです。
06/03/17 23:48:51 UTobLwMn
>>189
if there is an object at a positionは登録したオブジェクトと指定したオブジェクト同士が
衝突しないと真をかえさないので”一定範囲に入ったとき”とはなんだかニュアンスが違うような気がしますが?
自分のやり方でわるいですが”Execute a piece of code(コードを実行)”でGMLを書いたほうがすっきりすると思います
たとえばオブジェクトAのオブジェクト名を”obj_A”オブジェクトBをobj_B”として一定範囲に入ったときオブジェクトAを
動かしたい場合obj_AオブジェのステップイベントにExecute a piece of codeを登録する。
”一定範囲”が単純に”A,B間の距離”でいいならpoint_distance(x1,y1,x2,y2)関数(2点間の距離を計算する)を
使えばいいと思います。100ピクセル以内に入ったときとしての記述はこの場合・・・
if(point_distance(self.x, self.y, obj_b.x, obj_b.y) <= 100)
{
//ここに動かす為の記述をする
}
というふうにしてみてはどうですか?
191:190
06/03/17 23:55:05 UTobLwMn
× if(point_distance(self.x, self.y, obj_b.x, obj_b.y) <= 100)
○ if(point_distance(self.x, self.y, obj_B.x, obj_B.y) <= 100)
細かい訂正及び長文ですいません(´・ω・`)
192:名前は開発中のものです。
06/03/18 00:27:30 WYhXOtxE
>>190
>if there is an object at a positionは登録したオブジェクトと指定したオブジェクト同士が
>衝突しないと真をかえさないので
済みません、知りませんでした…
プログラムとかできないよって言う友人と作業しているので
GMLは使えないのですが(書くべきことを書いていなくて重ね重ね済みません(´・ω・`))
変数でも同じ事ですので大変参考になりました、有難うございます
193:190
06/03/18 02:26:21 9Lf6fvmN
>>192
> プログラムとかできないよって言う友人と作業しているので
> GMLは使えないのですが(書くべきことを書いていなくて重ね重ね済みません(´・ω・`))
ああ・・なるほどGMLなしなんですか^^; GMLでもアクションアイコン(っていっていいのかな?^^)
でも自分が思っている動きができればOKかと^^
で・・・実現できそうですか?(いっちょかみしたので少し気がかり^^
194:名前は開発中のものです。
06/03/18 04:07:36 KjV7bw5B
ニコニコニコニコうるせーんだよカスども!!
195:名前は開発中のものです。
06/03/18 13:39:39 bMeUjPwj
ニコニコニコニコって?
196:名前は開発中のものです。
06/03/18 14:00:07 U+h1lbvn
どうみても誤爆です。
本当に有難うございました。
197:よこしまなMr.0
06/03/18 21:43:30 G0hInr+C
bGM ver. 1.0.0およびチュートリアル・関数リファレンスを公開しました。
URLリンク(gamemaker.main.jp)
198:駄々
06/03/23 20:11:36 QpjTFGD2
お久しぶりです
また質問なんですが主人公キャラに重力を与えたのですがブロック(地面)の上に乗ると
←方向に移動してしまいます(移動と言うよりも左に引っ張られている感じ)
どなたか解決方法を教えてください
199:駄々
06/03/23 21:07:49 QpjTFGD2
>198
自己解決しました
すいませんでした
200:名前は開発中のものです。
06/03/24 00:10:23 1MGw+l1b
>>198-199
いいけど、質問する前に、もっと慎重にな。
フォーラムの質問もおまいなら削除依頼なりなんなりしておけよ。
あと、症状だけいわれてわかるエスパーなどいないことも覚えておいてくれ。
201:名前は開発中のものです。
06/03/24 22:32:50 PR6KQDDw
>>200
ぶっちゃけ過疎ってるんだから小さな質問でもいいんじゃない?
>>199
自己解決すんな。回答を待て!w
202:名前は開発中のものです。
06/03/27 12:11:59 Ft51kzDw
URLリンク(kjm.kir.jp)
…頑張ってみた。
はぁ。
203:名前は開発中のものです。
06/03/27 13:28:28 Ft51kzDw
メインメニューも日本語化パッチ。
URLリンク(www.uploda.org)
204:名前は開発中のものです。
06/03/27 17:34:37 w/CqsEE/
全部日本語化出来た?
205:名前は開発中のものです。
06/03/27 19:38:49 Ft51kzDw
>>204
ジョージ…残念ながらそれは無理だ。
別に出来ないことはないが時間が無い。
リソースにメッセージデータが入ってない箇所が多すぎる。
いちいち特定してCRCエラーが起きないようにビクビクしながらやるのは
すごく大変なんだ。
クラック対策用の処理の潰し方が結構適当。
とりあえず致命的エラーは起きないようにしてあるけど、
起動時に必要な処理をどっか潰してる可能性もある…。
まぁ、俺が使っている"かぎりでは"何の問題もない。
ちゃんとファイルのロード、セーブも出来てるし実行ファイルの出力も出来た。
実行ファイルの方には何も手をつけてないから当然か。
206:名前は開発中のものです。
06/03/29 06:10:57 s0l2fzu9
てか最新版の日本語化じゃないのか。
207:名前は開発中のものです。
06/03/29 14:06:16 BdCnmoxX
GJ
208:駄々
06/03/29 22:26:10 Mzj60OcA
質問させていただきます
ロックマンのようなボスキャラの動きなどはGMLコード(だっけ?)を使わなくては作れないのでしょうか?
質問ばかりですいません(しかも無駄レス・・)
209:名前は開発中のものです。
06/03/29 22:34:41 PV+kH8qv
質問キター
ロックマンのようなボスの動きというのがわからないので回答できません。
すみません・・・
210:駄々
06/03/30 00:08:23 98xmE8PI
ロックマンのボスのような動きの例(例っていうかこんなふうに動かしたい)
・左右にランダムに動く(又は壁にぶつかったら反対方向に動く)
・2〜3秒に一回攻撃する
・ピンチになると本気モードになる(これは実装するか分からないのですが一応)
以上の動きをさせたいんですが
GMLコードを使わなくてもできますか?
211:名前は開発中のものです。
06/03/30 13:19:39 YmzEqY6O
>>210
実際試してないができると思う、詳細はマニュアルorヘルプファイル参照願う
>左右にランダムに動く
ステップイベントにWith a change perform next actionをおいてsidesを2で指定し、その下にReverse horizontal directionアクションをおいて反転させる
With a change perform next actionの結果が偽ならReverse horizontal directionは無視され結果1/2の確率で反転される。
>壁にぶつかったら反対方向に動く
ステップイベントにIf there is a collision at a positionを置いてRelativeにチェック、x,yにはボスが1ステップで動く量を代入する(実際に動く前に
どこへ動くかの前判定になる)objectには壁になるオブジェクトを指定してやる(壁オブジェは親オブジェでくくっといてこの親でobjectに代入しておくと後々楽)
後は左右に動くと同じでReverse horizontal directionを登録、縦方向の動きがあるならReverse vertical directionもあわせて登録しておく、
この場合Start of block、End of blockで前述のReverse horizontal direction、Reverse vertical directionアクションをまとめてやる。
この2つは既に動作アクションが前もって実行されていることが前提であるから生成イベントとかで動作アクション等を割り付けておく。
212:211
06/03/30 13:44:20 YmzEqY6O
続き
>2〜3秒に一回攻撃する
アラームイベントを使う。
一番シンプルなのが常に指定した単位秒で毎回攻撃するという形で書かせてもらうと
生成イベントでアラームアクションを登録number of stepには現状ルームスピード*秒数の値を、
in alarm noにはどのアラームを使うかを指定する。
指定したアラームのイベントに攻撃する用のアクションを登録していって、最後に生成アクションでつくったアラームアクションをコピぺする
これで指定秒ごとに繰り返すようになる。
>ピンチになると本気モードになる
ピンチというと普通HPがある程度のとこまで減ったとかそんなんだよね?
それ前提で・・・
ステップイベントでHPとなる変数を If a variable has a valueで監視→規定量以下になったらさっきの
「2〜3秒に一回攻撃する」の秒数を減らすとか、移動スピードを多くするとかしてみたらどう?
実装するときはこの秒数なり移動スピードを変数で登録しておくなどの下ごしらえで結構楽に組めたりするよ
213:211
06/03/30 14:02:04 YmzEqY6O
訂正
>>左右にランダムに動く
>ステップイベントにWith a change perform next actionをおいてsidesを2で指定し、
>その下にReverse horizontal directionアクションをおいて反転させる
>With a change perform next actionの結果が偽ならReverse horizontal directionは無視され結果1/2の確率で反転される。
ステップイベントでやると毎回確率判定が行われるから反転が重なる可能性がおおいので
これもアラームアクションを使って何秒間かに1回判定をかける方がいいですね
214:名前は開発中のものです。
06/03/30 16:02:04 flRGae76
(別解)
とりあえずは上のアラーム使う方法が手っ取り早いと思うけれど、
タイムラインで行動パターンを組んでループさせる方法もあるね。
特に説明はしませんが
ステップ数 行動
0 ランダムで方向決める
100 弾を撃つ
110 ジャンプ
200 弾を撃つ
250 弾を撃つ
400 先頭へ戻る
タイムライン上のスピードの変数もあったりするから、
GMLも知っておくといろいろ応用が利く。
パターン化された動きをするならこっち、
AIっぽく振る舞わせるならタイマーかなあ。
215:名前は開発中のものです。
06/03/30 16:06:44 flRGae76
タイマーじゃなくてアラームだ。
クリック&プレイ使ってた時の癖が
216:駄々
06/03/30 21:16:29 98xmE8PI
非常に助かります!!
とりあえず後で試してみます!
自分もクリック&プレイしてたな〜・・・・
217:名前は開発中のものです。
06/03/31 16:41:53 4VV46Pcn
まだKNP使っている自分orz
218:名前は開発中のものです。
06/04/03 14:38:26 W85JHXvu
なんだかんだでKNPは手軽ないい玩具だったよなあ。
アレくらいわかりやすいともっと流行るのかなあ……
219:駄々
06/04/13 12:58:29 CCVlXrag
また質問です
・主人公についてくる
・敵が近づいてきたら攻撃しにいく
・敵が近づいてきたら遠ざかる(↑のとは違うキャラです)
上記のようにキャラを動かしたいんですかどうすればいいのでしょうか?
前回のはうまく動きました!(本気モードはまだやってない)
211さんありがとうございました
220:名前は開発中のものです。
06/04/15 19:49:09 fbNvFET3
これ面白いですね。けどさすがに知識0な自分には厳しいかな
チュートリアルのボールゲームは作れたけど、自力じゃ歩くキャラ作るのもままならないやw
221:名前は開発中のものです。
06/04/17 01:49:39 MWZgJo7r
はじめましてです。質問してもいいでしょうか?
30フレームのroomAにおいて、
オブジェクトBの座標に向かってスピード80で進むオブジェクトAがオブジェクトBと重なった時に次のイベントが発生するように
イベントの発生条件をアクションリストのIFを使って
obj_A=(obj_b.x,obj_b.y)
としたのですが、2〜3回に一回程素通りされてしまいイベントが開始されません。
どうすればいいのでしょうか?
あと、オブジェクトが重なりあった時の前面に出るオブジェクト画像の優先順位は変えられないのでしょうか?
どなたかお願いしますm(__)m
222:よこしまなMr.0
06/04/17 05:47:17 cr8rW51E
>>221
>オブジェクトAがオブジェクトBと重なった時に次のイベントが発生するように
Case1. 自インスタンスの位置がobj_bの位置と同じかどうか判定する場合:
[If an expression is true]
expression: (x == obj_b.x) && (y == obj_b.y)
Case2. 自インスタンスのspriteがobj_bのspriteと重なっているかどうか判定する場合:
[If an expression is true]
expression: place_meeting(x, y, obj_b)
>オブジェクトが重なりあった時の前面に出るオブジェクト画像の優先順位
各オブジェクトのdepth(深度)を変更します。
223:名前は開発中のものです。
06/04/17 10:55:50 Zn9G8oL+
横槍でごめん
>>222さん
>>221さんは
>スピード80で進むオブジェクトA
及び
> 2〜3回に一回程素通りされてしまいイベントが開始されません。
といってるから多分コリジョンエリアが重なっていない症状が出てるんだと思うんだけど?
だとするとexpressionは線分で判定するcollision_line()がいいんじゃないの
collision_line(xprevious, yprevious, x, y, obj_b, false, true)
みたいな感じで・・・
224:よこしまなMr.0
06/04/17 20:33:57 cr8rW51E
>>223
補足どうもです。
>>222のCase2は素通りしたら意味が無かったです・・・
collision_line()で試してみたところ、collision_line()は「線分そのものと、静止しているobj_bが重なる場合」なら判定できるようです(つまり、「obj_Aのスプライトの形状」および「obj_bも動いていた場合」は考慮されない)。
一方、obj_A,obj_bそれぞれの動きとスプライトまで考慮し、さらに素通りした場合も考慮にいれてコリジョン判定をするとなると、どうしてもGMLでごちゃごちゃforループするしかないみたいです。
(素通りしないようにすれば、通常のコリジョンイベントで十分なんですけどね・・)
225:221
06/04/18 20:49:01 kvqrJBQi
よこしまなMr.0さん>
>>223さん>
詳しい説明有難う御座いますm(__)m
obj_bと同種のオブジェクトをポジションランダムに複数配置して、その上をobj_aが高速で移動していく動きを作りたかったんです。
コリジョンだとビリヤードの球のような動きになってしまったのでできれば他の方法が無いかとおもいましたが、
まだ初心者でGMLを複雑に使いこなすのは厳しいので、まずは欲張らずにコリジョンを使おうと思います。
丁寧に有難う御座いました!
226:223
06/04/19 14:23:47 D713torS
>>225氏
なるほど、30fpsでspeedが80という高速オブジェってどんなんだろうと
思ってたんだかなんとなく判った。
その要件だとステップごとにdistance_to_object()でターゲットになるobj_bとの距離を
計測してやって80以上の場合にspeedを80とし、未満の場合はdistance_to_object()で
測定した距離の値をそのままspeedに代入してやってはどうだろうか?
減速する形にはなるが減速するのはobj_bと重なる時の1ステップだけで、なおかつ必ず
衝突判定がとれるようになると思う。一回試してみて
227:名前は開発中のものです。
06/04/24 14:36:25 +HnYfiB7
最新版の日本語化パッチまだ〜?
228:よこしまなMr.0
06/04/24 21:24:01 CcS3zOyA
>>227
GMの日本語化について、現在までの情報をまとめると以下のようになります。
▲GM5.3Aの場合、URLリンク(gamemaker.main.jp)<)にて、「GMのプログラムが翻訳されやすいように修正を加えるといったことを計画している」との記述があり、作者さんにメールで問い合わせた結果、「いつになるか分からない」との事。
つまり、GM6自体のi18n(インターフェイスや表示メッセージの多言語化)待ちの状態。
(GM初心者で英語も苦手という人は、本家URLリンク(www.gamemaker.nl)にて配布されているGM6.0のヘルプ日本語訳が非常に役に立つと思います。)
で、i18nがいつになるか全く不明なので、「日本人のためのGMバイブルみたいなものを作れば、多くの人が気軽にGMを使えるのではないか」と思って試しに作ってみたのが次のHTML Helpです。(まだ目次を書いたぐらいですが)
URLリンク(gamemaker.main.jp)
※WinXP SP2の場合、ファイルのプロパティで「ブロックの解除」ボタンを押さないとHTMLが表示されません。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5330日前に更新/345 KB
担当:undef