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

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とかナイトメアスフィアなんかが評価高い
両方とも同じ作者だけど


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