【2D】ゲーム作成ツールGameMaker part4【マンセー】at GAMEDEV
【2D】ゲーム作成ツールGameMaker part4【マンセー】 - 暇つぶし2ch127:名前は開発中のものです。
09/06/24 05:12:50 zrT0JE6k
>自分で学習できないようじゃ、って言われてもね~。
>>119にも何でも自己責任で作らなければいけないとあるだろうが。
自分で調べることを知れ。低脳。

128:名前は開発中のものです。
09/06/24 06:50:48 j1ZRO4Kv
>>124-126の大人っぷりに泣いた
>>122は彼らに感謝しろよ、それと小中学校のどっちでもいいから卒業してくれ、頼む

129:名前は開発中のものです。
09/06/24 08:54:08 q+ZjUiLQ
>>122
とりあえず同じ質問を2ヵ所でするのはやめてくれ
折角答えてくれる人に失礼だ

130:名前は開発中のものです。
09/06/25 00:05:05 XavehMxJ
あのさ、お前ら>>122に、そんなまともな頭があれば、
そもそも、こんな頭の悪いゆとりレスをしてくるわけがないだろ
>>122みたいな白痴は、もうここ読んでないし、
そんなマジメに相手してやる事自体が無意味だよ

131:名前は開発中のものです。
09/06/25 02:21:21 fllMyOLZ
っていうか奴は>>124-126読んでも理解できないと思うし、高確率ではなから読む気がない。
(とか書いておくと反抗期の小学生は頑張る)

132:名前は開発中のものです。
09/06/25 18:16:46 DXf4kZNS
すいません、数学の話なんですけど、draw_sprite_generalで描画すると四角形の左端を中心に回転しますよね?
縦辺の長さと横辺の長さをh,wとして角度が増えるたびx,yにh,wとθで計算した数値をいれれば、回転する点を変えられると思うのですが、どういう風に計算すればいいでしょうか?

133:名前は開発中のものです。
09/06/25 22:55:29 QCl4CUg1
回転の公式でググって、GMだとY座標が下向きだから適当に反転する
dx = w/2; dy = h/2; // 原点から回転の中心までの距離
dx' = lengthdir_x(dx, θ) - lengthdir_y(dy, θ)
dy' = lengthdir_y(dx, θ) + lengthdir_x(dy, θ)
これを中心点に足すなり引くなりすればいいべ

134:名前は開発中のものです。
09/06/25 23:26:38 DXf4kZNS
あーなるほど!lengthdirを使えばよかったのですね!
サインコサインをなんとかすんのかなあ…とずっと考えてました。ありがとうございます!

135:名前は開発中のものです。
09/06/26 01:19:08 R2VlleOL
俺ならsprite_set_offsetで画像の中心を移動して、あとはsprite_draw_extで回転角をいじるかな

136:名前は開発中のものです。
09/06/26 22:27:11 XzTjtQH4
general使ってるってことは、一部分だけ切り出して回転させたいんじゃないの。
draw_sprite_part_extで回転もできればいいんだけど、ないんだよね。
>134 lengthdirも実体はsin・cosだよ。覚えやすいように名前と引数変えてるだけで。

137:名前は開発中のものです。
09/06/27 17:58:45 g1C/dppu
>>136 一部分だけ切り出して回転させたいんじゃないの。

まさしくそうなんです。教えてもらって申し訳ないのですがいろいろ試してみたらsurfaceで思い通りのことできました!

surf = surface_create(w,h); //切り取りたいスプライトの幅,高さ
surface_set_target(surf);
draw_sprite(spr,sub,xx*-1,yy*-1); //切り取りたいスプライトのインデックス、サブイメージ,xx,yyの場所から横w縦h文だけ切り取ります
nspr=sprite_create_from_surface(surf,0,0,w,h,false,true,false,true,xo,yo)//各パラメータはお好きに!
surface_free(surf);

URLリンク(www.gmlscripts.com) 

ココ参考にしました!僕以外の役に立つかどうかわかりません!

138:名前は開発中のものです。
09/06/27 22:18:00 Vqi57wNd
スプライトを切り出して新たにスプライトリソースを作ってるわけか。
いちいちdraw_sprite_general()で描画に毎回切り出しながらやるよりは、
一度手間をかけてやることにより、後の処理が楽になるね。

で、分かってるかもしれないけど、念のために補足。
その nspr は、使わなくなったらしっかり sprite_delete() しておくこと。
そうでないとメモリを食いつぶすことになるから、注意してください。

139:名前は開発中のものです。
09/06/30 21:48:36 JX1m/hgW
GM8の新機能(暫定)が発表されてた
・イメージエディタを一新(アルファチャネルのサポート、フィルタなど)
・コードエディタを一新(コード補完、括弧の対応表示ほか色々)
・コリジョン設定の変更(サブイメージ毎のマスク、円形マスクなど)
・スクリプト以外のリソース(ルームとか)もImport/Export可能に
・スプラッシュスクリーンにWebページやHTMLファイルを表示
・タイムラインの機能強化(一時停止や逆再生など)
・トリガイベント(自分で条件を設定できるユーザイベント?)
・ロード時間の短縮、その他の細かい改善
ルームエディタとかフォント関係はやっぱそのままなのかな

140:名前は開発中のものです。
09/06/30 23:21:27 RYkPWQI3
7で作ってるゲームをそのまま移行できるんかな

141:名前は開発中のものです。
09/07/01 03:38:54 s7gXk+nj
突然だが、最近経験している問題2つについて誰かアドバイスがあったら教えてほしい

一つ目は、sprite_addとsprite_deleteを1ステップ間隔くらいで頻繁に行うとメモリ使用量が16kから48kほど増えていく問題。
sprite_add中のpreloadはfalseにしてある。

それと、突然iやjといった変数が機能しなくなる問題。
例えばfor(i=0; i<instance_count; i+=1){...}の...の部分で1行ごとにshow_message(string(i))でiの値を確認すると、
ある行で突然変な値になる
使ってるスクリプトの中にiという変数を用いたループを使っていないことも確認した

誰か同じ経験している奴がいるだろうか?

142:名前は開発中のものです。
09/07/01 04:11:05 93GVivtH
>sprite_addとsprite_deleteを1ステップ間隔くらいで頻繁に行う
そもそもそのスプライトの作成と削除を毎ステップ行うっていうデザイン自体がよくないんじゃないだろうか。
helpにも、スプライトの作成はメモリを食うってあるし。
何をしているのか知らないけど、別のアプローチはないの?

>i,j
そのスクリプトを呼び出しているインスタンスか何かがそのiとか持ってるんじゃないか?
有効範囲をスクリプト内だけに留めておきたいのならvarを使うといい。

143:名前は開発中のものです。
09/07/01 04:23:22 93GVivtH
っと、毎ステップじゃなかったか。
でもどっちにしろ、何か別のアプローチがあると思う。
それと、呼び出し元がiとかの変数を持っていなかったとしても、
varを使えば解消すると思う。

144:名前は開発中のものです。
09/07/01 18:32:23 wsmIF7l0
GM5.3使ってんの俺だけかな~?
一番安定してるしなあ~

145:名前は開発中のものです。
09/07/02 03:01:27 hsioop3K
>>142
enterキーを押す → 必要なスプライトをロード → メニューを表示
escapeキーを押す → ロードしたスプライトをデリート → メニューを閉じる
という操作をしてる
だからenterとescapeを連続で押せば、最速1ステップ間隔でスプライトのロード・消去を行うことになる…って感じ
外部読み込みにした理由は、メニューに使う大量のスプライトを常にメモリに入れておきたくないから

別のアプローチとしては、メニューウインドウそのものではなくウインドウの枠のパーツのみメモリに入れておくとか?
それで、色んな大きさのウインドウはそのパーツから構成する、みたいな
するとあまり凝ったデザインが出来ないのが問題か…

varも常に駆使してる
i, jの件については、具体的な例が出てきたらまた書き込んでみるよ
ありがとう

146:名前は開発中のものです。
09/07/02 04:40:24 nsbUExRL
>>145
常にメモリに入れておきたくないってのはわかる。
でも、Helpにも「基本的にゲームプレイ中にリソースの変更はしない方がいい」って書いてあるし、
特に頻繁に使うものなんかは、ゲーム中に作成&削除をしない方がいいと思う。
逆に、頻繁に呼び出すことがあるものを毎回外部からロードする、と考えると、
それこそ効率が悪いのではと思えてくるんだけどな。
確かにメモリは使うけど、その為のメモリだと思ってるから。

そんなわけで、リソースの作成や削除は基本的にルーム移動時に殆ど済ませるようにしているし、
ゲーム中でも、本当に必要なくなったものは削除するけど、
すぐに呼び出す可能性があるものは、出来るだけメモリに入れるようにしてる。
まぁリソースの簡略化(枠のパーツ化とか)もしているけど。

147:名前は開発中のものです。
09/07/02 07:41:53 hsioop3K
>確かにメモリは使うけど、その為のメモリだと思ってるから。
なるほど、納得
メモリ使用率は少ない方がいい、とばかり思っていたが
そういう理由なら無難にメモリに突っ込んでおいた方がいいかもしれない
外部読み込みの方が起動も早いかと思ってたけど、コンパイルが長いからあんまり変わらないしな

あとはやはりリソースの簡略化か、ふむふむ
ありがとう参考になった

148:名前は開発中のものです。
09/07/02 23:19:30 HJ1haqOL
スプライトを「曲げる」にはどうすればいいのでしょう?
デフォームで検索すればサンプルが見つかるかも、と思いましたがそうはいきませんでした!
d3dで丸いモデルにテクスチャをはっつければ曲がるかな、と思いましたがプリミティブ関連の記述がさっぱりわかりません。
何かいい方法ないでしょうか?

149:名前は開発中のものです。
09/07/03 00:15:04 MOGY37Zl
念力

150:名前は開発中のものです。
09/07/03 00:25:09 EJjOUzB4
3Dで考えてるのなら、
d3d_draw_cylinder()
d3d_draw_cone()
d3d_draw_ellipsoid()
あたりを使ってみれば。

151:名前は開発中のものです。
09/07/03 00:27:05 4SHxhWQ7
1ラインずつずらしたり伸縮させたりしながら描画するなんて手法が昔あってのう
まあ、今ならプリミティブでいいんじゃない?GM6以降なら2Dでそのまま使えるよ

152:名前は開発中のものです。
09/07/04 14:01:13 wARlrEyP
>>126さん感謝です!has codeが出て、ルームの移動が出来ました!!
あとこれだけ聞きたいのですが、今ボスを作成中なのですが、
以下のようにするにはどうすればいいのでしょうか?
・スプライトを上下に移動させたい
・何秒か毎に攻撃(レーザー光線)を放射させたい
・何発か攻撃するとスプライトが消えるようにしたい

153:名前は開発中のものです。
09/07/05 14:16:51 8ABSewN9
ちょっとお聞きしたいのですが、
3体存在するボスのオブジェクトが全て消えたとき、
最終ステージへの門が開く、というようにしたいのです。
つまり、「複数のオブジェクトが消えたとき、ある特定の場所へワープさせる」
ということをしたいのですが、どうすれば良いのでしょうか?

154:名前は開発中のものです。
09/07/05 14:18:54 8ABSewN9
すいません、sageて無かったですwwww

155:名前は開発中のものです。
09/07/05 14:20:18 8ABSewN9
今度こそsage
何度もすいませんwwwwww

156:名前は開発中のものです。
09/07/05 14:21:11 8ABSewN9
なんかsageって打ってもならない件

157:名前は開発中のものです。
09/07/05 22:01:32 Xh6km2on
マルチ止めれ

158:名前は開発中のものです。
09/07/06 15:23:33 iriqlFx7
>>153
URLリンク(www.nicovideo.jp)

159:名前は開発中のものです。
09/07/06 20:23:23 agP5gMex
非公式情報サイト、早く復旧してほしいな……。

160:名前は開発中のものです。
09/07/06 23:04:37 pu2JgBqG
8のbeta公開されてますぜ。

161:名前は開発中のものです。
09/07/07 07:28:04 HWuU6Za6
mbtextで使用できる日本語文字、第二水準まで拡張されないかな……
テキストの多いゲームを作ろうとすると、どうしても第二水準の漢字にぶち当たってしまう
今のところ必要な文字は手で挿して使ってるけどさすがに大変なんだよな……

162:名前は開発中のものです。
09/07/07 22:59:54 Mfs4614r
古文か厨ノベルでもない限り、第二水準なんて使わないだろ

163:名前は開発中のものです。
09/07/08 01:25:14 OPujPKaU
いや、そうでもない。
例えば登場人物の名前とか。

164:名前は開発中のものです。
09/07/08 01:26:11 g9VlwgPm
そもそも政治圧力に屈して会見で堂々と違法と監督責任認めてる鳩山を逮捕しない検察もクズなんだが
スレリンク(newsplus板:-100番)
↑秘書の犯行も自分の責任を認めてるのに
警察に出頭しないで罰金も納めずに済ますのは絶対おかしい!!

犯罪者鳩山由紀夫を諭して
自首を呼びかけましょう
民主党URLリンク(form.dpj.or.jp)
検察URLリンク(www.kensatsu.go.jp)
法務省URLリンク(www.moj.go.jp)


165:名前は開発中のものです。
09/07/08 01:44:36 OPujPKaU
以下カレーにするー

