【2D】ゲーム作成ツールGameMaker part4【マンセー】at GAMEDEV
【2D】ゲーム作成ツールGameMaker part4【マンセー】 - 暇つぶし2ch320:名前は開発中のものです。
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ループしているので当然といえば当然ですが)

466:名前は開発中のものです。
09/10/09 02:08:26 v0opj/4E
>>465
そもそも画面外の敵まで処理するのが無駄なわけで。

最初に全インスタンスを作成し、
画面外のインスタンスを非アクティブに、
画面内のインスタンスをアクティブにする。

領域の微調整はお好みで。

467:465
09/10/09 02:13:21 m1aFnmHw
あぁ・・・なるほど、確かに言われてみれば
いちいちリアルタイムに生成する理由がなかった・・

回答ありがとうございました。
製作頑張ろうと思います。

468:名前は開発中のものです。
09/10/10 16:56:18 +ewObIUy
>>464
やっぱりそれしかないですか
ちょっと画像枚数が多いので、全部にそれをやるのはちょっと厳しい……
これは諦めざるを得ませんかね

469:名前は開発中のものです。
09/10/10 18:30:40 BwUsupN7
日本語サイトが復活しないのでbGMとjfontmakerの使い方を教えて欲しいのですが

470:名前は開発中のものです。
09/10/10 19:31:46 UjbbZPTx
前上げてあったの貰わなかったのかよ・・・>フォント

471:名前は開発中のものです。
09/10/10 20:21:53 xlBokYU2
>>463
d3d_set_fog(true, c_red, 1, 0);
draw_sprite(...);
d3d_set_fog(false, c_white, 0, 0);
という手法があるけど、ビデオカードによっては動かないものもあるとか

472:名前は開発中のものです。
09/10/11 00:53:20 yhSo2Kg3
bGMは俺も教えてほしいな
保存してくれてる人が居ればだけど

473:名前は開発中のものです。
09/10/11 09:45:59 gVfZj0xn
Preload textureってあくまでビデオメモリに読み込ませるかどうかで
これにチェックがついてようがついてまいが、GMの中に入ってるファイルはすべてメインメモリに読み込まれてしまうんですね。
メモリに落としたくない場合は、sprite_addなどで、外部から取り込ませるしかないのでしょうか?

あと実験で、1000*1000の1.7KBのgif画像を10枚ほどいれてみたのですが
そうしたらメモリ使用量が一気に80MBくらい増えました。
もちろんPreload textureは未チェック、ゲーム中は使用せず、ただGMの中に入れただけです。
元の画像がgifだろうがpngだろうがbmpだろうが関係なく、ただ画像の縦横のサイズだけで
使用するメモリ量が決まってしまうのでしょうか?

474:名前は開発中のものです。
09/10/11 10:29:22 gVfZj0xn
追記
bmpの画像を10枚追加してみたり、256色フルに使ったgifを10枚追加してみたり実験しましたが
白一色1000*1000のgif画像を10枚追加した場合と、メモリ使用量はまったく変わりませんでした
GMは減色や画像の軽量化などまったく無意味で、ただ画像の縦横のサイズのみに依存するのでしょうか

475:名前は開発中のものです。
09/10/11 18:10:28 yhSo2Kg3
検証乙
俺は仕組とかわからんが、本当ならイベント絵とか入れにくくなるなぁ

476:名前は開発中のものです。
09/10/11 18:43:47 rJ+6eFS4
元の画像形式が何であろうと、内部には独自形式で格納されるからね。
簡単なランレングス圧縮はしていると聞いたから、白一色と複雑な画像では
gmファイルやexeのサイズに差が出るかもしれない。
でも、実行時にはメモリ上にベタのビットマップで展開されるはずだから
結局メモリ使用量は変わらんと思う。

477:名前は開発中のものです。
09/10/11 19:02:33 gVfZj0xn
んー、やっぱりそうですか
チマチマと減色しても、メモリ的にはまったく意味がないということですね。
容量的には数十KB軽量化させたところで大した違いはないし
気にせずPNGでも使っちゃった方いいのかな