まぁ自分以外にも第二水準で四苦八苦している人がいるということは、
少しは需要があると思うんだ。
スクリプトの方は少し弄れば処理できるようになる。
勿論第二水準が必要ない人もいるので、
もしよければ、jFontMakerに第二水準のON/OFFの機能を追加してほしい。

166:名前は開発中のものです。
09/07/08 03:00:56 7bwe3GjO
緻密、彷彿、揶揄とかそのくらいの単語でも第二水準だからな。
テキストを書いてみると、案外文字化けが多いことに気づく。

でもサブイメージの数が2倍以上になるからな…ON/OFFも含めて追加されれば嬉しい。
オープンソースであれば、描画する文字コードの範囲の拡張くらいは出来るかもしれないが…

167:名前は開発中のものです。
09/07/08 06:52:41 xLCuvTpV
いや、普通に第2水準は、使うだろ。
第1水準だけとか言ってる奴、どんだけゆとりの低学歴なんだよw
頭悪いにも程がある。

168:名前は開発中のものです。
09/07/08 10:30:14 Ca6Hf7Pr
GMJの移転日程が出てた。7月下旬だそうだ。

169:名前は開発中のものです。
09/07/08 19:10:29 k41sOO30
手榴弾の「榴」が第二水準なだけでもいろいろ苦労してるから、第二水準対応はあると大変ありがたい。
ひらがなとカタカナだけで満足な人からしたら不愉快だろうけど、やっぱり漢字使いたいんだよね。

170:名前は開発中のものです。
09/07/09 08:03:27 D9tzZRHz
なんだ、俺以外にも第二水準の問題持ってる人いたんだな……
GMJの移転作業とかで忙しいだろうし、いつか対応されれば感涙ものくらいの気持ちでいよう

171:名前は開発中のものです。
09/07/09 08:56:14 VDbgfUAG
第二水準対応はまさに悲願だよね。
あと、別のプラグインだけどMIDIをまともにループさせられるのが出てきてくれたらなぁ。
MP3やOGGのBGM素材はちと大仰過ぎるのが多いし、そもそもあんまりまとまった数が手に入らない・・・
(個人的にはピストンコラージュが使えるプラグインが登場しても面白いと思うけどまずMIDIだ)

172:名前は開発中のものです。
09/07/09 11:09:44 yobaDOg1
>>150,151 ありがとうございます。

すいません、少しややこしい質問になるのですが、d3dの効果を特定のオブジェクトだけに適用するにはどうすればいいのでしょうか?
たとえばdraw_set_blend_modeなら_bm_addで始めてbm_normalで閉じれば内側のスプライトは加算合成になりますよね?
これと同じ具合に、d3d_set_projectionを使って、視点を動かすと重ねたスプライトがずれるような動きをしたいのですが、これって無理ですか?
解り辛い質問で申し訳ありません、突っ込んでいただければ、できるかぎり補足します!お願いします!

173:よこしま
09/07/09 22:53:50 tDSIyShL
ご要望が多かったので、第二水準追加版のjFontMakerとmbtext scriptsを作りました。
URLリンク(gamemaker.main.jp)

※全角スプライトのサブイメージ数が22→40に増えたので、
メモリ使用量がその分増えます。

追加した文字の参考表:
URLリンク(www.page.sannet.ne.jp)

174:名前は開発中のものです。
09/07/09 23:44:41 VDbgfUAG
>>173
きたぁぁぁぁ!
本当に本当にありがとうございます、早速使わせていただきます!

175:名前は開発中のものです。
09/07/10 00:27:43 wxEAQxJK
まあいまどきのPCならそれくらい余裕でしょ

176:名前は開発中のものです。
09/07/10 03:40:01 QgBn60lh
>>173
まじかよぉぉぉぉぉぉぉ!!!!
本当にありがとうございます、感謝してもしきれないです。
今同人ゲームを作っていて、漢字の問題に悩んでいたところなので……

お礼になるかはわからないが、日本GMユーザーの励みになるようきっと頒布まで持っていってみせる!


177:名前は開発中のものです。
09/07/10 20:04:36 H7MFUHPJ
>>153のものですが、
別々のルームに存在するボスが3体消えたときに、
特定のルームへワープさせる、ということをしたいのですが、どうすれば良いのでしょうか?

簡単にいえば、i wanna be the fangameで例えるとのラストへ行く前のリフトは、3体のボスを倒すと現れる。
という感じにしたいわけです。

178:名前は開発中のものです。
09/07/11 08:40:47 KnOrr9uV
>>177
グローバル変数使えばいいんじゃないの?

179:名前は開発中のものです。
09/07/12 04:39:23 RLThpjAH
>>173
凄い!

180:名前は開発中のものです。
09/07/12 11:23:32 opcvOITm
ところで、出来た文字スプライトはPreload_textureをオンにした方がいいと思うんだけど
これをオンにしとかないとCPUの負荷がものすごいことになる

181:名前は開発中のものです。
09/07/14 03:55:40 8XVe7npV
αチャンネルに対応してないのかー、と思ったけど
背景黒にしたフォントを加算で描画すればほぼ事足りることに気づいた

182:名前は開発中のものです。
09/07/14 16:06:00 CU0jQ04K
ニコニコアクションを作っているものです。
GM6.1Aでゲームを作成しているのですが、
キャラのモーションなどを描画する際、パーツの角度や
位置などの情報を大量の配列で扱っています。
(どういうものかは動画とかを見ていただけると分かりやすいかと)

「変数の宣言できる量などの上限などはスペック依存なのか、
 あるいは仕様として上限が決まっているのか・・・。」

ヘルプを見たところ特に記述が無かったのでどうなのか知りたいです。
見落としでしたら申し訳ないです。

>>177
他の方も言っている通り、グローバル変数を使うのが簡単だと思います。
global.boss[0] = true;
global.boss[1] = true;
global.boss[2] = true;
とでもしておいてボスを倒したら各々ボスに対応した変数をfalseにして、
3つのグローバル変数がfalseになったら移動すればよいと思います。

183:名前は開発中のものです。
09/07/14 16:17:45 VeW5i252
変数はわからないけど、配列は上限があるみたい。
各配列のインデックスの上限は32,000まで、
全配列のインデックスの総数は1,000,000まで。

原文:The system puts a limit of 32000 on each index and 1,000,000 on the total size.

変数は多分、上限はスペック依存かもねぇ。
ただ、一度にそれだけの変数を使う場面ってあんまりないのでは?
ローカル変数で処理しておけば、
インスタンスが存在するときだけメモリが消費されるわけで。
(インスタンスが破棄されれば、そのインスタンスに使っていたローカル変数のメモリも開放されるはず)

184:182
09/07/14 17:57:23 vUQ3woyL
回答ありがとうございした。
配列の項目に書いてありましたか・・・すいませんでした。

インデックスは上限が決まっているけど
配列の数そのものはスペック依存な感じですかね。
でも出来るかぎり少なく作らないといろいろ問題もでるので気をつけようと思います。

一応現在もローカル変数で作っているのですが、
今後も出来るかぎりメモリの浪費を抑える努力をしようと思います。

185:名前は開発中のものです。
09/07/14 21:09:17 xN5w2kOc
画面にポーズをかけて全てのオブジェクトの動きや変数の増減をその間ストップさせたいのですがそのようなことは可能でしょうか。

186:名前は開発中のものです。
09/07/14 21:38:37 vUQ3woyL
負荷的にどうなのかはわかりませんが
自分は特定ボタンを押すまでwhileループさせて
その中にscreen_redrawを入れてます

この方法だとポーズ中×を押しても
終わらなかったりするので
他に良い方法があればそちらの方が良いと思います

187:名前は開発中のものです。
09/07/15 01:16:16 x7myA04T
一番お手軽なのはshow_message("ポーズしたよ");

サンプルに付いてくる隕石ゲームではkeyboard_waitを使ってるな。
これをループで回してキーチェックを入れれば
簡単なポーズメニューくらいは実装できる。

他には、画面のスクリーンショットをとって背景に設定してから
他のオブジェクトをdeactivateする手法がよく使われるかな。

188:名前は開発中のものです。
09/07/16 18:14:35 VZjdHqja
>>177
親切にもサンプル作ってもらって、「なんのこっちゃ、全て分からん」
その後、サンプルその2作ってもらって「分からんから俺の作ったのを改造してよ」
DQNもいい加減にしろ。sageてなかったり、忠告してくれた人に
「自分で学習できないようじゃ、って言われてもね~。」だの酷すぎる
一度生まれ変われ

189:名前は開発中のものです。
09/07/16 18:21:31 /ens9lwf
親切に教えてもらっても感謝の一言もないとかね

190:名前は開発中のものです。
09/07/16 18:28:39 vL2/o72f
自分の力を育てなかった結果いつか損するのは
彼自身なんだし暖かく見殺せばいいんじゃないですかね

191:名前は開発中のものです。
09/07/16 19:52:16 7TZC2gMD
どうせそんな奴、誰にも相手にされずに朽ちていくさ

192:名前は開発中のものです。
09/07/16 21:54:41 gO8rBliL
前にもいたなぁ。変わりに作ってくれとか言ってたやつ。

RPGツクールの売りはRPGを自分で作る楽しさ。
だったらGMの売りはゲームを自分で作る楽しさ。
何かを作る時には、どう作ればいいかという試行錯誤が必要なわけで、
逆に言えば、その悩む工程無しに物は作れない。
自分の頭を使えず、他人に任せ、作ることを楽しめない人には何も作れない。

193:名前は開発中のものです。
09/07/16 22:29:37 MpWxoNZ2
アイワナ好きがワナビー君。自己愛の強いやつってわけだw

194:名前は開発中のものです。
09/07/17 01:13:50 hU1Bxe0M
GM8感想
・アルファチャンネルネイティブサポートなんで透過PNG使うのがラク。超綺麗。
・イメージエディタも↑対応。
・ビルドが若干早くなってる。
・スクリプトも若干記述が簡易になったものが。
・トリガーイベントが地味に便利っぽい。

全体としてはマイナーチェンジの印象が拭えないけど、各所で地味に作りやすくなってるのは確か。
特に問題がなければ推奨かも。個人的にはアルファチャンネルサポートが一番嬉しい。

195:名前は開発中のものです。
09/07/17 06:59:35 8JCsTQOd
sprite_set_bboxが無くなっているという話を聞いたが
そこらへんはどんな感じだろう

196:名前は開発中のものです。
09/07/17 13:24:51 FXJQqITE
Collisionイベントを使って特定のオブジェクトに衝突判定させたときは、
「衝突したその種類のすべてのインスタンス」に処理が行われますが、
collision関数を使って同じように行うにはどうすればよいでしょうか。
イベントではなく関数を使うのは、キャラの攻撃判定を
プレイヤーが任意に設定できるようにするためなので、
あらかじめ攻撃判定の大きさのマスクを用意するわけにもいかないのです。

現在は
var col;
col = collision_line(~,~,obj~);
with(col){・・・処理・・・};

で行っているのですが、これだと「衝突したうち一つのインスタンス」
しか衝突判定が行われません。
アクションゲームなどで重なった敵を攻撃する際に
非常にストレスになるらしく、出来れば改善したいところです・・・。

197:名前は開発中のものです。
09/07/17 14:49:28 Ys5x6wol
ご指摘の通り、collisionチェック系の関数だとか、
instance_place()で得られるインスタンスって一つしかないんだよね。
なので、一つ得られたらそれを deactive にして、さらに判定して、、、ということをすればいいのでは?
と思ってやってみたら出来た。

URLリンク(gmdev.xrea.jp)

コリジョンイベントは使わず、collision_circle()をつかった手抜きサンプル。
デバッグモードでメッセージウィンドウを見れば、
同じステップの時点で当たり判定が行われているのがわかると思う。

198:名前は開発中のものです。
09/07/17 15:31:03 Mf35okkz
こんな早く回答がいただけるとは・・・
さらには解説付のサンプルまで・・・
本当にありがとうございました。

なるほど・・・判定をループさせるのは考えてはいたんですが、
一時変数で判定したオブジェクトを記録することは思いつきませんでした。
今思えば当然といえば当然ですけどコロンブスのなんとやらですねぇ。

ということはコリジョンイベントの際にも裏でこういう処理をしているんだろうか・・・?
何はともあれこれで要求を満たせそうです。ありがとうございました。

199:名前は開発中のものです。
09/07/17 19:06:30 sccaG/w+
>>196
プレイヤーが任意に設定したい攻撃判定の数だけダミーの不可視のオブジェクト作って、
これのx,y座標をプレイヤーキャラのx,yに同期して、
何かのインスタンスに当たったら、これの衝突情報を、プレイヤーキャラのインスタンス側で参照するとかは?

200:名前は開発中のものです。
09/07/18 00:20:17 lmxBXlGJ
>>196
発想を逆にして
with (obj) {
if (collision_line(other.x, other.y, .., id, ...)) { 処理 }
}
みたいにする方法もある。withの中ではselfとotherが逆転するのに注意だけど

201:名前は開発中のものです。
09/07/18 16:01:59 HY50PxeX
回答ありがとうございます。

>>199
んおお・・?
攻撃判定用のオブジェクトを先に作っておいて
プレイヤと同期させて、プレイヤーと目標物が当たったら
攻撃判定用のオブジェクトと目標物でコリジョンイベントを行うような感じです・・・かね?

>>200
なるほど。シンプルですね。
欠点としてはcollision_~関数を実行するインスタンスが
場合によっては大量になる点でしょうか。

202:名前は開発中のものです。
09/07/20 09:08:57 s1CnwUHQ
ちょっと質問いいですか?
スプライトのアニメの制御で、OtherイベントのAnimationEndとImage_Indexをif構文で制御する以外の方法ってありますか?
if構文で制御すると安定しないんです。
(インスタンスの移動スピードが速いと判定をすり抜けてしまうようような感じ)

キャラクターの向きや状態ごとに新規のオブジェクトとスプライトを設定してそこで制御すると安定するんだけど、
ソースがややこしくなってしまいました。
(雛形のオブジェクトを親、新規の空オブジェクトを子にして、スプライトやパラメーターで個性を出すと言うことが出来なくなってしまった)


203:名前は開発中のものです。
09/07/20 10:25:28 S0Bac2pO
if文で出来ないことなんてないと思うけど・・・。ifの条件文を見直してみたら?

確かに、image_speed に小数点以下の値を設定していて、かつ、条件を == (等しい) でやっていると
すり抜ける場合があるんで(丸め誤差による)、
>= (以上) とか、 <= (以下) で比較してみるとよいかも。

204:名前は開発中のものです。
09/07/20 23:39:21 s1CnwUHQ
さんきゅです。

動作ごとにオブジェクトに分けて(親にデフォルト移動のオブジェクト)、
向きごとに空オブジェクト(スプライトはそれぞれの向きで親は元の向き)で設定完了しちゃったあとなんで
確認使用がありません。

うーん、マウスイベントに変なの仕込んじゃったかなぁ・・・。
マウスホイールの動作中にSTEPイベントが無視されてる気がしたんですよ。

205:名前は開発中のものです。
09/07/23 11:11:26 siugnnVT
このスレに書き込んでる奴って、どっかでゲーム公開してたりすんの?
そういうまとめサイトがあればGMユーザーの存在感も増すだろうけど

206:名前は開発中のものです。
09/07/23 12:27:13 9sYuv18d
俺はまだ製作中で公開に至ってない。
あと、まとめよりは日本語フォーラムが欲しい。

207:名前は開発中のものです。
09/07/23 15:10:50 CphK7ga9
フォーラムだと排他的になるぜ
目的が存在感アップなら向かない

208:名前は開発中のものです。
09/07/23 15:18:28 MsF2cp7s
似たような話が前出てたな
確かに日本での皆で公開する場所ができれば嬉しいかも

209:名前は開発中のものです。
09/07/23 17:12:53 4NdzeTGq
双葉のID板で、途中のやつを公開してみたけど。そのくらいかなぁ。
ゲーム開発自体は初心者だし。

210:名前は開発中のものです。
09/07/23 21:49:01 9sYuv18d
GMユーザーの活動を広報したいのか、GMユーザーの裾野を広げたいのか。

211:名前は開発中のものです。
09/07/24 00:54:57 4oRtOW6p
そんな細かく目的を分ける必要ないだろ・・・

212:名前は開発中のものです。
09/07/24 01:28:06 VftsPVOX
ま、やりたい奴がやりゃそれでいいんじゃね?
俺は別にGMでドーコーってのは無くて普通に公開するけど。

213:名前は開発中のものです。
09/07/24 17:31:08 JepbGxNy
俺も普通に公開するかな
まだ体験版にすら至ってないが…

214:名前は開発中のものです。
09/07/24 20:36:34 rsS/wSle
ここがもうちょっとにぎわってからだね

215:名前は開発中のものです。
09/07/24 22:42:14 p6tGynQg
昔作りかけで飽きて投げたのを久しぶりにやったら面白かったんで、大規模に改良したのを作ってみてる。
ところで、国内でTDS(TopDownShooter,真上から見た視点のFPSみたいなの)作ってる人っているのだろうか?
公式フォーラムではアメリカや西欧だけでなく東欧や南米の人も作ってるみたいだけど、日本で作ってる人はいるかな。

216:名前は開発中のものです。
09/07/26 17:08:53 HUXpWVlV
みんなどういうもの作ってるのかというのは気になるね。
マイナージャンルで仲間見つけたら嬉しいってのもあるだろうし
他人のを見て色々と勉強になることもあるだろうし。

217:名前は開発中のものです。
09/07/26 23:11:50 wjKvaZZx
これ課金したらGMで作ったとわからなくなるの?
Cとか出来ないからGM6で結構時間かけてゲーム作ってるんだけど
いざ配布するとかなるとGMで作ったってのは何か恥ずかしい

218:名前は開発中のものです。
09/07/26 23:24:05 MBQlOFLN
なにが恥ずかしいのかワケワカメ
そんな恥ずかしいならCの勉強でもすれば

219:名前は開発中のものです。
09/07/26 23:39:44 svPTsVsB
どんなツール使おうが名作は名作、駄作は駄作。

220:名前は開発中のものです。
09/07/27 01:24:39 GXQZBDGy
Cで基礎から必死こいて作ったショボいゲームと、GMで基礎に手間がかからない分他に手を掛ける余裕があったゲームなら当然後者のほうがいいに決まってる。
ただ、ファイルサイズを小さくしたりファミコン風音源を使おうってのなら不利かもしれない。

221:名前は開発中のものです。
09/07/27 01:46:39 pfTBKVpb
C++でRPG作って、そのマップエディタをGMで作ってる俺のようなのも居る

222:名前は開発中のものです。
09/07/27 08:58:58 NneejjYT
>>217
わからんでもないが、ライセンス書かなくも音割れバグとかで簡単にバレるよ

223:名前は開発中のものです。
09/07/27 10:02:43 X0yauOKd
俺も>>220に同意
まず基礎が出来てる状態でゲーム作りを学んで、余裕が出来たり不足を感じたら
C++なりなんなりに移行しようと思ってる
pro版でextensionとか使えば大体の用は足りるしな
日本語描画もよこしまさんのスクリプトで補完されたし

224:名前は開発中のものです。
09/07/28 07:48:38 BtFahcpx
最初のロード画面をなんとかできないかな
非表示じゃ味気ないからバーじゃなくてgifアニメ表示できるとか

225:名前は開発中のものです。
09/07/29 17:01:01 vVv3xV/u
ゲーム中マウスでMSペイントみたいに自由に線をかくことはできますか?
あとその線を辿るようにオブジェクトを動かしたりすることはできるでしょうか?

226:名前は開発中のものです。
09/07/29 17:35:46 5nVguQsg
グローバル変数の値のみを保存する方法ってありますか?
gamemakerのセーブを使うと丸ごと保存してしまうので・・・

227:名前は開発中のものです。
09/07/29 20:31:01 p52lIH/W
ファイルに書き出す

228:名前は開発中のものです。
09/07/29 21:01:59 /KofeTr0
>>225
自由に線を描くのは面倒。特に曲線となるとね。
ステップイベントで、マウスの左クリックが押されているときのルーム座標を配列で記録する、ということをして、
ドローイベントで、配列に入れた座標をたどるように直線を描く、ということをする。
MSペイントのような直線の描画の仕方をしたければ、
最初にクリックした座標を記録し、次にドラッグして離した座標を記録して、
その2点間を直線で描くようにする。

このあたりに必要な変数や関数は、
mouse_x mouse_y draw_line()
あたりか。あとは、配列(array)についての知識が必要だ。

つぎに、線を辿るようオブジェクトを制御したければ、
記録した座標を元に、move_towards_point()を実行してやればよいかと。
Pro版であれば、ゲーム実行中にもPathリソースを作ることが可能なので、
これを利用しても出来るはず。(調整とか難しそうだけど)
必要な関数は、helpの Changing Resource にある Path の項目にある。

これらを駆使すれば可能。結構むずかしめの内容だから、それ相応の知識と経験が必要。

229:名前は開発中のものです。
09/07/29 23:05:51 drifYlMd
>>226
iniファイルに書き出すのが一番簡単かな
プレイヤー簡単に書き換えられちゃうけど

230:名前は開発中のものです。
09/07/29 23:23:03 5nVguQsg
>>229
できれば詳しく教えていただけませんか?
まとめwikiにもそれらしいのが見つからなかったです・・・

231:名前は開発中のものです。
09/07/30 00:05:05 3O7J4K1+
>>230
日本語版ヘルプの「ファイル、レジストリの操作、プログラムの実行」の中の「INIファイル」を参照

232:名前は開発中のものです。
09/07/30 00:10:55 J2rqCKCO
>>231
ありがとうございます!
じっくり読んで出直してきます

233:名前は開発中のものです。
09/07/30 00:27:39 nNQ8sNDh
I wanna be the englineをもとにして作ろうとしているのですが、
trigger01に触れたら、上方向のトゲが飛び、
trigger02に触れたら、別の右方向のトゲが飛ぶ
このようにしたいのですが、trigger01に触れると上方向のトゲは飛ぶのですが、trigger02に触れても右方向のトゲが飛びません。
また、先にtrigger02に触れると逆のパターンになります。

上方向のトゲのイベント
Create:Execute a piece of code depth=1000002;
step:Execute a piece of code
if (vspeed==0) {
if (trigger01.triggered) {
vspeed=-8;
}
}
else {
}

Outside Room:Execute a piece of code instance_destroy();