GM8ではPNGが完全サポートされるそうだけど、せめてBMPではなくPNGにしてくれれば
かなり軽量化されると思うんだけどなー
そこらへん早く8の情報が欲しい

478:名前は開発中のものです。
09/10/11 19:08:05 gVfZj0xn
ああ、PNGはメモリ上ではBMPと変わらないから意味ないのか・・・

479:名前は開発中のものです。
09/10/11 22:40:21 9H0VFjWv
URLリンク(web.archive.org)

bGMの使い方
画像は表示されんがまぁなんとかなるだろう

480:名前は開発中のものです。
09/10/12 00:43:46 Yf0rwGMO
激しく乙
デフォでogg対応せんかのぉ…(´・ω・)

481:名前は開発中のものです。
09/10/13 11:39:19 k4QiVC+d
>>473
検証乙。
俺は数百枚の画像ファイル使ってるから、スプライト系は殆ど外部で管理してる。
スプライトのロードと破棄でもメモリ食うけど、大きい画像一枚GMに入れることに比べれば誤差の範囲だ。

それで思ったけど、100程度のインスタンスに200程度の変数を定義すると
理論上は100*200*8 = 160kのメモリを使うのか。
今まではこの変数全部txtファイルに書き込んでおいて、
特定のインスタンスが必要なときのみそれを読み込んでたけど
これってもしやかなり無駄だよな…。
画像ファイル一枚節約した方が全然効率的そうだ。
配列がどの程度容量食うかはテストしてないけど。

482:名前は開発中のものです。
09/10/13 12:29:36 cOJqt8LB
どうせGIFだからたいしたことないだろと思って、スプライトがんがん追加してきたんだが、これが原因でメモリバカ食いしてたんだな
俺もspriteaddで画像読み込みしないとダメか

ところで、スプライトのロードと破棄でメモリ食うってどういうこと?
スプライトを破棄してもメモリのなにか残るの?

483:名前は開発中のものです。
09/10/13 15:07:47 lHAcX872
(スプライトを使った)オブジェクトの破棄でメモリは開放される
と思ってたが違うのか

484:名前は開発中のものです。
09/10/13 17:44:59 KdDxZr1F
メモリ解放されても、普通は断片化してるから、ガベージコレクションしないとダメで、
ゲームだと実行中にガベージコレクション発生すると、そのとき速度が落ちるから、
普通は自動的にガベージコレクションされない仕様なのが多い。
GameMakerがどういう仕様かは知らないけどね。

485:名前は開発中のものです。
09/10/13 21:29:42 4QV/eOoe
実験で仮にこんなの実行してみたけど、特にメモリは増えなかったよ

for (i = 0;i <=1000; i+=1)
{
test[i] = sprite_add(...);
sprite_delete(test[i]);
}

486:名前は開発中のものです。
09/10/13 21:32:50 4QV/eOoe
>>483
sprite_delete();を使わない限り、スプライトのメモリは開放されないよ
sprite_addでローカル変数にスプライトを入れてたなら別かもしれないけど

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

502:名前は開発中のものです。
09/10/19 22:50:53 FNTjSUVF
Direct3D 11 は、凄まじく面倒になる可能性がある。

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

511:506
09/10/21 22:53:42 7kid7kXI
レスありがとうございます
一通りヘルプを見てみます

512:名前は開発中のものです。
09/10/21 23:30:57 K7bGjyPl
一番真っ当なやり方は

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

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

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

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


514:名前は開発中のものです。
09/10/22 03:17:32 QcCk0qNG
悪い 自己解決した

515:名前は開発中のものです。
09/10/22 18:07:09 9bnTpD/d





いつになったら


サイトは復活するのか。






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

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

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

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

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

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

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

520:名前は開発中のものです。
09/10/23 16:11:44 vXjEA+RQ

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

のように。

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

上級者は

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

右はこれの逆です

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

URLリンク(gmdev.xrea.jp)

mbtext_draw_test(Text);
length = global.mbtext_textarea_width;

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

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

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

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

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

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

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

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

mbtext_draw(Text);
surface_reset_target();

とするとうまくいく。


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

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

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

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

じゃあな手前等

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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


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