右方向のトゲのイベント
Create:Execute a piece of code depth=1000002;
step:Execute a piece of code
if (hspeed==0) {
if (trigger02.triggered) {
hspeed=-7;
}
}
else {
Outside Room:Execute a piece of code instance_destroy();

trigger01のDepth:1000002 trigger02のDepth:1000002
たすけてください。お願いします。

234:名前は開発中のものです。
09/07/30 00:29:33 nNQ8sNDh
sageるの忘れていました。すいません。

235:名前は開発中のものです。
09/07/30 00:38:50 kAinn6XT
右方向ならhspeedはマイナスの値でなくプラスの値なんでないの?
hspeed=7
に変えてみ。

236:名前は開発中のものです。
09/07/30 00:40:18 nNQ8sNDh
あ、すいません。左方向でした。

ご指摘ありがとうございます。

237:名前は開発中のものです。
09/07/30 00:57:04 kAinn6XT
ああ、思い出した。これ、前に俺も嵌ったわ。
これはエンジン側のバグで、triggerParent の player との衝突イベントで、

with (instance_id) ...

ってあるけど、これを

with (object_index) ...

と直せば、トリガ別に反応するようになる。
…多分エンジン作者はこういう意図だったのではないかと思ってる。

238:名前は開発中のものです。
09/07/30 01:25:59 nNQ8sNDh
nNQ8sNDhです。
そうなんですか!エンジン側のバグだとは・・・
今はちょっとパソコンが使えないのでまたあとでやって見ます。
どうも親切に教えて頂きありがとうございました。

239:名前は開発中のものです。
09/08/01 00:00:40 W+p5V0Gb
>>229
txtファイルに書き出した後、ファイル暗号化のextensionを使う、とかどうだろう
俺も考えてはいるがまだ試してはない

240:名前は開発中のものです。
09/08/01 14:46:38 cciNANQN
ゲーム名変更ってどうやるのですか?

241:名前は開発中のものです。
09/08/05 15:11:10 b5+ghAk/
>>240
キャプションならルームの設定画面で変えられたはず
タスクバーに出る名前ならファイル名

242:名前は開発中のものです。
09/08/06 20:49:12 kaETpL1/
>>241
解決しました!ありがとうございます。



243:名前は開発中のものです。
09/08/08 11:10:52 ZmtbojIq
日本でGM製のゲームを販売した人とかいるのかね(prolite問わず)

244:名前は開発中のものです。
09/08/10 03:10:31 Td6rAmr8
prolite?
俺のモニタじゃないか

245:名前は開発中のものです。
09/08/10 08:05:12 +vzKASON
今年の冬に体験版頒布する予定
冬コミ受かればだけど…

246:名前は開発中のものです。
09/08/11 20:03:31 hxrL4l1F
数字の描画で3桁ごとにカンマをつけるみたいな関数はないのか

247:名前は開発中のものです。
09/08/11 21:13:40 +JCwviha
Youさくっと作っちゃいなよ
var i, s; s = string(argument0);
for (i = string_length(s) - 2; i > 1; i -= 3) s = string_insert(',', s, i);
return s;
みたいにさ。え、小数点?マイナス?何それおいしい?

248:名前は開発中のものです。
09/08/12 10:32:00 zJpdpp9d
>>247
おお、なるほど
さっそく使わせてもらいます

249:名前は開発中のものです。
09/08/13 19:29:05 n7BrVf28
コピペじゃなくて自分で考えながら打てよ

250:名前は開発中のものです。
09/08/14 15:03:45 QmqtuE6D
GM6.1Aを使用してます。
小さめのドット絵を使ったゲームで、
プレイするときには2倍に拡大して表示させたいのですが、
Scalingから200%を指定すると、補間がかかった状態で拡大されてしまいます。
個人的な好みではあるのですが、ドット絵は補間がかかっていないほうが好きなので、
補間をかけずに拡大する方法はあるのでしょうか?

251:名前は開発中のものです。
09/08/14 16:36:24 5GXcCdrT
Global Game Settings
>□ Interpolate colors between pixels
 ↑off

「ピクセル間の色を補間する」って意味。
これ試した?

252:名前は開発中のものです。
09/08/15 03:16:16 9d6KyXWa
試したんですが、どうやらそれは、
スプライトやタイルなどのの回転や縮小などを行った際に
潰れたピクセルの補間を行うかどうかのチェックのようで、
OffにしてScaleを200に設定しても補間がかかったままになってしまいます。

253:名前は開発中のものです。
09/08/15 12:37:05 ppqDPS8T
ラスタ画像だから拡大して読み込みしたら、そうなりそうな気がしないでもなかったけど
6持ってないから7で試した
7だと色の補間はデフォではされないな


254:名前は開発中のものです。
09/08/15 15:03:13 X/GGZr0+
素直に最初から2倍サイズで描くか、画面サイズだけ2倍にするか

255:名前は開発中のものです。
09/08/16 12:38:41 XtteL4+o
URLリンク(www.dotup.org)
pass:game
なんか作ってみました
不評なら無視してください


256:名前は開発中のものです。
09/08/16 13:07:24 KGsCaqBn
ReadMeすらなしで骨組みだけ見せられても何ともコメントしづらいが

動きはぬるぬる動く感じでいいと思う
デバッグ表示はルームの左上じゃなくて常に画面のどこかに表示できるようにしたほうがいい
動くカーソルの意味がよく分からない。赤い的にキャラが隠れたときにカーソルも同時に隠れるので

257:名前は開発中のものです。
09/08/16 13:21:32 XtteL4+o
動くカーソルはViewsのObject followingに設定してあります。

258:名前は開発中のものです。
09/08/16 14:23:23 XtteL4+o
何かアイデアとか書いてくれるとうれしいです

259:名前は開発中のものです。
09/08/16 20:40:04 rBixYuWx
構ってちゃんなら「不評なら無視してください」なんて書くなよ…
一切苦情や駄目出しするなってことだろ?

260:名前は開発中のものです。
09/08/17 09:29:59 ZujRoECo
話は変わるが、誰かGame Maker製ゲームのパッチの作り方知っている奴いる?
とりあえず目に入ったのは
URLリンク(gmc.yoyogames.com)
くらいだろうか。
これはパッチ作るというよりオートアップデータみたいだけど。

261:名前は開発中のものです。
09/08/17 09:57:19 ZujRoECo
連投すまん。
これとかも使えるのかな。
URLリンク(www.clickteam.com)

262:名前は開発中のものです。
09/08/17 11:13:12 Ueaog0aD
データベースが使えればなぁ
二次配列だけじゃちと大変

263:名前は開発中のものです。
09/08/17 11:56:20 Qgv3R6CG
>>260
説明文読む限り後者のほうが使い勝手がいいような気がする
試してないから分からないけど

ただ根本的にパッチは当てるバージョンの問題が出てくるので
ゲームみたいな頻繁に更新があるものは、実行ファイルとリソースを分けて配布して
更新の際に実行ファイルの新しい奴をそのまま出すほうが無難だと思う
GMはこのリソースを分けるって機能がすこぶる弱いのが難点ではあるけども

264:名前は開発中のものです。
09/08/18 13:56:57 9A1tpfH5
前から思ってたんだけどスプライトの当たり判定決める時の矩形ってRightとBottomがマイナス方向に1ドットずれてない?

265:名前は開発中のものです。
09/08/18 18:47:44 V95lH0QN
処理系にもよると思うけど、
DirectXとかWinAPIなんかだとRightとBottomは矩形範囲外になってるから
間違ってるとも言えないよ。

266:名前は開発中のものです。
09/08/18 19:20:34 XY3wfPj9
5.3Aで作ってたゲームがグラボ新しくした瞬間に全滅したよ……
グラボが古いDirectXに対応してなくて常時15fpsきるとかw

267:名前は開発中のものです。
09/08/19 00:09:19 8UMBNhvo
グラディウスみたいな地形横スクSTGってやっぱりroomをステージ分の長さにして予め地形をつくっておいて
横移動するオブジェクトをカメラで追うって形でつくるのかな
この方法だと速度が1未満だとガクガクしちゃうんだよなー

地形無しならroomを解像度と同じにしてタイムラインで敵を出すって方法でいいんだろうけど

268:名前は開発中のものです。
09/08/19 01:36:00 gfZ128LH
突然だが、GMのround関数は「銀行家の四捨五入」と呼ばれるちょっと特殊なもので
小数部がちょうど0.5の場合、近い方の偶数に丸められる。
たとえばround(1.5)=2だが、round(2.5)もやはり2となる。なので
10.0, 10.5, 11.0, 11.5, 12.0, 12.5, 13.0, ... といった数列をroundで丸めると
10, 10, 11, 12, 12, 12, 13, 14, 14, 14, ... という結果になる。

スプライトとかビューの座標も内部的にはroundで丸められるから
ちょうど0.5刻みで増やしていくとガタガタになるんだよね。
もしそれに当てはまるようだったら、自分でfloorで丸めてやれば滑らかになる。

269:名前は開発中のものです。
09/08/19 01:48:51 wXabhXLH
>>268
うお、そんなん知らなかった
なんか背景だけ変にガクガクすることがあったのはそのせいだったのか

試しに補間切ってみたら全体が恐ろしくガタガタになって笑ったw

270:名前は開発中のものです。
09/08/21 22:57:15 Q14mr33w
>>268
説明上手ね 勉強になるわ

271:名前は開発中のものです。
09/08/22 15:43:54 rmxnEHai
情報サイトが復活せずなかなか使う事ができません・・・
何か役に立つ参考書や代わりの基礎がわかるサイトとかないでしょうか?

272:名前は開発中のものです。
09/08/23 16:29:46 aoeKXHFm
英語ばっかりだもんなぁ

なんか最近ニコニコでもGM講座上げられてるっぽいよ
見た事は無いからどうとも言えないけど

273:名前は開発中のものです。
09/08/23 17:05:09 wXNv9n59
いちお、Gamemakerの書籍執筆してる。
ちゃんと出るか分からないけど。

GMJのチュートリアルや、
GM6日本語ヘルプ(これが一番参考になる)でこと足りる気がするけど、
サンプルベースで解説してるとこあんまない気がする。

書いてて、8になっても多言語化に
前向きじゃないとこが不安だなぁ。
仕方なく5.3Aベース。


274:名前は開発中のものです。
09/08/23 20:47:22 MlQYahV9
>>273
すげぇ…本出すのか
絶対買います

俺も日本語ヘルプに一番頼ってるなぁ
というかアレしか参考にしてない

275:名前は開発中のものです。
09/08/24 02:46:58 eI7HA7BS
>>272
あれすんごい役に立つよ。
インスタンスのID管理(with構文の解説とか)があれば完璧。

完全初心者の自分は、これとGM6の日本語ヘルプだけで何とかできるようになったよ。

276:名前は開発中のものです。
09/08/24 18:12:12 Xzm++a1G
ひとつのタイムラインで同種の複数のインスタンス(ザコ敵など)の動作を管理することは可能?
移動アクションはタイムライン通りに動作するんだけど
なぜか弾発射アクションがインスタンスの数の分繰り返されちゃう(発射タイミングも同調してる)

277:名前は開発中のものです。
09/08/25 18:54:59 rkoG69qV
事故解決しました
self、other、objectの選択ミスでした

278:名前は開発中のものです。
09/08/29 00:49:32 oZsv/vS3
情報サイト復活しないなあ・・・このまま閉鎖かなあ

279:名前は開発中のものです。
09/08/29 22:25:35 P1d63aqY
講座動画みて使い方はわかったんですがアニメーション機能って
GameMakerにはついてないですか?gif使えば解決はするんですが
どうもgifって色合いとかが好かないからbmpでやりたいと思ってたのですが


280:名前は開発中のものです。
09/08/29 23:35:54 Flg6LP3J
普通にbmpでも出来るだろ?

281:名前は開発中のものです。
09/08/30 01:45:45 j2Hdof3G
静止画をある一定の間隔で表示するだけでアニメになるんだよ、知ってた?

282:名無しさん@そうだ選挙に行こう
09/08/30 09:42:06 QbWxYMZ7
一つのスプライトに複数の画像を登録したら普通にアニメーションするよ
Sprite Editor上で add from file とかやってサブイメージを増やすようにすればよい

283:名無しさん@そうだ選挙に行こう
09/08/30 09:58:18 w2mc7ljU
ヘルプもまともに読めないようじゃ、絶対に作品は完成しないな

284:名無しさん@そうだ選挙に行こう
09/08/30 13:35:06 vWZLqWIv
>>282
ありがとうございます、試してみます

>>283
ヘルプにアニメーション表示させる方法って書いてました?

285:名無しさん@そうだ選挙に行こう
09/08/30 13:40:15 w2mc7ljU
>>284
余裕で書いてある

286:名無しさん@そうだ選挙に行こう
09/08/30 14:11:24 qWj+aYrC
>>283
大人げないぞ

287:名前は開発中のものです。
09/08/30 21:24:11 pRVo7FMi
レジストでのみ使えるアクションの簡単な解説などを載せているサイトや文書などはないでしょうか?

288:名前は開発中のものです。
09/08/30 21:28:25 CRpFUzJB
現在一番イイ文書がマニュアル

289:名前は開発中のものです。
09/08/30 21:42:53 vGUVZRLY
俺も日本語マニュアルに育てられてきた

290:名前は開発中のものです。
09/08/30 23:09:16 w2mc7ljU
6と7で微妙に違ってたりするね
パーティクル関係で、6の日本語マニュアルに書いてある関数定数がいくつか使えなかったりした。

291:名前は開発中のものです。
09/08/30 23:21:43 lQ/SzS0M
実は、6.0→6.1で仕様がかなり変更されたんだよね。
パーティクル関係も変更され、6.0と互換性がなくなった。
エフェクト(パーティクルの簡易版)の導入もこの頃だし。
正直、コンマ1以上の仕様変更が成されてると思う。

292:名前は開発中のものです。
09/08/31 00:00:32 9/zf57qv
あるインスタンスがあってそれにぶつかったら変数(仮にAとする)が1増えて、
ルームをリスタートしてもAが1のままにするのってどうやるの?教えてエロい人。
説明下手でごめん。

293:名前は開発中のものです。
09/08/31 00:15:27 xoC9a6jx
ルームのリスタートは、改めてそのルームに移動したのと同じと考えるべし。
そのルームに配置されているインスタンスは全て作り直されるので、それまでルーム内で変更されていたものはリセットされてしまう。
ということなので、そのルームに配置されているオブジェクト等で変数Aを変更していても無駄。
(ただし、persistent指定のオブジェクトならその限りにあらず)

つまるところ、グローバル変数を使用しろということ。
ルーム間をまたいで変数を保持したければ、グローバル変数を使うのが最も楽な方法だ。
ぶつかったときに、
global.A = 1
というようにしておけばよい。

294:名前は開発中のものです。
09/08/31 00:45:01 8wkxvCk1
Aの部屋で特定のもの触れたら 「global.testing」 加算1(set variableでapplication to は other)でそのあとにこのインスタンスを廃棄。
その状態でBの部屋にいくと「global.testing」が0よりも大きければ消えるブロック(step)は確かに消えてるが、リスタートしたら元に戻る。

ますます分からないです。


295:名前は開発中のものです。
09/08/31 02:18:53 Mg29Csoo
global.testing はそのほかで絶対にいじっていないか?
ルーム開始時に初期化していないか?(global.testingをクリエイトイベントとかでいじっているオブジェクトとかいたら注意)
とか確認するべし。

>リスタートしたら元に戻る
の「リスタート」がなにを指すのか不明確なんでわからないけど。
ブロックが消えた状態のルームBをリスタートするのか、
それともルームAで、触れた後リスタートして、触れずにルームBにいくのか、とか、
いろいろ考えられるのでよくわからん。

296:名前は開発中のものです。
09/08/31 13:04:25 8wkxvCk1
>>295 URLリンク(ux.getuploader.com) 試しに作ってみた。これ見て原因をつきとめてくれたら俺が喜ぶ。

297:名前は開発中のものです。
09/08/31 18:11:39 CPbVIc8V
>>296を見てみたが、本題に入る前にコメント。
global.testingが0より大きいかどうかのチェックは、
Stepイベント内ではなくCreateイベントがいいかと。
Stepイベント内に入れるということは毎ステップ確認するということ。
考えてみれば、別に毎ステップ確認する必要はない。
作った直後にglobal.testingを確認して、大きければ消す。
Stepイベントに入れていることが、ルーム移動後に一瞬ブロックが見える原因。

んで、本題と思われるglobal.testingについてだが、
Debugモードでglobal変数を見ながらRを押せば、testingが消えることが確認できる。
で、探してみて見つかったのが、ScriptのloadGameにてgame_restart()が使われているってこと。
>>292>>294での『リスタート』ってのはこのことだと思われるが、
これはゲームをリスタートしているのであって、ルームをリスタートしているんじゃない。
そこが、>>293>>295を混乱させてしまった問題点。
game_restartってのは、本当に最初からゲームを開始するということ。
『一度ゲームを終了して再起動する』『全部白紙の状態から始める』等と思えばいい。
リスタート前に設定したglobal変数? あるわけないわな。再起動したんだから。

解決策としては、game_restartじゃなくて、room_gotoを使うこと。
ゲームを再起動するのではなく、最初の部屋に行けばいい。

298:名前は開発中のものです。
09/08/31 18:25:47 CPbVIc8V
んー、混乱ってのは違うか。正しくは誤解だな。
まぁ自分が何をやっているのかをもう少し理解しましょう。

299:名前は開発中のものです。
09/08/31 19:02:36 wpAfIbhX
例のアイワナ改造のおしえて君でしょ。懲りないよなぁ。

300:名前は開発中のものです。
09/09/01 02:09:54 OPp9P9If
GM7でoldファイルを読み込んだ際読み取れないアクションや微妙に変更されてしまうアクションにはどんなものがあるでしょうか。

301:名前は開発中のものです。
09/09/01 15:11:41 xZ6TfPlm
アクションゲームで攻撃ヒット箇所にエフェクトを付けたいのですが
「剣(攻撃判定)が相手にヒットした箇所」はどのようにして認識させればいいのでしょう?

302:名前は開発中のものです。
09/09/01 22:22:13 e0ycJLaX
講座をみてブロック崩しの作り方はわかったのですが
GameMakerにはアクションゲームを作るのに重力のシステムは導入されていないのでしょうか?

303:名前は開発中のものです。
09/09/01 22:27:44 R+Ajue9X
されてるよ

304:名前は開発中のものです。
09/09/01 22:44:59 e0ycJLaX
>>303
どうもです、もう少し見直してみます

305:名前は開発中のものです。
09/09/01 23:09:39 AYrB2wjf
ヒント:hspeed vspeed gravity gravity_direction

306:名前は開発中のものです。
09/09/01 23:11:54 7XI/9lIO
>>302
「もしかして重力機能まではGMに標準装備されてないのかもしれないのぅ」
「いや、答えを教えてくれるほど親切ではないですよああいうスレの人たちは」

ふざけんな、初心者講座orヘルプ見りゃ分かるだろ
てか重力とか、かなり基本的な(しかも易しい)機能じゃねーか
自分が何も努力しないのを棚に上げて「親切でない」とはよく言ったもんだな
大体ちゃんと教えてくれる人もこのスレには沢山居る
296といい、もう少し失敗してでも、時間かけてもいいから
せめて何か作ってから(動かなくても)質問しろよ
丸投げを他人の所為にするな

307:名前は開発中のものです。
09/09/01 23:21:45 R+Ajue9X
まあそれでもスレが過疎るのよりはいいよ

308:名前は開発中のものです。
09/09/02 00:30:39 BwWKBUE+
まあ、どんな機能があるかもわからず、ちまちまマニュアルを頭から読めというのも酷な話かもねぇ。

ただ、付属のサンプルでどんなゲームが出来るかぐらいは見極めて欲しいものだ。
これから始める人は、GameMakerインストールフォルダ下のExamplesフォルダにあるサンプルを一通りプレイしてみよう。

309:名前は開発中のものです。
09/09/02 00:33:21 ZW4PKcTf
8使えなくなったんだけど正式版がアップされるわけでもなく…
あれ?これって…今まで作ったファイル…あれ?

310:名前は開発中のものです。
09/09/02 00:50:16 ZW4PKcTf
え…せっかくdslistとか使い方覚えたファイルが…pngしこたま使ったり…8専用のスプライトのデータも…
いつか正式8でるよね?ね?

311:名前は開発中のものです。
09/09/02 01:00:38 NmRgzIJ9
マニュアルをテキストに変換してアイポッドに突っ込んで
休み時間毎にじっくり読んでた高校時代を思い出すなぁ……
あの頃が一番楽しかった

312:名前は開発中のものです。
09/09/02 01:05:34 BwWKBUE+
>>309-310
インストールフォルダにあるヘルプをよく読んどくべき。
gm_readme.html より引用。
This is the SECOND beta version of Game Maker 8.0 that is only meant for testing. It will stop working at the end of August 2009.
(訳)これは、GameMaker8.0のセカンドベータ版で、テスト運用向けです。2009年の八月末に使えなくなります。

十中八九、バグ修正やら仕様の修正やら入るだろうから、互換性も正式バージョンともとられないだろうね。
なんというか、ベータ版で本気で作るのもどうかと思うけど。
パソコンの日付を変えてとりあえず起動して、作ったデータを出来るだけサルベージしておくようにするしかないと思う。
(リソースエクスポート機能で出力する.gmresファイルの互換性も怪しいから、画像はpngファイル、スクリプトはテキストファイルにするなりしておくこと)

313:名前は開発中のものです。
09/09/02 01:22:53 LETSGIOS
どこかの会社がライセンス買って正式に日本語版出してくれないかなー
アクツクにあれだけ期待感が持たれてたくらいなんだから、出せばそこそこ売れると思うんだよねー
アクツクなんかより、はるかに多機能だし安いし

314:名前は開発中のものです。
09/09/02 01:24:48 ZW4PKcTf
ありがてぇ!日にち変えただけで動いたよ!しっかり中身移しとくよ!
betaからbeta secondにデータ引き継げない時点で覚悟しとくべきだった…!

315:名前は開発中のものです。
09/09/02 03:29:29 T0hqEYdC
>>306
君はあのチャットにいた1人か
俺がなんで質問しなかったかわかるかい?

君みたいに実は知っててもしらばっくれてて叩くことしか
しない奴が現にいるからだ。

最初からそんな質問ふっかけてバカにされるよりは行き当たりばったり
やってたほうがマシだ、そもそも他所でのログ張り付けてまで人をバカ
にするかね、直接言いもしないで、まったくもっていやらしい

316:名前は開発中のものです。
09/09/02 03:45:26 T0hqEYdC
確かに初心者の質問にも親切に教えてくれる人はいるよ。
しかしそういった質問に不快を覚える人もいるんだ、現に君がそうだろう?

本当はいろいろスレで聞きたい事はあったさ。
でも不快に思う人が絶対いるから避けてただけだ。
それならばいっそ自力でやったほうがいいとね、
それなのに何なの君は、そういう嫌がらせして楽しいのかな?

317:名前は開発中のものです。
09/09/02 04:28:46 X3un+pIU
>>306は強ち間違ったことは言っていないと思う
重力なんてちょっと調べればすぐ分かるようなことを質問されても
「本当に自分で調べたのか?」と思いたくもなる
そのくらい自力で見つけられないのなら、君はこれから何百と質問しなければいけなくなるぞ
重力の有無なんて目じゃないほど難しいことばかりだからね
そして俺らはその質問全部に親切に答えていかなければいかないのかと思うと、ハァ…ってなるよそりゃ

318:名前は開発中のものです。
09/09/02 04:35:10 1Yx29Q5b
>>317
>質問全部に親切に答えていかなければいかないのかと思うと
回答者の自由意思じゃなかったっけ?

あと他人にとっては些細なくだらない質問だったとしても、質問者にとっては「とっかかり」の部分かもしれないじゃない。

調べろよクズみたいな言い方してほしくないな。

319:名前は開発中のものです。
09/09/02 04:37:20 1Yx29Q5b
根本的に俺の意見はズレている可能性はあります。

それはそれとして、重力設定=GMでの機能がどれかわからない

という単純な錯誤である可能性のs・・・まぁいいか。

320:名前は開発中のものです。
09/09/02 04:39:38 T0hqEYdC
>>317
だから俺は>>306とチャットで話してた時に「スレで質問してくれば?」と
言われたけど質問はしたくないと言ってたんだ。

初心者の質問など相手にされないし、もし教えてくれる人がいても
くだらない質問して迷惑かけたくないから、初心者スレとかなら別ですけどね

ちなみにこんな時間まで起きてるのもチャット出た後も延々と1人で作業
続けてるんすよ、自分は「ちょっと調べればすぐわかるような事」でも
人にとっちゃそのちょっと調べればすぐわかる事に何時間も費やす奴も
いるんす・・・

321:名前は開発中のものです。
09/09/02 06:38:55 9/SevXio
GMでゲーム作りたいってのなら、GMの使い方を『自分が』覚えなきゃいけないわけで。
そりゃ最初はわからんことだらけだろうけど、その為のマニュアルやサンプルなわけで。
自分で何かを創作するからには、最初は全然わからなくても最終的に自力で全てやりこなす気でないと無理。

>>119から抜粋。
ツクールと比べて自由度が高い分、何でも自己責任で作らなければいけない。
マニュアル読めないやつは、いきなり作りたいゲームから作ろうとするな。
まずチュートリアルに沿ってゲームを作るなり、Exampleを見ながらその通りに作ってみるなりしてGMに慣れるのが先だ。
自由に作るのは慣れてからにしろ。

そもそも「こういうことをしたいけど、どうすればいいのか」を追うんじゃなくて、
「GMで何が出来るのか」を覚えていけばいい。
扱える道具が増えていくと「こういうことをしたい。ならこれをこう使えばいい」という感じにすらすらと組める。
組めないのは、使える道具の数が少ないから。
やりたいことだけを追ってると、使える道具の数は増えない。
長い目で見ればいい。別に急がなくてもいいじゃん。
マニュアルあるんだし、いろいろ試せばいいじゃん。

322:名前は開発中のものです。
09/09/02 07:55:56 5QDrSqN7
ヒント:初心者≠ろくに調べもしない奴

323:名前は開発中のものです。
09/09/02 12:23:00 EtyLDNSU
何こいつきもい
てかニコ動の初心者講座くらい見ろ

324:名前は開発中のものです。
09/09/02 12:43:24 Cce9QmIE
質問することが悪いわけではないし、解答しないことが悪いわけでもないし
でも、質問するって事は他人の親切に甘えるって事だから、解答して貰えなくても
催促したり相手を貶しちゃいけないと思うんだ

きっと初心者が嫌いなわけでもなくろくに調べもしない奴が嫌いなわけでもなく
図々しい人が気に入らないだけなんだと思うよ

325:名前は開発中のものです。
09/09/02 14:29:46 T0hqEYdC
>>323
とっくに観てるよ、俺が怒ってるのは
ここではない別の場所で話してたログをわけがあって質問しなかっただけなのに
そのままここに張り付ける奴がいたってことに腹立ててるんだ

326:名前は開発中のものです。
09/09/02 15:18:11 Cce9QmIE
まー他所で起こったトラブルをココまで引っ張ってきて欲しくないわな
そこで解決してくれ

327:名前は開発中のものです。
09/09/02 15:22:32 EtyLDNSU
見たんならあんな質問は出てこないと思うがな

328:名前は開発中のものです。
09/09/02 17:22:48 dZJrWY4g
貼り付けられるような陰口紛いを書き込むなよ


329:名前は開発中のものです。
09/09/02 17:43:10 EtyLDNSU
取り敢えず、待て
まず教えてもらう人に「親切じゃない」って言ったお前が悪いだろ
そりゃ誰だって怒るわ
そんな奴に陰湿だの言われる筋合いは無い
自分の言動を鑑みろ
大体、段階的に説明してるサンプルすら読まないとか
あれほど良い教材はないぞ            てか、「重力ある?」→「あるよ」→「不親切な説明」
っておい、お前はハリセンボンかwww

330:名前は開発中のものです。
09/09/02 17:52:24 T0hqEYdC
陰口も何も事実だと思いますがね

「アクションゲームが作りたいのですがチュートリアルは今見れないし
 ヘルプと講座だけではよくわかりません、どうすればいいですか?」
って聞くとかどう考えてもおかしいでしょ。

まず人に聞く前に自分でまだやれるだけのことはやってそれでもわからなかったら質問する。
そんな少しわからないくらいで毎回バカげた質問ばっかりしたら教える方も嫌だろうし
教えてくれる人もいるとは思いますがそんな親切な人ばかりではない、空気を悪くしてしまう可能性がある
だから今は自分の力でなんとかする、とそう別の場所で話してたんですよ。

で、それを聞いてた人が結局その話題をこっちまで持ってきてこうなったんです

331:名前は開発中のものです。
09/09/02 17:56:27 T0hqEYdC
>>329
「重力ある?」→「あるよ」→「不親切な説明」
何て一言も言ってないですよ。
そもそもその別所で話をしてたのは質問する前の話題なんで。
「じゃあ面倒なことにならないように「はい/いいえ」ですむだけの
 最低限の質問だけしてみます」と話してて
「重力はあるか?」と聞いただけなのです


332:名前は開発中のものです。
09/09/02 18:02:18 T0hqEYdC
別所での話の流れ

GameMaker使ってみてるけどチュートリアル今見れないしヘルプと講座だけだと
ちょっとわかりにくい箇所があるなあ、と雑談

本スレで質問してみれば?

まだ自分でも調べつくしたわけじゃないしもう少し自力でやってみるよ。
あまり質問ばっかしてても印章悪いし毎回親切に教えてくれる人がいるわけでもないし

初心者スレとかはないのか?とりあえず質問してみては?

初心者スレはないようです、ではせめてヒントだけでも捕まるようにyesかnoで
すむ簡単な質問だけしてみます。

答えがもらえました、もう少し調べなおしてみようと思います(雑談終わり)


その後>>306に雑談していた内容のログの一部が張られた、というわけなんです

333:名前は開発中のものです。
09/09/02 18:05:32 Cce9QmIE
あーごめん、俺が冗談交じりに「されてるよ」とだけ解答したのも原因……なのか?
ちょっとだけ口や筆がすべっちゃうことはたまにあるさ
ちょっと落ち着こうぜ

334:名前は開発中のものです。
09/09/02 18:06:33 Cce9QmIE
ちなみに俺はそのチャットとか知らなかったんだ

335:名前は開発中のものです。
09/09/02 18:13:54 T0hqEYdC
>>333
いえ、その答えは望んでた答えなのです。
ちょうどそのとき重力機能を探したけど見つからない時で
「もしかして重力は自分でスクリプト組まないとダメなのかなあ」とか
思ってた時だったのです。

まあ普通の人ならば自己解決する質問を答えてくれない人=親切ではない
と別所で発言してたのは聞く人によっては誤解を招く発言かもしれませんが
自分は他の人が自力で解決する事は自分も自力で解決したほうがいいと思っています。
だからそんな質問しても普通は教えない、という意味で別所で発言していたのです。

こんな事になってしまいましたが自分は別所での問題を本スレにまで
持ち込む気はありませんでした、本当すいません

336:名前は開発中のものです。
09/09/02 20:55:23 ZW4PKcTf
海外フォーラムの「tutorials and examples」のとこから色々落としてみなよ。
横スクロールならplatformで検索すると参考になるものがたくさん出てくるぜ!
俺はニコ動対戦のエフェクトに感動してゲームメーカー始めたんだけど、調べまくった末に
エフェクトは「GCE3.1」に含まれてるものだ!って気付いたときには嬉しかったよ!サンプル見てれば使い方なんてすぐ覚えれるよ!

337:306
09/09/02 20:57:38 M3yV7oHH
>>320
俺別にあんたと話した覚えは無いんだけど
>>325
確かに貼り付けとか陰湿かもとは思った。ROM専なのも褒められたものじゃないとは思う
他スレの話をここに持ってくるのはどうかとは思う
ただこのスレの住人を「不親切」っていうのはどうか
お前がこんなこと言わなければ304で話は終わってたとは思わんか?
>>330,1
大体、陰口言われて(しかも事実とか言われて)好意的に教えたいと思うだろうか?
「これから教えてくれるかもしれない人」を敵に回したとは考えが及ばんか

てか「勉強した」って。何回も言われてるがExample内のサンプルゲーム見たか?
あれで分からないとか正直お前が(自分の満足する)ゲームを完成させるのは無理だ
ダラダラダラダラ言い訳してる暇があったら移動アクションあたりの機能を片っ端から使ってはどうか
重力が何かとかプラモ作るのに「Aランナーって何?」って聞くようなものだ
説明書(サンプルゲーム)を見れば子供でも分かるというのに・・・

338:名前は開発中のものです。
09/09/02 21:13:48 T0hqEYdC
>>337
あんたROMか、それはよかった、あの話してた人の中にアンタみたいなカスが
いなくて本当よかった、ここでの話題ならまだしも雑談チャットのログを
わざわざ張るんじゃねえよ何考えてんだ。

現に真実だろ?それともサンプルもなにもみないで手当たり次第質問
してみんながそれを子供に教えるみたいに1レス1レスつけることが
正しいと思ってるの?

こっちは最低限の質問だけして極力自力でやろうとしてたのに
アンタが人のログ勝手に張り付けて話デカくしてんだろ

339:名前は開発中のものです。
09/09/02 21:28:34 ZW4PKcTf
おいおい、話のミソが「質問の答え方」ならまだしも「ログ貼ったどうの」なんなら余所でやって!

340:名前は開発中のものです。
09/09/02 21:30:24 5iV83Toe
どっちも頭冷やせ。そして出て行け。
チャットでも何でもやって、そっちで話し合え。
質問云々より、こういうやり取りがいつまでもグダグダか続く方が迷惑。




341:名前は開発中のものです。
09/09/02 21:48:23 mAa/OU6S
>>336
ニコ動対戦ってな~に?

342:名前は開発中のものです。
09/09/02 21:53:41 ZW4PKcTf
タイトル超うろ覚えだったわ!ニコニコアクションゲーム だったわ!

343:名前は開発中のものです。
09/09/02 22:02:50 mAa/OU6S
おk
探してくる

344:名前は開発中のものです。
09/09/02 22:08:24 EtyLDNSU
急に態度でかくなったな
人のこと疑ったのを棚に上げてよくもまぁ
努力せず吠えるだけのお前はさしずめクソだな
一生人に噛み付いてろ

345:名前は開発中のものです。
09/09/02 22:15:04 M3yV7oHH
>サンプルもなにもみないで手当たり次第質問
してみんながそれを子供に教えるみたいに1レス1レスつけることが
正しいと思ってるの?

いや、俺はサンプル「見ろ」って言ってんだぜ?反対だろ
ちゃんと見れば1レス1レスつける手間が省ける。日本語大丈夫か?
大体キレるくらいなら無責任な陰口やめればどう?


346:名前は開発中のものです。
09/09/02 22:21:49 T0hqEYdC
>>345
お前こそチャットでは何も言えないくせに無関係な人巻き込んで
荒らすのやめろよ、マジでいい加減にしろ

347:名前は開発中のものです。
09/09/02 22:40:44 ZW4PKcTf
まあまあ、お互い「やめる」で意見一致してるんだから素直に喧嘩やめようぜ!新規君もログが見づらくなるぜ!な!ここで終りな!
ちなみに 

URLリンク(www.messy-mind.net)

ここのサンプルはすげー役立つ。特に「Advanced Seeking Missiles」はすごい!
ミサイルの軌跡はスプライトを重ねてるんじゃなくて一つのスプライトをポリゴンで伸ばして曲げて表現してるんだよ!
俺ずっとリアルに動く触手が作りたくて「こういうことできればなー」って思いつつ半年ぐらいvertexいじってたんだけど独学じゃどうしようもなくてさ、
あんまり褒められたやり方じゃないかもだけど血眼になってサンプル探して見っけたよ!自分じゃどうしようもできないことはそりゃあるから聞けばいいよ!
大体三日悩んで無理なことは諦めて別のアプローチするか質問するかサンプル探すかするほうが良い。目安ね!

348:名前は開発中のものです。
09/09/03 10:11:08 DjW5SCxV
jFontMakerで、作った画像はどのようにして使うのか、ご教授願えませんか?
Read meに載ってたサイトは今見れないので、使い方が分からないのです。

349:名前は開発中のものです。
09/09/03 10:53:33 1k0ytKa3
>>348
勝手にうpしてもいいのかわからないけど、保存していたページがあったのでどうぞ
URLリンク(www.dotup.org)

350:名前は開発中のものです。
09/09/03 11:39:46 DjW5SCxV
>>349
なるほど、こんな風に使うんですね。日本語描画がとても楽になりそうで助かります。
ありがとうございました!

あと、ここを見てる(?)作者のよこしま様もありがとうございました!

351:名前は開発中のものです。
09/09/03 19:44:59 HRgxn6OM
>>301
俺だったら当たり判定用のオブジェクトを作って、Maskに当たり判定の画像を登録して、
剣のオブジェクトに当たり判定用のオブジェクトを重ねる。

352:名前は開発中のものです。
09/09/03 19:49:37 A1uxg92h
>>301が言ってるのは、多分格ゲーのヒットエフェクトみたいなのの事だと思うんだけど、
俺がGMで格ゲー作ってた頃は、当たり判定を四角にして、それぞれの頂点位置で計算してたな……
攻撃判定とあたり判定の重なってる部分の中央がヒット位置になるから……

353:348
09/09/04 00:37:42 hPja4GRM
jFontMakerの使い方について質問した者ですが、壁にぶち当たりました。

全角スプライト(spr_zen20)、半角スプライト(spr_han20)の画像を作って、Drawイベントにコード
{
mbtext_setfont(spr_zen20, spr_han20, 20);
mbtext_draw("描画するテキスト", 16, 320);
}
と書いて、そのコードがあるオブジェクトをルームに置いたら
"Unexpeted error occured when runnig the game"
と出て、ゲームが始まりません。直す方法がさっぱり思いつかないので、教えていただきないでしょうか?

354:名前は開発中のものです。
09/09/04 00:53:03 WGz77ChS
スペックが足りてない時にそのエラーが出たりもするみたい
自分が昔開発してた頃は他の原因でも起こったと記憶があるんだけどどんな時だったかな……

とりあえず、サイズ8とかのフォント画像を作って、それでもならなかったらスペック不足かも
後は……5.3Aなら画像をビデオメモリに置かないようにするとか

355:名前は開発中のものです。
09/09/04 00:53:50 s8584eVK
ウィンドウが最初に表示されるより前にエラーが発生すると
Unexpected errorだとか、無関係なイベントでエラーが報告されることが多い。

とりあえず最初のルームをダミーにして、2番目のルームに置いたら
まともなエラーメッセージが出るかもしれんのでよろしく。

356:名前は開発中のものです。
09/09/04 00:54:17 WGz77ChS
あー、逆だ
小さい画像で試して、それで起動した場合はスペック不足だ

357:348
09/09/04 10:28:53 hPja4GRM
>>354>>356
助言感謝です。画像サイズを小さくしたら動きました!

が、表示したら全角文字が文字化け状態になってしまいました。
jFontMaker(ver 2.2.1)では、MSP明朝、サイズ10ピクセルの設定で画像を生成しています。
言い忘れてましたが、GMは7.0を使っています。
3度、ご教授お願いします。

358:名前は開発中のものです。
09/09/04 13:11:33 XFg+jLoI
mbtext_setfont()の設定は、ちゃんと画像サイズに合わせるように変えた?

359:名前は開発中のものです。
09/09/04 13:53:23 qIBiQQLY
うみゅーん、文字がずれて表示されるんでなく、ぐちゃぐちゃな模様が表示されたりするなら、
スペック不足だね……

オンボードの頃、GM含めいろんなゲームでなりましたし。
大きい画像分のメモリがしっかり確保できてないから起こるんだと思う。

360:名前は開発中のものです。
09/09/04 20:48:09 Chdo0brv
どのくらいのスペックでバグが発生するのかしりたい
配分したとき低スペックのプレイヤーから問い合わせがきそうだから

361:348
09/09/04 23:38:56 hPja4GRM
>358
画像を生成するときにフォントサイズを10にして、コードには
mbtext_setfont(spr_zen20, spr_han20, 10)
と書いたんですが…ひょっとして違うのでしょうか?

>359
(出力させたい文章)描画するテキスト → (実際の出力)~∵・・‘′々‘
と、このように文字化けするんです。フォントサイズとmbtext_setfont()の設定は
ちゃんと合わせたつもりなんですが・・・

>360
ノートPCで、こんなスペックです。
CPU:  Core2Duo T7500 2.2GHz
メモリ:2ギガ
グラボ:GeForce8400m G 256MB
OS:Windows XP

362:名前は開発中のものです。
09/09/05 00:59:24 NZes6lzq
スプライトをstrip登録するときに失敗しているかもしれない。
jFontmakerで、サイズが10ピクセルの全角出力指定しているときに、
右上のところに出る ”[Create from Strip]の設定”で
再度strip登録しなおしてみて。。。

363:348
09/09/05 08:36:25 V5A76hW6
>>362
ああ!jFontMakerで作成した画像を[Create from Strip]から読み込ませたら表示できました!

今、気づいたんですが全角は絶対このやり方で取り込まないといけないんですね。
頂いた説明を勘違いして、全角画像はGM6以降はLoad spriteで読み込ませるだけだと思い込んでました。
お恥ずかしい…。
どうもみなさん、ご迷惑おかけしました!そして、ありがとうございました!

364:名前は開発中のものです。
09/09/05 11:19:47 iXSll8nt
>>361
それはスペックの問題じゃなくね?
デュアルコアで、メモリ2Gも積んでれば十二分すぎるだろ
文字画像の容量なんて20pxで300KBくらいだぞ
俺はすでにネットで公開してるけど、動作が重いって言ってるプレイヤーはいるけど
文字に関しては特になにも言ってこない

365:名前は開発中のものです。
09/09/05 11:22:16 iXSll8nt
って、既に解決済みだったか

366:名前は開発中のものです。
09/09/05 14:49:00 p3CCNVlM
すいません、かなり初歩的な質問なんですが、複数のパーツを同時に動かしたいのですが、二次元配列の使い方がわからないんです…。

for (i=0;i=5;i+=1)
{for (ii=0;ii=5;ii+=1){pt[i,ii]=0}}
で初期化ってできてますか?
i=0:ii=0→胴体部、ii=1→頭部、ii=2→腰部
i=1:ii=0→右腕肩部、ii=1→右腕上腕部、ii=2→右腕下腕部
.
.
.
という風にインスタンスを登録して、ステップイベント中に

pt[0,0].x=x
pt[0,0].y=y //胴体パーツの位置

for(i=1;i=5;i+=1)
{

pt[i,0].x=pt[0,0].x+lengthdir(L,A+pt[0,0].Angle) //胴体パーツと四肢の接合
pt[i,0].y=...

}
for (i=0;i=5;i+=1)
{for (ii=1;ii=5;ii+=1)
{
pt[i,ii].x=pt[i,ii-1].x+lengthdir(L,A+pt[ii-1].Angle)
pt[i,ii].y=...
}

と計算して各パーツを動かせるかな、と思ったのですが何一つ動きません…。
どこらへんから間違っているのでしょうか?長くなってすいません…。

367:名前は開発中のものです。
09/09/05 14:59:47 oaTLqo7a
まずforの使い方が違う
× for (i = 0; i = 5; i += 1)
○ for (i = 0; i < 5; i += 1)
インスタンスの登録ってのもちゃんと
pt[0, 0] = instance_create(...) みたいにやってる?

368:名前は開発中のものです。
09/09/05 15:12:23 p3CCNVlM
ありがとうございます!さっそく直してみます。親オブジェクトのクリエイトイベントで

pt[0,0]=instance_create(x,y,prt)
pt[0,1]=instance_create(x,y-10,prt)
pt[0,1].L=point_distance(x,y,pt[0,0].x,pt[0,0].y);
pt[0,1].A=point_direction(x,y,pt[0,0].x,pt[0,0].y);

という風にやっています(Angleはprtから返ってくるようになっています)
ちょっと動くかどうか確かめてみますね…

369:名前は開発中のものです。
09/09/05 15:15:57 p3CCNVlM
やった!動きました!ありがとうございます!(連投すいません)

370:名前は開発中のものです。
09/09/05 17:57:51 iXSll8nt
mbtext_drawって結構CPU負荷高そうだね
アイテム一覧など、画面中に文字が表示されるような場合は素直に一つ一つスプライト作った方がいいかな

371:名前は開発中のものです。
09/09/05 18:08:33 2qZWX7kG
>>370
それがいいと思う
数百文字くらいなら平気だけど、半角文字を1000字超えるとやばいかも……

自分は1000字描画して30fpsまで下がった経験アリ。

372:名前は開発中のものです。
09/09/05 20:16:00 iXSll8nt
やっぱりそうか
アイテムの名前のスプライトをGIFで作ってみたけど、一つあたりの容量は300バイト
仮に1000個のアイテム名スプライトをグローバル変数に格納したとしても
300KBだから余裕そうだ

373:名前は開発中のものです。
09/09/05 21:04:10 GoHukLEx
surface使えるなら、surfaceに描画→画面に表示ができるので、
毎フレーム mbtext_draw() を呼ばなくて済む。

374:名前は開発中のものです。
09/09/06 01:54:45 r0F+BZ3f
マイクって使えるのかな?
DSでマイクに息を吹き掛けると葉っぱを飛ばせるとかそういうのがあるけどそれもどきみたいな

375:名前は開発中のものです。
09/09/06 11:36:57 5yze3jpk
標準ならそれは無理。
マイクからの音声を解析するプラグインを自作すれば可能かもしれない。

376:名前は開発中のものです。
09/09/06 17:03:10 rREoIiJg
messy-mindのサンプルがわけわからん

377:名前は開発中のものです。
09/09/07 09:34:29 /JVvCKur
横スクロールアクションゲームの雛形とかどこかに落ちてないでしょうか


キー操作と当たり判定が安定しなくて困ってます

378:名前は開発中のものです。
09/09/07 10:13:48 ADkvlysT
>>377
公式サイトのTutorial: Creating a Scrolling Shooterを
横にすりゃいい話

379:名前は開発中のものです。
09/09/07 14:17:04 ADkvlysT
あと>>376お願い

380:名前は開発中のものです。
09/09/07 17:14:50 V7WLXwLP
教えて欲しいのなら、それ相応の態度ってもんがある

381:名前は開発中のものです。
09/09/07 20:10:07 V+VMrqdA
お願いってなにをどう?

382:名前は開発中のものです。
09/09/07 21:12:47 mhvu03xI
>>377
またお前か、いいかげん努力することを覚えろ

383:名前は開発中のものです。
09/09/07 23:08:44 k+fWuIeg
>>382
たぶんそれは俺と勘違いしてるんじゃないかな。

384:名前は開発中のものです。
09/09/07 23:52:10 VD5vQbb8
GMのサンプルや解説ばかり見るよりも、
アクションゲームを題材にやってるプログラミング講座の方が役にたったりするなー
GMでも同等の設定は出来るんだし。

385:名前は開発中のものです。
09/09/08 04:03:19 +XBuIauZ
フライト型のシューティングから戦車型のシューティングを作り始めたのですが
フライト型のシューティングの場合ずっと上向いたまま方向キーで移動って
感じだと思うんですが、斜め上押したら機体が斜め上を向いて弾が斜め上に発射されるように
右に押したら右向き、左押したら左向き、下押したら下向きになり360度
弾を発射できるようにしたいのですがどのようにすればよろしいでしょうか?
ご教授お願いします

386:名前は開発中のものです。
09/09/08 08:56:11 /byrtEQI
FMOD使ってる奴誰かいる?
mp3のループ位置指定したいならあれがおすすめ。
初めて使ったときには感動したよ。

>385
keyboard_check_pressed()で押してるキーの方向を調べる
まずはそれからだ

387:名前は開発中のものです。
09/09/08 17:07:31 yMvKz00+
縦スクロールシューティングじゃなくて全方位スクロールシューティングってことかな

388:名前は開発中のものです。
09/09/08 20:55:58 qBHJfdMm
>>386
移動グラフィックも横に移動する時は横移動専用グラに、下に移動する時は
正面とかには出来てるんですよ、弾が8方向に発射できないんです。
後右に移動中、右を押した時に止まったら右向いたまま静止したグラフィック
にしたいんですがドラクエみたいに止まっててもキャラが行進してるみたいに
アニメーションが動き続けてて不自然だったり・・・・

>>387
はい、ツインビータイプのシューティングゲームなら作れるようになったので次のステップで
全方位移動できるものを手がけて見てるのですが方向キーを押して機体が向いている方向に弾を撃つと
いうのが出来なくて困ってます・・・

389:名前は開発中のものです。
09/09/08 21:17:51 bomSovik
機体の向きを記録しておく変数を用意すればいいんじゃないかな
斜めについては↑と→が同時に押されている、という判定をする必要があったりするね

で、キーを押してないときはimage_speedを0にすればアニメーションは止まる
またアニメーションさせる場合はimage_speedを1に。

390:名前は開発中のものです。
09/09/08 22:26:34 qBHJfdMm
>>389
変数ですか・・・・ちょっとこの辺は似たようなサンプルも手持ちが無くて
参考になるものがあればよいのですが・・・、斜めの移動は1945のサンプル
見て大体わかったのですが・・・

アニメーション停止については解決しました、ありがとうございます

391:名前は開発中のものです。
09/09/08 22:35:11 +vLZe3xT
戦車オブジェクトのCreateイベントに「houi(任意)」を作って、
戦車の向きが変わったらhouiが0~7に変わる(8方向の場合)
弾を出すとき、数字によって弾の角度が変わる
ってのはどうかしらん?
素人考えでスマソ

392:名前は開発中のものです。
09/09/08 22:48:41 qBHJfdMm
>>391
あ、そういう風にもできるのですか。
ありがとうございます、ちょっと試してみます

393:名前は開発中のものです。
09/09/09 06:13:31 47tng92/
「あるオブジェクトと接触していない」っていうのを判定する場合はGMLを使わないと無理?

394:名前は開発中のものです。
09/09/09 06:15:47 UaP+j4GV
>>393
無理ではないけど、マニュアルのGMLのページを読む必要はある

395:名前は開発中のものです。
09/09/09 06:47:52 47tng92/
If there is an object at a positionを使えばいいだけだったか
コントロールタブのクエスチョンのアクションは殆ど使ってなかったから見落としてた

396:名前は開発中のものです。
09/09/09 07:09:03 UaP+j4GV
あーそういえばそういうのあったかなぁ……
ゴメン、また適当なこと言ってしまったようだ……

397:名前は開発中のものです。
09/09/09 10:00:28 mrrP95Ft
スプライトの変更についてなのですが

①stepイベントの最後で sprite_index = ***; と書く
②drawイベントの最後で draw_sprite(***, -1, x, y); と書く

これって、処理的な速さに差があったりします? あるとしたらどっちが速いのでしょうか

398:名前は開発中のものです。
09/09/09 10:00:30 dn0E42Rr
Pro版ってインストしたPCじゃないと使えないんだっけ?
誰か引越し経験のある人とかいる?

399:名前は開発中のものです。
09/09/09 19:20:37 lbfPELMo
>>397
関数呼び出しにオーバヘッドがある、Viewが複数あるとその数だけ呼び出される、
スプライトが画面外でも呼び出される(標準の描画もそこまで最適化されてるか知らんけど)
といったわけで、少くとも(2)が速くなる要素はない。
image_angleとかalphaとかもdraw_spriteだと反映されないしね(_exの方使わないといけない)

あと、スプライトの変更はEnd stepでやった方が都合がいいケースが多いと思うよ。

400:名前は開発中のものです。
09/09/09 20:35:41 AOka8aHz
質問です。

GM8で作ったexeかgmkはここにうpしていいんですか?
and
ここってsage進行ですか?
英語はまったく苦手で・・・
お願いします。

401:名前は開発中のものです。
09/09/09 22:46:33 mrrP95Ft
>>399
回答ありがとうございます。drawイベントは別のobjectにやらせたほうが良さげですね。
実はBegin StepとEnd Stepは使ったことなかったり…

>>400
日記帳的な意図でなければいいんじゃないでしょうか。
sage進行という決まりはありませんが、sageておくのが無難だと思われます。

402:名前は開発中のものです。
09/09/10 12:39:08 Ao+mJGHi
シューティングとかで自機がルーム外に出ないようにするのってどうするのがいいかな
自機がルーム外に出たらルーム内に戻すって方法だとルーム際でガクガクするし
ルーム内でのみ移動可能にした場合は、移動速度とルームの大きさの兼ね合いでルームからはみ出たりするし

ルームの上下左右に透明のsolidオブジェクトを置いて
それぞれにMove to Contactアクションを使えばガクガクせずに止められるけど
これではちょっとなあ

403:名前は開発中のものです。
09/09/10 12:51:29 RlEeJ7eb
ルーム際でhspeed(vspeed)を0にしたらいいんでないの

404:名前は開発中のものです。
09/09/10 12:57:27 Ao+mJGHi
それだと一定の位置で止まらないんですよねぇ
ルーム外に出ないは出ないですが

405:名前は開発中のものです。
09/09/10 13:06:05 hSzFwkeE
はみ出る動作を感知したら位置を端に指定じゃだめなのか

406:名前は開発中のものです。
09/09/10 13:37:58 Ao+mJGHi
>>405
ステップイベントで自機のyが0以下になったらyを0にするって感じでしょうか

移動キーを押してる間ははみ出てるんですよね
移動キーを離した時に指定した位置に戻るからガクガクするっていう

407:名前は開発中のものです。
09/09/10 13:52:42 pvrI1+XA
計算ミスってるか処理の順番が不味いんじゃないかなあ
>>403>>405 のような方法で大抵何とかなるよ

大まかな流れとして
1キー入力
2自機座標変更
3衝突判定(ルームの端)
4座標補正
5描画
となるからガクガクにはならないような

408:名前は開発中のものです。
09/09/10 13:54:50 RlEeJ7eb
うーむ 問題無いはずなんだが
キー入力とステップのスクリプトを書いてくれたら原因分かるかもしれん

409:名前は開発中のものです。
09/09/10 17:12:19 GAvr9i6d
>>401
回答ありがとうございます。

>>406
End Stepでしたらどうでしょうか?

410:名前は開発中のものです。
09/09/10 17:21:10 Ao+mJGHi
すいません、ガクガクするって言うのはちょっと違っていたかも
ピョコピョコするって言う方が合ってるかな(笑)

キーボードイベントにvspeed(奇数)(ルームサイズは偶数)
ステップイベントに

411:名前は開発中のものです。
09/09/10 17:44:47 Ao+mJGHi
途中送信しちゃいました

書き直してる間にStepじゃなくEnd stepでやってみたらうまくいったようです
試行錯誤してる時にBegin stepに変数でyの値を取らせて
end stepで変数が1未満になった場合yを0にするなんてのをやっていて
これだと文字通りガクガクになっていたのでEnd stepでは駄目なものと思い込んでいました
余計な事をせずEnd step単体でやっていればよかったのですね
また問題が出てきたら質問させてください

>>406
うまくいきました、どうもありがとうございます

412:名前は開発中のものです。
09/09/10 17:46:44 Ao+mJGHi
間違えました
>>406>>409です

413:名前は開発中のものです。
09/09/11 03:04:37 bWGyFb/B
日本語開発環境の最新版どれ?

414:名前は開発中のものです。
09/09/11 07:12:37 WmhcaQ8r
そんなものはない

415:名前は開発中のものです。
09/09/11 09:03:43 Vn/Mnp9J
フォントによって、フォントを入れても
反映されたりされなかったりするのは、
何か法則というか原因があるんだろうか

416:名前は開発中のものです。
09/09/11 17:28:27 XgfJ+c5R
URLリンク(ux.getuploader.com)
ここにあるUMEN!とあるファイルがエラーを起こしてしまいます
どうゆうことかわからないのでお願いします

417:名前は開発中のものです。
09/09/11 22:13:27 6or23V1v
>>415
フォント指定するときに文字セットが決め打ちになってるっぽい
だから日本語環境だと日本語の含まれてるフォントしか選べないっぽ

418:名前は開発中のものです。
09/09/12 01:14:02 NjObJnmn
>>417
なるほどなぁ・・どうりで欧文フォントが全滅なわけだ
回答ありがとうございました。

419:名前は開発中のものです。
09/09/12 11:29:23 Yx+Hiy/U
URLリンク(gmc.yoyogames.com)
ここにあるサンプルのscriptの使い方が
いまいちわかりません
どなたかご教授お願いします。

420:名前は開発中のものです。
09/09/12 14:06:44 4PGE4Tio
何がどうわからないのか書いてもらわないと何とも言えないな
もう少し具体的な質問をしてくれ

421:名前は開発中のものです。
09/09/12 18:01:11 Yx+Hiy/U
>>420
このサンプルのスクリプトを
今作っているゲームに
移植したいのですが
どうすればいいでしょうか

422:名前は開発中のものです。
09/09/13 00:02:24 1jEpsejJ
こういうこと言い出すやつって、本質的にクレクレ君と同じなんだよな…。

423:名前は開発中のものです。
09/09/13 00:28:41 jMCXhq5m
よく分からんが、スクリプトファイルを取り込みたいのか?
だったら上のメニューのscriptsからInport suriptsで読み込め
違ってたら知らん

424:名前は開発中のものです。
09/09/13 16:27:45 p5hEzzoR
gamemaker製のゲームは、外部ツール(スペシャルねこまんま等)でチート不可能?
HP無限とかやろうとしても値の検索で全く引っ掛からない。何らかの方法で成功した人います?

425:名前は開発中のものです。
09/09/13 20:29:41 I+gEBOMY
俺もやったことあるけど、全然引っかからんよね。
内部エンジンでデータをうまく隠蔽しているのかもしれない。

426:名前は開発中のものです。
09/09/14 09:34:32 RXOBG/FO
誰かセーブデータ自分で作ってる奴いる?
セーブするときは保存したいインスタンスの情報や変数をリストかマップに放り込んでテキストに書き出し、
ロードするときはそのテキストを読み込んで、読み込んだ変数の値に応じてインスタンスを生成、って感じかな
バージョンの違うゲームにセーブデータを引継ぎたいとか考えたとき、
game_save()でセーブした状態だと具合が悪いんだよな。

427:名前は開発中のものです。
09/09/14 09:39:34 zP2siJVO
全く同じ質問が前あったな

428:名前は開発中のものです。
09/09/16 19:19:52 Yx5Euy68
instance_nearestで複数ある同一オブジェクトで
自分以外のインスタンスを返すようにするには
どうすればいいでしょうか?

例えばobject0でinstance_nearest(x,y,object0)
とすると、selfとおなじidが返ってきます。

429:名前は開発中のものです。
09/09/16 20:12:26 SEBaUMKZ
>>428
自分自身を一時的にdeactivateするか、
うんと遠くまでどかしてからinstance_nearestを使う方法がある。
(後者だとインスタンスが1つしかない場合に穴がありそうだけど
距離が10000くらい離れてるとなぜか認識されなくなるらしい)
当然、instance_nearestした後で元に戻さなくちゃいけない。

ちなみに海外フォーラムでもよくあがる話題で、
instance_nth_nearestってスクリプトが作られてたりするね。

430:名前は開発中のものです。
09/09/16 20:34:13 Yx5Euy68
>>429
ありがとうございます。

431:名前は開発中のものです。
09/09/19 20:53:49 5S7IAZYd
image_indexの画像なのですが

0以上1未満が0のスプライト
1以上2未満が1のスプライト
2以上3未満が2のスプライト
……

という風になっていくのでしょうか?

432:名前は開発中のものです。
09/09/19 21:04:46 hGqWeT/Y
>>431
Drawイベントに何も書かずに自動描画させる場合はその通り
(image_indexの説明にも切り捨てと書いてある)
draw_spriteとかで描画する時は四捨五入なので気をつけれ

433:名前は開発中のものです。
09/09/19 22:37:36 5S7IAZYd
>>432
失礼
マニュアル完全に見落としてました

434:名前は開発中のものです。
09/09/22 04:26:50 w/Ku3kIC
ヘルスバーって縦には出来ないのか…
色変化着きで自作するとしたらどんな感じ?

435:名前は開発中のものです。
09/09/22 05:39:11 2EKdsgud
draw_healthbar(x1,y1,x2,y2,amount,backcol,mincol,maxcol,direction,showback,showborder)
のdirection

自作するならまず長方形の頂点のうち、固定させる点と動く点を考える。
色は
  緑→ 黄→ 赤
R000→255→255
G255→255→000
B000→000→000
つまり、まずR:G:B=0:255:0から始めてRを伸ばし、
Rが最大になったらGを減らす。

436:名前は開発中のものです。
09/09/22 06:08:24 w/Ku3kIC
アクションの方しか見ていなかった…
朝早くからありがとうございまうす

437:名前は開発中のものです。
09/09/22 10:45:10 sLIwRJKt
GM8はいつごろでるのかなー
7をそのままか、多少の作業で移行できるなら8にするんだが・・・
あと6の日本語ヘルプがそのまま使えるならいいけど
誰か新しいヘルプ、変更部分だけでも翻訳してくれないかな

438:名前は開発中のものです。
09/09/23 10:09:09 MsIgK8QF
そうそうw
てゅーかGM8ってどんな機能?
日本語化は出来れば欲しいなww

439:名前は開発中のものです。
09/09/23 12:49:51 NmL6fvhc
これか? >>139
アルファチャンネル完全対応はありがたいな
いまでも出来ないことはないけど、完全対応してくれれば作業が結構らくになる。
現状だと、ちゃんとやらないとスプライトの周りに白いのが残っちゃうんだよね


440:名前は開発中のものです。
09/09/23 15:13:37 stBFqZnk
エフェクトソフト試したことあるけど、アルファ使えないからしょぼいのしか作れなかったことあるなー
手書きと変わらないようなの

441:名前は開発中のものです。
09/09/24 17:00:08 O67grr7X
オブジェクトを回転させることってできますか?

442:名前は開発中のものです。
09/09/24 18:02:00 Zjeeh2M9
余裕でできる

443:名前は開発中のものです。
09/09/24 18:45:33 O67grr7X
>>442
あらかじめ回転させたスプライトを一個一個作らないとやっぱりだめですか?

444:名前は開発中のものです。
09/09/24 20:17:06 XWhm4CP8
image_angle この値に応じて、スプライトが回転します。値は左回りの度(0-360)で指定し、0 で通常です。 この機能は、レジストバージョンのみ有効です。

445:名前は開発中のものです。
09/09/25 09:06:01 mgX8NLYW
うむ、draw_sprite_extにデータ構造、sprite_add_alphaだけでもレジスト買う価値はあるな。
ちょっと凝ったことしようと思ったらLiteじゃきつい

446:名前は開発中のものです。
09/09/25 12:33:15 DzBOtpuu
ホ!RCはセカンドβのデータ読み込めるじゃないの!

447:名前は開発中のものです。
09/09/25 17:58:26 a1fJdlo4
ところで8のベータやってみた人っている?
7までで使えて8で使えなくなってた関数とか結構ある?

448:名前は開発中のものです。
09/09/25 18:38:19 T1K9b3DK
>>444
ありがとうございます。……レジストバージョン買おうかなぁ。

449:名前は開発中のものです。
09/09/29 22:30:39 DIDYZoHj
これってコンパイルしたゲームでも、起動時にエラーチェックとかしてるんですかね?
ゲームが複雑になると起動が遅くなるような気がするんですが
もちろんPrelordは全部はずしてます

450:名前は開発中のものです。
09/09/30 20:22:37 BfOX1zJg
オブジェクトAにオブジェクトBとの接触イベントを設定すると
オブジェクトAがオブジェクトBの子オブジェクトに接触しても作動するんだね
これは便利でもあるけど不便でもあるな

451:名前は開発中のものです。
09/09/30 22:50:00 U6bB5JnZ
前スレにあったのが、

├亀
│├緑亀
│└赤亀
└ブロス
 ├ハンマー
 └ブーメラン
みたいな感じの構造だった。
敵、亀、ブロスはゲーム内では使わないダミーで子オブジェクトを纏めるためのもの。

共通の物は親オブジェクトに持たせて、
子オブジェクト別に違うものは子オブジェクト内で個別に設定する。
不便に感じるのは構造のデザインがよくないからじゃないかな?
親と子の使い分けをはっきりさせるといいよ。

452:名前は開発中のものです。
09/10/01 01:33:38 u1Abds+1
基本的にparent objectはゲーム内では登場させないなー

453:名前は開発中のものです。
09/10/01 13:49:05 qHL8GpNO
URLリンク(www.freegameclassic.com)
コンテストに出そう。
小さくまとまってしまってはいけない。
3分で世界を革命しろ。

454:名前は開発中のものです。
09/10/02 17:21:46 fJ33Az8T
くだらない質問で申し訳ないが
change instance (赤パックマン)をGMLでやろうとするとどう書くんだろう?
ちなみに自分は未レジストGM7です

455:名前は開発中のものです。
09/10/02 20:54:18 IQUjtfJL
赤パックマンのアイコンはインスタンスの変更じゃなくて、スプライトの変更だと思うよ。
スプライトの変更は、そういう関数があるわけではなく、sprite_index を直接変更する。
変数をいじるだけでも結構いろいろ出来ることがあるから、調べてみるといいよ。

456:名前は開発中のものです。
09/10/04 15:47:28 p8OhbyR+
横の壁とぶつかった時だけhspeedを0にしたいのですが
壁とのコリジョンイベントで

if place_meeting(x-1,y,block) == true{hspeed = 0;}

これではダメなのでしょうか?

while (place_meeting(x-1,y,block) == true){x +=1}
で反対側への押し戻しはできているのですが、なぜかhspeedだけは0になりません。

457:名前は開発中のものです。
09/10/04 17:07:03 5U/WE5aW
先に while の方が実行されるように書いてあると予想


458:名前は開発中のものです。
09/10/04 17:53:38 p8OhbyR+
それはないですねぇ

while (place_meeting(x-1,y,block) == true)
 {
 hspeed = 0;
 x +=1;
 }

ためしに↑のようにしてみましたけど、それでもダメでした

459:名前は開発中のものです。
09/10/04 20:04:46 5U/WE5aW
それなら他の場所で速度関係をいじっているんじゃないかい
その式でxの代入だけが実行されるというのはありえない



460:名前は開発中のものです。
09/10/04 20:52:41 Wb+bZ9wM
壁がsolidだった場合、collisionイベント実行前に前の位置に戻されるから
abs(hspeed)>1 だったら、壁と自分との間は1以上空いていることになる。
だからplace_meeting(x-1)ではヒットしないと予想。
place_meeting(x+/-hspeed)にしてみたらどうよ?

whileの押し戻しもたぶん成功してないと思うな(単にxpreviousに戻されてるだけ)
厳密にやるなら x = other.bbox_right + 1 + sprite_xoffset とかの方が良さそう

461:名前は開発中のものです。
09/10/04 20:59:07 Wb+bZ9wM
よく考えたら place_meeting(x-abs(hspeed)-1) とかにしないとダメだな

ついでに補足。仮にblockって名前のスプライトとかスクリプトがあった場合
そっちのインデックスが使われて、違うオブジェクトをチェックしてる可能性もある。
GML使うんだったら、obj_block とか spr_block みたいにして
名前がかぶらないように設定しないとトラブルの元になるよ。

462:名前は開発中のものです。
09/10/04 21:18:26 p8OhbyR+
>>460さんの通りにしたら解決しました。ありがとうございます。
「プレイヤーだけが通れない壁」と「全キャラ共通の壁」というのを考えていたのですが
プレイヤーだけが通れない壁はsolidをはずして、普通の壁はx-abs(hspeed)にすることで解決しました。


463:名前は開発中のものです。
09/10/08 19:54:56 XLYZZ1sh
image_blendのように「色を混ぜる」のではなく、なにか一色で「塗りつぶす」ことは出来ないのでしょうか?
敵がダメージを受けた時、一時的に赤くさせたいのですが、元が黒っぽい色のため
赤を混ぜても黒にしかなりません。

464:名前は開発中のものです。
09/10/09 00:27:24 2lodFe32
真赤にぬったスプライトを別に用意するしかないんじゃない?

465:名前は開発中のものです。
09/10/09 02:01:41 m1aFnmHw
ステージエディット機能を持ったSTGをつくろうとしているんですが、
ステージを配列で表現してexecute_fileでステージ開始時に読み込んで、
敵を記述したタイミングで生成させたいのですが、
適切なコードがうまく思いつきません。
配列以外で何とかする?処理方法でなんとかなる?

全部走査して現タイムラインと発生タイミングが一致すれば生成
--------------------------------------------------------------
for(敵番号=0;敵番号<敵数;敵番号++){
if(stage[敵番号,敵発生タイミング]==timeline){
create(stage[敵番号,敵各種ステータス]);
}
}
timeline++
--------------------------------------------------------------
→1ステージにおける敵数が増えると1ステップ内でどんどん処理が重くなる

指定したグリッド番号になったら生成
--------------------------------------------------------------
create(stage[グリッド番号,敵各種ステータス]);
グリッド番号++
--------------------------------------------------------------
→ステージが長くなるとどんどん配列が増える&発生しない間の配列は無駄領域
→1グリッド1体しか出ない

現在は全部走査して現タイムラインと発生タイミングが一致すれば生成という方法で
行っていますが、敵の数が300をこえたあたりからゲーム速度が落ち始めます
(step内でforループしているので当然といえば当然ですが)


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