【2D】ゲーム作成ツー ..
[2ch|▼Menu]
219:名前は開発中のものです。
11/04/16 16:19:19.13 mrGunqbY
評価版の8.1はひどいな
本体起動時に表示される広告
ゲーム背景にずっと表示される広告
ゲーム終了時にさらに表示される広告
実行ファイルのサイズがかなり膨れ上がる

レジストしているならそのままアップグレードすればいいんだろうけど
評価版は8.0のほうが明らかによい

220:名前は開発中のものです。
11/04/17 04:57:23.29 IpP4KM4S
皆さんはランダムな敵の動きをどう制御しているのでしょうか?
毎回32移動するとして周りの八方向の内ソリッドオブジェクトの無いいずれかにランダムとなると
自分は以下のようにやってますが非常に面倒です。repeatとか使えばもっと簡略化出来ますが…
if place_free(x+32,y){r=1}
if place_free(x+32,y+32){r_d=1}
if place_free(x+32,y-32){r_u=1}
if place_free(x-32,y){l=1}
〜〜〜

ここからまた
if(r=1 and r_d=1 and r_u=1 〜〜)
if(r=0 and r_d=1 and r_u=1 〜〜)
〜〜〜
というように目に見えて非効率的な方法しかよく分かりません。

221:名前は開発中のものです。
11/04/17 04:58:56.68 IpP4KM4S
途中送信してしまいましたが
ランダムに四方八方のいずれかに移動する際の効率的な方法をご教授願いたいです。
よろしくお願いします。

222:名前は開発中のものです。
11/04/17 10:14:44.18 cJFcxO/l
効率的というのがどのような効率かわからないけど
移動量32 で 八方向にランダムだったら
xm = irandom(2)-1; //もしくはround(random(2))-1
ym = irandom(2)-1;
if(place_free(x+xm*32, y+ym*32)) {
//移動させるコード
}
のように移動方向をランダムの対象にすればいいんじゃないかな

223:名前は開発中のものです。
11/04/17 12:52:54.13 5sAF/mq0
後半の判定条件見ると、毎回必ず八方向のどれかに移動しないといけない
(どこにも移動しないというのはナシ)なのかな。
だとすると、まずどこが空いているか調べておいて、その中から選ぶのが良いかと。
// 空いている場所を調べて配列に入れる
count = 0;
for (ix = -32; ix <= 32; ix += 32) for (iy = -32; iy <= 32; iy += 32) {
if ((ix != 0 || iy != 0) && place_free(x+ix, y+iy)) {
vx[count] = ix; vy[count] = iy; count += 1;
}
}
// 配列の中から移動先を選ぶ
ii = floor(random(count)); x += vx[ii]; y += v[ii];

224:名前は開発中のものです。
11/04/18 01:20:40.05 Xie74jLy
>>223
配列ってのが何なのかよく分かりませんでしたがやっと理解出来ました。
これは便利ですね。ありがとうございます。

225:名前は開発中のものです。
11/04/18 02:23:34.93 1Zdo9985
配列の意味くらいはぐぐれよプログラムの基本だぞ
Wikipedia項目リンク

226:名前は開発中のものです。
11/04/18 03:33:08.90 h9qFkv08
プログラムなんてやらずにGML使ってるから配列とかfor文の得体が知れない

227:名前は開発中のものです。
11/04/18 09:10:13.37 1Zdo9985
GMLもスクリプト言語だしプログラムの一部なんだから少しは学んでほしいわ
ループや条件分岐すらわからないならゲーム製作なんてできるわけがない

228:名前は開発中のものです。
11/04/19 00:20:01.67 kz1zizQk
そういうの無しでもゲームが作れるのがGMなんだがな

229:名前は開発中のものです。
11/04/19 07:59:19.80 NZqoseEo
GMLなしでも作るだけ作れて、GMLを使えばもっと色々できるって感じかね
ループや配列くらいは覚えといた方が何かと楽だとは思う
個人的にはPro版でGMLじゃないとやってられない

230:名前は開発中のものです。
11/04/19 14:44:37.14 Y48OGQHx
自分はGMLでやらなきゃ正直使いづらいなあ
ActionScriptなんかよりはるかに楽なスクリプト言語だから覚えた方が得だとは思うんだけどな

231:名前は開発中のものです。
11/04/20 11:27:54.38 jL3wDbuI
GM8アプデしたら動かなくなった件w

232:名前は開発中のものです。
11/04/21 08:39:54.92 ImOBjGil
俺も止まったw
Game Maker Updaterが怪しいね
最新のアップデートはインストーラがあって、こっちならイケるっぽい

233:名前は開発中のものです。
11/04/21 15:46:08.07 JV6K58il
8.1.69でフォントのアンチエイリアシングコントロールを追加したと書いてあるがそんなもんどこにあるんだ

234:名前は開発中のものです。
11/04/22 00:02:23.63 a+osDQye
再インストールしてきたら出てきたよ☆

235:名前は開発中のものです。
11/04/24 14:17:04.01 RIEzWX8c
Lite 8.1 広告だらけだけどスプライトの回転が使えるようになってるね
CharSet 指定できるみたいだけどフォントだけじゃなくエディタにも連動しないから誰得な機能
値上げしたから機能充実・追加があったのかと思ったけどそんな感じではないな

236:名前は開発中のものです。
11/04/25 12:37:26.78 iMyGUfbt
もうなんていうか、金払ったら負けなツールだよなこれ

237:名前は開発中のものです。
11/04/25 15:44:26.74 ERTyqyNJ
GMオワコン化の始まり

238:名前は開発中のものです。
11/04/25 18:09:13.49 /JSNEMHU
まあ、単純なゲームしか作らないならレジストしなくても十分だね

239:名前は開発中のものです。
11/04/25 21:15:40.31 QQx7LSNe
何気に有料機能であるリソースの置き換え機能はゲームが肥大化してくると重要

240:名前は開発中のものです。
11/04/25 23:08:07.50 HxgcpXgk
価格の大半はロゴ消しの価値

241:名前は開発中のものです。
11/04/25 23:16:10.60 hYGZewdW
流れぶったぎってすみませんが、質問させて頂きます

無料版だと、どのバージョンがおすすめでしょうか?
テンプレで8.0の文字化けについて記載されていたので少々気になりました

慣れてきたら悪魔城的な2Dアクションを作ってみたいと思っているのですが…

242:名前は開発中のものです。
11/04/26 00:18:46.97 LDCyW6KM
>>239
あれがないと、メモリの使用量がとんでもないことになるよな
大規模なゲーム作るならレジストは必須だろう

>>241
今はもう8しかダウンロードできないんじゃなかったっけ?

243:名前は開発中のものです。
11/04/26 00:55:14.78 oFKdc1AF
無料版は8以前も手に入る。無料8.0は外部から落とす必要がある
エディタ中の日本語が気になるなら7あたりがいいと思う。
ただしレジストするなら最新版一択になっちゃうという感じかな

244:名前は開発中のものです。
11/04/26 01:41:14.09 mlSDowuO
日本語でレジスト方法について書かれている説明ってないでしょうか?

245:241
11/04/26 04:00:06.20 OFuVootN
回答ありがとうございます
ひとまず7を入手しました、しばらくは7の無料版を使ってみようと思います

レジストは操作に慣れてきたら考えようかなと…

246:名前は開発中のものです。
11/04/26 04:22:55.83 Tg5NYkhP
個人的に英語のエディタに慣れるといちいち全角キー押すのが面倒になった
日本語のコメントが書けないだけで他の機能も使えるしレジストしたほうが便利

というかアクションコマンドのコメントには日本語書けるんだけどな 何故か。

247:名前は開発中のものです。
11/04/26 05:49:41.00 Npu8jOul
コメント書くだけなら英語でも構わないんだが、mbtextの引数で日本語書くときが困る
って言ってもせいぜい100〜200パターンくらいだから
いっそ外部ファイルに打ち込んだのを読み込んで変数にぶちこんだ方が早い気もしてきた

248:名前は開発中のものです。
11/04/26 06:41:34.92 Tg5NYkhP
>>247
ファイルから配列に1行おきにループで代入してる
テキストファイルあまり見られたくないならテンポラリファイルに展開するようにすればあんまり問題ないしね

249:名前は開発中のものです。
11/04/26 14:09:25.33 iIkImGvC
これでタワーディフェンス作りたいんだけどGML使わないとやっぱ無理かな?

250:名前は開発中のものです。
11/04/26 15:32:37.25 KekkYEKd
たぶんGMLのが簡単だと思うけど
アクションだけでも問題無いと思う

251:名前は開発中のものです。
11/04/26 16:05:36.00 iIkImGvC
>>250
GMLのが簡単ってこともあるのか
まだGM自体触ったばっかだからもっと使ってみる

252:名前は開発中のものです。
11/04/26 16:49:36.12 TbagIrwc
アクションだけでも関数とローカル変数を使えば大抵の事はできるよ
プログラムを全くやった事が無いならアクションから始めたほうがいいと思う
アクションで覚えた事はGMLに移る時も無駄にならないし

253:名前は開発中のものです。
11/04/27 08:59:32.68 iohphExa
>>248
そうなるよね
文字列と対応するIDを別々のリストにいれておけば参照する時楽かな

254:名前は開発中のものです。
11/04/27 20:19:30.93 EEtUA/Hm
>250-252
GMLのが簡単っていうのは表記ミスの発見や変更が加えやすいから簡単って言う意味だろうなあ
アクションでも同じ事はできるけど正直見づらくて、同じ事やろうと思うと結構グチャグチャになる

255:名前は開発中のものです。
11/04/27 22:07:08.31 5ZsESPRo
あとアクションだと一個ゲーム作って次を作るときに再利用しにくい

256:名前は開発中のものです。
11/04/28 01:11:43.89 FOVplmLs
ifやforをたくさん使うようになると、GMLで書いたほうが分かりやすくなる

257:名前は開発中のものです。
11/04/28 22:22:01.79 0X5ghGKS
URLリンク(www.blackratstudios.com)

アクションをGMLに書き換えてくれた勇者がいるので紹介しておきますね

258:名前は開発中のものです。
11/04/30 02:01:30.31 CeAb+bJr
↑のサイト見て気になったんだけどaction_系のコマンドってヘルプに乗ってる?
検索かけても引っかからないから今までずっと知らなかった
タイムラインGMLで呼び出せないのかと諦めてたけどこれで随分楽になる。すごい助かったよ

259:名前は開発中のものです。
11/04/30 04:37:58.57 0CGYVCn/
紹介したサイトにも書いてあるんだけど

action関数はGM自体に含まれているんだけど、初心者の混乱を避けるためにヘルプには載せていないみたい
さらに引数のガイドもコードエディタで表示してくれないからあまり支持されていないそうだ

上記のサイトで引数についての説明もされてるから見れば完璧だとは思う

ちなみにタイムラインはtimeline_indexで指定できないの?
自作でタイムライン作っちゃうからあまり既存のタイムラインは使ったことがない

260:名前は開発中のものです。
11/04/30 10:49:28.96 NTSCSH68
Show Infomationで全部そのままGML表示してくれりゃいいのに

261:名前は開発中のものです。
11/04/30 14:48:02.10 l+G1gOeI
マウスにオブジェクトがついてくるってアクションあります?GMLうたなきゃだめかな?

262:名前は開発中のものです。
11/04/30 15:14:18.12 s8CMxVtF
マウスの位置格納してる変数参照して
オブジェクトの位置をそれに合わせればいいんじゃね?

263:名前は開発中のものです。
11/04/30 15:34:49.18 0CGYVCn/
普通にMove Towardsのイベントにmouse_xとmouse_y指定すればいいんじゃねえの

コードが書けないなら既存のイベントで何ができるか、どうやったらできるか考えるべき
企画書流し込んでゲームが出来上がるソフトなら誰も苦労しない。

264:名前は開発中のものです。
11/04/30 17:25:31.40 CeAb+bJr
>>259
ド素人プログラマってのがバレバレになるけど

timeline_index = (呼び出したいタイムラインのname)

って感じで前にやってみたんだけど呼び出せずに他どうやるかわかんねってなって諦めてた
元々作ってたタイムライン流用したくて、ダメだったら259のように自作タイムライン作るしかないかなとは思ってた

どうせタイムラインもコピペ流用できないしGMLで自作したほうが後々の為ではあるんだろうなあ…

265:名前は開発中のものです。
11/04/30 17:41:07.10 s8CMxVtF
普通にtimeline_index = timelineの名前 でいけたと思うが
position,speedの設定し忘れや、timeline_runningがfalseになってて動いてないとかかもな
timeline自体に使ってる名前が重複してるか、有効ではない名前になってたりする可能性も有りか

266:名前は開発中のものです。
11/04/30 18:10:55.44 CeAb+bJr
素早いレスありがとうございます。timeline_runningをtureにしたら無事いけました
というか上の変数もヘルプにのってなかった…これヘルプのみ教科書じゃ網羅できないってことか
もうちょい色々使って調べるようにしてみます。本当ありがとう!


267:名前は開発中のものです。
11/04/30 20:06:21.61 W0WXxwKu
ついさっきDLしたばかりの無知で悪いんだが、
簡単なモノって大体どれくらいのモノならGMLで作れるの?
ストファやスマブラとかの格ゲーとかでもいける?

268:名前は開発中のものです。
11/04/30 20:21:09.42 W0WXxwKu
ごめん↑は「GML無し」での間違い

269:名前は開発中のものです。
11/04/30 20:40:30.34 S9YQ/liJ
>>267
いけるいける




簡単なモノって大体どれくらいのモノなら鉛筆で書けるの?
みたいな話だからやり方次第としか言いようがねぇよ

自分でスマブラのようなゲームを作ったことはある
格ゲーは作れるしSTGも作れるしアクションも作れる
だが楽かって話になるとそれは別問題だ
まず聞く前に自分で試してみてどのくらい出来るのかやってみる気概がないと後々切ないよ

270:名前は開発中のものです。
11/04/30 20:47:07.56 W0WXxwKu
>>269
ふむ、了解した。
楽じゃないのは承知の上だから大丈夫なんだが、
英語が怖いから5.3インスコしたんだけど
やっぱり7.0や8.0のがいいのかな?

271:名前は開発中のものです。
11/04/30 21:08:45.32 S9YQ/liJ
両方インストールして両方試してみれば良いのに


特にこだわりがなければ7や8で構わない
英語ったってそんな難しいものはないし困ったらエキサイト先生で構わない
英語がある程度読めるとYoYoGamesのサンプルやスクリプトを参考に出来て便利
7や8だと透過pngを使えるから,スマブラやストリートファイターのようなエフェクトがリッチなゲームを作るには便利
あと5.3だとVista以降で動かないかもしれない

とりあえずまずは自分で弄って試行錯誤して悩むのをお勧めする

272:名前は開発中のものです。
11/04/30 21:12:22.72 W0WXxwKu
>>271
そ れ は 盲 点 だ っ た

アドバイスdクス。
とりあえずブロック崩し作ってくる

273:名前は開発中のものです。
11/04/30 23:30:39.04 NTSCSH68
質問先読みでもしようか
全部消えたら

274:名前は開発中のものです。
11/04/30 23:38:57.48 9UNUjPoi
んじゃ
バーが壁にめり込んで動かない

275:名前は開発中のものです。
11/05/01 01:20:50.95 U7TmMKRc
馬鹿にすんなよwww

276:名前は開発中のものです。
11/05/01 02:15:52.90 ib5IPz5T
>274 あるあるw

277:名前は開発中のものです。
11/05/01 02:26:04.46 ib5IPz5T
ところで>272はなんでGML以外で作ろうとしてるんだ?
管理しやすいし少しでも楽にするならGMLに慣れちゃったほうがいいと思うよ

あと>273のIDに感動した

278:名前は開発中のものです。
11/05/01 07:37:06.68 Q9izUd83
>>272
もちろんエロいブロック崩しなんだろうな?

279:名前は開発中のものです。
11/05/01 10:16:25.94 19Yqwfe7
やっぱプログラムってところで壁を感じてるんじゃないかな?
やってることはアクションと変わりないんだけどね

280:名前は開発中のものです。
11/05/01 17:07:17.89 24HhuA0O
>>277>>279
そうなのか?
Cやろうとして失敗した奴なんだけどね俺は

>>278
そりゃもちろん!

で、バーが壁にめryは何とか回避したんだが、
崩す前の絵をブロックにする方法が良く分からない。
一個一個別のオブジェクト作らないとダメなの?

281:名前は開発中のものです。
11/05/01 17:18:15.95 Q9izUd83
ブロックに使うインスタンスオブジェクトAに
一定区切りでバラバラにした1枚の画像をsubimageに当てはめておいて
インスタンスオブジェクトA生成→生成したインスタンス群のsubimage変更
みたいな感じでいけると思うが

282:名前は開発中のものです。
11/05/01 17:24:20.44 24HhuA0O
>>281
アドバイスdクス
早速やってみる

283:名前は開発中のものです。
11/05/01 19:10:07.81 24HhuA0O
>>281
元気良く飛び出したのはいいんだが、早速二行目で詰んだ。
「一定区切りでバラバラにする」って分割画像って奴の事?

284:名前は開発中のものです。
11/05/01 19:26:16.23 GZUIxE+L
>>283
そうそれ
1枚の画像をそれで分割して、subimageを何枚も作っておく
あとはメインアクションのChange the spriteでブロックごとにsubimageの画像を変更すればいいだけ

285:名前は開発中のものです。
11/05/01 20:28:48.12 24HhuA0O
>>284
アドバイスdクス
一応脱衣ブロック崩しにはなったよww

286:名前は開発中のものです。
11/05/01 20:36:04.77 v4vaMhb8
ブロックの座標に合わせてdraw_sprite_partしたら分割する手間が省けるかなと思ったり
楽をするための仕組づくりに手間かけるのもプログラミングの醍醐味よ

287:名前は開発中のものです。
11/05/01 20:42:32.65 24HhuA0O
>>286
それをExcuteCodeの中にぶち込んでどうにかすれば
あの長ったらしいIfのアイコンを並べなくて済むわけですね、わかります

今度は同じ物をGMLで作ってみるよ

288:名前は開発中のものです。
11/05/01 23:14:11.68 U7TmMKRc
頑張れ、風邪ひく前に頼むよ

289:名前は開発中のものです。
11/05/02 00:16:28.55 D5lQKg2j
>>288
ゴメン…画像は勝手にパクってる奴だからうpるの無理
パンツ穿いてこい

ヘルプやら>>257やら見てたら何とかGMLで出来たよ。
何とかやれそうだ、おまいらありがとう。

で、日本の非公式だとかwikiは現在では忘れられてる状態?
長らく更新されてないけど

290:名前は開発中のものです。
11/05/02 02:04:01.93 UL0eJI8Q
>289
Wikiは更新されてない箇所多いけどある程度役には立つから見て損はないよ
日本非公式はわかりづらいし、イベントのことまで書いてあるからどうだろうなあ
役に立つのはmbtext関連かな。
公式フォーラムを翻訳しながら眺めてるだけでも割と有意義だと思う

291:名前は開発中のものです。
11/05/02 18:11:25.40 D5lQKg2j
>>290
そーなのかー
教えてくれてdクス

そろそろレスしすぎかと思うんで
自重して一人で修行の旅に出てくるよ。
わかんないことあったらまた聞くかもしれんが、
よろしくお願いします

292:名前は開発中のものです。
11/05/02 18:12:41.36 gIJtv+AV
訊く前にまずバックアップ取ってから試すのを忘れるな

293:名前は開発中のものです。
11/05/02 21:13:01.66 ai/+YG7h
初心者ですみません、どうしてもわからなかったので質問させてください。
もしも気に障ったならスルーしてもらって構いません。
現在GML無しで横スクロール型のアクションゲームを作っているのですが、ジャンプした後や、高い所から落下した時に落下モーションを取ろうと思っています。
ジャンプして上昇中に上昇モーションを取ることはできるのですが、落下モーションに移行させるコツがわかりません。
何卒ご指導いただけるとありがたいです。


294:名前は開発中のものです。
11/05/02 21:35:41.85 gIJtv+AV
上昇時と落下時のspeedの違いでモーションを変えればいいだけ
負の値ならモーションAに正の値ならモーションBに

295:名前は開発中のものです。
11/05/02 21:47:52.17 ai/+YG7h
>>294
なるほど!
わざわざ回答頂き、ありがとうございました。

296:名前は開発中のものです。
11/05/02 23:07:06.15 n75L3pQw
マルチプレイの方法について質問です
日本語版ヘルプを読んだのですが

親側
mplay_init_tcpip(mplay_ipaddress())
mplay_session_mode(true)
mplay_session_create(sesname,playnumb,playername)

子側
mplay_session_join(numb,playername)

こんな感じのを適当なオブジェクトにでも入れれば接続出来るのでしょうか?
接続されたとして互いのデータはどのように共有されるのでしょうか?
mplay_data_writeで変数?の共有は出来るのでしょうか、
しかしルーム、オブジェクト、操作、など普通のゲームと同じ様に作っては複数人でのプレイはとても出来るように思えません
非常に単純な通信だけでも作ってみたいのですが、もし良ければご教授願いたいです。よろしくお願いします

297:名前は開発中のものです。
11/05/03 01:36:42.32 /zL0KSIx
専門外だが何度も呼び出すようなモノでもないんだろうし、user_definedイベントとかに入れちゃって接続する時とかホストを立てるときに呼び出せば楽そうだね
変数の共有だけど1,000,000の共有領域があるって書いてある。
番号を指定してやれば「親側の指定番号に含まれる内容を共有」することになる、という印象

単純な通信なら、インスタンスAを親側で動かして、子側で同じインスタンスAが動くか試してみるとか
親側のルーム移動で子側も移動されるのかとか、これは通常じゃ多分されないけど。
mplay関数が結構多いから眺めてても楽しいね 今度何か作ってみよう

298:名前は開発中のものです。
11/05/03 08:30:07.55 Lm+aiDTQ
共有領域にルーム情報とかがあれば、それを各々の固体のオブジェクトが参照して色々とできるんじゃない?
固体Aが動く→共有領域の情報に差異があれば→共有領域に位置情報格納→描画前に各々の固体で情報更新

マルチプレイなんて触ったこともないし、ヘルプ見て思ったことを書いただけだけど

299:名前は開発中のものです。
11/05/03 11:04:50.01 gTNZKyvs
スレがやけに伸びていると思ったら質問ばかりか
と思ったらエロいブロック崩しか


いいぞもっとやれ

300:名前は開発中のものです。
11/05/04 13:42:26.84 4/6+Iz6C
マルチプレイでエロいブロック崩しとか胸が熱くなるな・・・

301:名前は開発中のものです。
11/05/05 01:03:13.97 MgqdZdKE
負けると1枚着せられるのか
オチオチ抜いてる暇もない

こんな糞下らない発想を素人でも容易くゲーム化出来るのは最高の旨み。マルチプレイは訳分からんけど
こんな感じのツールでコンシューマー用のゲームが作れればゲーム業界は活発になるだろうし斬新な作品も沢山出そうだ
何より素人がコンシューマーゲーム開発出来るなんて夢みたいな話じゃないの

302:名前は開発中のものです。
11/05/05 01:09:17.48 JBnJO6ov
まぁあるけどな。ロイヤリティが高かったりと色々問題がある。

日本は特に鎖国文化だから技術共有はしたがらないし、ブランド力を大切にするから自社開発エンジンとか作っちゃう大手が多いよね
結局作ってもハードがポンポン出るからそれにも追いつかないといけないわけだし 問題は多いみたいね

このあたりでもどうぞ
Wikipedia項目リンク

303:名前は開発中のものです。
11/05/05 09:45:30.25 1FhwUPBo
負ける・・・?ナニを言っているんだ
協力してブロックを崩すに決まっているだろう

ゲーセンであったような
壁からの自機移動範囲を四角で囲んで
切り取っていくと裏の絵が表示されるタイプのゲームのがマルチにはよさそうだけどな

304:名前は開発中のものです。
11/05/05 11:51:18.22 dzP8cXHV
クイックスか

305:名前は開発中のものです。
11/05/05 12:52:19.10 2lG465FO
ギャルズパニックじゃねーのか?

306:名前は開発中のものです。
11/05/05 14:00:01.13 WPSiIO8D
お前ら詳しいなw
もう作っちゃえよ

マルチプレイ用のDLLならフォーラムで公開されてた気がする

307:名前は開発中のものです。
11/05/07 11:53:33.37 icn1PkuP
>>302
MMDとかがそうだけど、ネットでの集団製作文化みたいなのができると今後面白くなると思うだよなー

308:名前は開発中のものです。
11/05/08 02:42:21.59 wBtB3c8Q
たしかにGM単体でもいいから大きなコミュニティがほしいとは日々思う
公式フォーラムがまさにそんな雰囲気だけど日本にない・・・共有する感覚が少ないし、著作権の主張が強いからな

309:名前は開発中のものです。
11/05/08 13:29:47.01 zV8xakJA
描画した図形を回転させるのはPROじゃないと無理なのでしょうか?

310:名前は開発中のものです。
11/05/08 18:43:24.87 CZaxrsDW
>>308
pro版クレカ必須、日本語使いにくいで新規の人が入りづらい
使い慣れた人には折々のアップグレードは話題にするような追加機能がないってことで
結局人もネタもそれほどないんだよ
非公式フォーラムが廃れたのは惜しい反面しょうがないとも思う

>>309
お勧めしないけれど、最新lite 8.1 は回転できる
それ以外は回転画像を用意する必要があり

311:名前は開発中のものです。
11/05/08 18:44:17.76 A0zRpvOC
8.1Liteは広告が異常に多いとか聞いて触ってもいないわ

312:名前は開発中のものです。
11/05/09 13:09:59.63 cjimXQQf
GMで敷居が高いって事はないと思うけど、まぁ色々あんだろね

>309は描画した「図形」の回転だよね スプライトじゃないんなら出来るんじゃないかな。
まぁ面倒だけど、計算させるとか

313:名前は開発中のものです。
11/05/10 20:34:03.75 Xl95nJbq
スプライトのアニメーションが、EditSpriteのSpeedもRoomのSpeedも同じ30なのに、実際にプレイすると本来より早く動くのですが、これはどう修正すればいいですか・・・?

314:名前は開発中のものです。
11/05/10 21:03:12.31 T8uqKylv
EditSpriteの方のSpeedはあくまでプレビューだから関係ないと思う。
どっかでimage_speedをいじって1以上とかにしてるオチじゃないの?
image_speed = 1で早いと感じるなら0.2とか0.3とか

315:名前は開発中のものです。
11/05/10 21:27:12.48 Xl95nJbq
>>314
回答いただき、ありがとうございます。
EditSpriteとRoomのSpeedが同じでもプレビューの速度が実際に一致するとは限らないのですか。そういうもんなのですね。
左右移動時にアニメーションを左右使い分けているのですが、どうも挙動がおかしいのです。
アニメーションの変更は、別途歩行アニメーションのオブジェクトを用意してChange instanceを利用しています。
通常時は普通に動作してくれるのですが、特定の条件でインスタンスの親を変更させた後(プレイヤーキャラの変身で見た目と挙動を変えるためです。)、
移動アクションのコマンドを通常時とまるまる同じにしたのに、今度はアニメーションの最初の数コマまでしか表示されずにまた一コマから動くという妙な動きしかしないのです。
コマンドが同じなのに異なった挙動を取るので、もうさっぱりです・・・・。
わかりづらい内容でごめんなさい・・・。説明しづらいので、もしも回答しにくかったら、スルーしてください;


316:名前は開発中のものです。
11/05/10 21:43:52.91 T8uqKylv
個人的で悪いんだけど、アニメーション如きでインスタンスを消したり生成したりするのはお勧めしない。
アニメーションを切り替えるだけならsprite_indexでスプライトの指定を変えた方が遥かに楽だしバグを回避できる。

アニメーションについてはバグなのか仕様なのかわからないけど、スプライトのサブイメージ数がチェンジする前のインスタンスのものを引き継いでるとかそんな香りがする
よくわからんけど

317:名前は開発中のものです。
11/05/10 21:50:01.83 Xl95nJbq
>>316
こんな説明に、丁寧に回答いただき、重ね重ねありがとうございます。
まさしくおっしゃる通り、サブイメージ数を引き継いでました。親の枚数を増やしたら通常通り動きました!
本当に感謝いたします。
実はまだGMを触って2週間程の初心者でして、スレ汚し大変失礼しました。
sprite_indexですか。ちょっとわからないので調べてみます。


318:名前は開発中のものです。
11/05/10 21:50:53.80 Mg3KGJhG
subimageの切り替えをimage_speedじゃなくて変数を用いて使えば
A状態だとsubimageの0-6を使用、B状態だと7-12を使用みたいな感じにもできる
まぁ>>316のやり方が楽だと思う

319:名前は開発中のものです。
11/05/10 21:57:47.26 T8uqKylv
>318
なるほど 1個のスプライトで全部のアニメーションをカバーするのか
管理がダルいけどありな方法だなぁ

>317
sprite_indexはそのオブジェクトが指定しているスプライトIDだよ
ヘルプ読め URLリンク(www.geocities.jp)

320:名前は開発中のものです。
11/05/10 22:47:22.72 Xl95nJbq
>>319
なるほど、sprite_indexの意味がちょっとわかりました。
こっちの方が管理が楽そうですね。
ちょっと工事してきます。
回答いただけた方、本当にありがとうございました。

321:名前は開発中のものです。
11/05/10 23:34:40.50 PCGaliPA
>>316
instance_changeすると、オブジェクトのプロパティで設定できる項目
(depthとかvisibleとか)は新しいオブジェクトのデフォルト値に置き換わる。
それ以外の変数は、チェンジ前のものがそのまま引き継がれるというルールっぽいです。

というわけで
sprite_index は新しいものに変わるが
image_index, image_speed は今の値をそのまま引き継ぐ。
インスタンスの変更を使うなら、これらの変数は
createイベントあたりで初期化しておくのが無難。

322:名前は開発中のものです。
11/05/15 16:44:15.62 N6qdRXUq
アンドゥ機能って無いんですか?

323:名前は開発中のものです。
11/05/16 01:01:44.11 vRUdEGoj
>322
アンドゥは個別にあるだろ アイコンまであるのに。
何に対して言ってるのかまったくわからん

324:名前は開発中のものです。
11/05/16 10:11:31.38 lDJNj9Lq
アンドゥトロワ

325:名前は開発中のものです。
11/05/16 20:25:59.31 ytgKQB8D
プレイヤーを左(もしくは右)の方に置いた状態で横スクロールするために

//プレイヤーが右向きならglobal.muki=1
if(global.muki == 1) x = 120 + obj_player.x;
else x = -100 + obj_player.x;
y = obj_player.y;

というコードをstepで実行するオブジェクトを作って一応うまくいったのですが
なんだかスクロールが微妙になめらかじゃない感じがします
原因わかる方、ご教示してくださると幸いです
気のせいだったらすみません

room設定は
width 960
Height 480
View in room X 0 Y 0 W 480 H 320
Port on screen 同上
Hbor 240 Hsp 9
Vbor 160 Vsp -1
としています

326:名前は開発中のものです。
11/05/16 20:56:02.31 CFVi0QEm
どういう状態かよくわからない
プレイヤーオブジェクトの向きによって、見える視界範囲をスクロールする?
それとも強制スクロールでプレイヤーオブジェクトを画面外に出ないようにする?

327:名前は開発中のものです。
11/05/16 21:08:15.11 ytgKQB8D
すみません

目指しているのは、マリオのような通常横スクロールで、プレイヤーが画面の真ん中より進行方向逆側をキープしつつの
スクロールです
進行方向(プレイヤーオブジェクトの向いてる方向)の画面を多く見せたいのです
プレイヤーが逆方向を向いたときは、向いたがわの画面を多く見せたいのです


○をプレイヤーとすると、
右向きの時はこんな感じで、プレイヤは画面上はその位置をキープして


  ○
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

左向きの時は、実際の位置は変えずに、こういう感じにするのを目指しています


                         ○
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

う〜む…なんかうまく説明できません
申し訳ない

328:名前は開発中のものです。
11/05/16 21:10:34.71 ytgKQB8D
>>326
>>プレイヤーオブジェクトの向きによって、見える視界範囲をスクロールする?
すみません。見逃していました
たぶん仰る通りのことを目指しています

329:名前は開発中のものです。
11/05/16 21:58:08.71 CFVi0QEm
たぶん透明のオブジェクトを作って
viewはそれを追従するようにしてるんだと思うけど
それならHspの値を変更すれば追従速度が変わるんじゃないかな
少数点とかの細かい値は指定できなかったと思う

330:名前は開発中のものです。
11/05/16 22:00:28.57 sywNYm8h
Step じゃなくて End step に置くっていうのはやってみた?

331:名前は開発中のものです。
11/05/16 22:17:00.33 ytgKQB8D
ご教示ありがとうございます
End stepに置いたら上手くいきました!
原因は実行の順番にあったのかな

>>329
ずばりその通りにしています
原因は透明のオブジェクトの方にあるようでした
ありがとうございました〜

>>330
イマイチStep系統の使い勝手を分かっていませんでしたが、ちょっとわかったような気がします
ありがとうございました〜

332:名前は開発中のものです。
11/05/17 07:32:08.70 73LY8Wv3
皆は外部ファイル(セーブデータやミッションデータなど)はどうしてる?
自分はミッションクリア式のゲーム(例えばイキキ様のはかいマン)を作っているけれども、外部ファイルをどんな風に扱えば良いのかなと

携帯からすまん

333:名前は開発中のものです。
11/05/17 11:17:17.96 VvMqXX45
どうしてるってどういう意味?
セーブデータならexeと同じフォルダに適当なフォルダ作ってその中に入れてるな
暗号化したければお好みで

334:名前は開発中のものです。
11/05/17 13:46:18.19 i8OzSkbD
exeのあるフォルダにsaveフォルダ作って暗号化して放り込んでる

335:332
11/05/17 16:56:20.38 73LY8Wv3
>>333,>>334
ありがとうございます。
暗号化ですか…調べてみます

336:名前は開発中のものです。
11/05/19 03:23:58.02 7W9fWkhX
スプライトを読み込むとメモリ上ではbmpになるけど、メモリ上でもpngのまま扱う方法ってないのかな?
連番画像を読み込んだ時のメモリ使用量が辛くなってきた
ちょっとdllの作り方調べるくらいじゃ判断がつかない

337:名前は開発中のものです。
11/05/19 03:24:59.59 7W9fWkhX
ごめん、上のはpngを読み込むならpngのまま、gifを読み込むのならgifのままってことね

338:名前は開発中のものです。
11/05/19 03:56:58.93 +PTB5Jtq
ファイル形式のままメモリ上で保持するっていうのはない
読み込む画像データを少なくする手段を考えるほうが手っ取り早いはず
シーン毎に必要な画像だけ裏で読み込んでいらん画像は破棄するとか

339:名前は開発中のものです。
11/05/21 00:19:10.49 FrjLYHtD
8.1になってから半角カナ使えなくなった?

340:名前は開発中のものです。
11/05/22 02:23:55.82 DGEjNdCf
突然すみません、質問させてください。
アニメーションgifの特定のsubimageの時にwaveを鳴らすって処理はできますか?
例えばアニメーションの4番目と8番目が拳を振り下ろすシーンで、その時に打撃音を鳴らすといった事は可能でしょうか?
素人の質問で恐縮です。
もしよろしければ回答頂けるとありがたく思います。

341:名前は開発中のものです。
11/05/22 12:22:40.30 Q11em/4c
俺のやり方

効果音が鳴ったかどうかの変数を作っておき、image_indexが3以上になったら変数をtrueにして効果音を鳴らす

if image_index < 3
{
se_flag = 0;
}
else if image_index >= 3 && se_flag == 0
{
sound_play(効果音);
se_flag = 1;
}


342:名前は開発中のものです。
11/05/22 12:25:46.90 Q11em/4c
あ、8番目も鳴らすのか、ならこうかな

if image_index < 3
{
se_flag = 0;
}
else if image_index >= 3 && se_flag == 0
{
sound_play(効果音);
se_flag = 1;
}
else if image_index >= 7 && se_flag == 1
{
sound_play(効果音);
se_flag = 2;
}

343:名前は開発中のものです。
11/05/22 13:15:26.08 UUQ6TMbs
他にも効果音を鳴らす行動があるなら、配列とかも作ってどこで鳴らすかとかもやるといいかもね

a[0] = 2;//鳴らす箇所の数
a[1] = 3;//鳴らすimage_indexその1
a[2] = 7;//鳴らすimage_indexその2
sound_ids = 効果音1

if(!sound_isplaying(効果音1)){//効果音1が再生中では無いなら
for(i=1;i==a[0];i+=1){
if(image_index==a[i]){//image_indexがa[1~a[0]]の値ならば
sound_play(効果音1);//効果音を鳴らす
}
}
}

344:名前は開発中のものです。
11/05/22 13:17:04.98 UUQ6TMbs
ありゃ、修正ミスだ
たぶんこれで大丈夫なはず

a[0] = 2;//鳴らす箇所の数
a[1] = 3;//鳴らすimage_indexその1
a[2] = 7;//鳴らすimage_indexその2
sound_ids = 効果音1

if(!sound_isplaying(sound_ids)){//sound_idsが再生中では無いなら
for(i=1;i==a[0];i+=1){
if(image_index==a[i]){//image_indexがa[1~a[0]]の値ならば
sound_play(sound_ids);//sound_idsを鳴らす
}
}
}

345:名前は開発中のものです。
11/05/22 23:48:09.68 DGEjNdCf
>>341-344
回答ありがとうございます!
おかげで出来ました。ありがとうございました!

346:名前は開発中のものです。
11/05/23 15:59:21.06 AtLcnK/y
延々と右にスクロールするボスステージを作りたいのですがステージをループさせるのは可能なのでしょうか?
またボスが登場するときなどに画面を揺らす効果を付けたいのですがよくわからないので教えていただけないでしょうか?
なんとなくviewに関係ある関数を使うのだとは思うのですが・・・

347:名前は開発中のものです。
11/05/24 08:00:36.19 TE7zmycQ
ループの方法はいくつか思いつくけど全部力技だからもっと賢い人のレスに任せた

画面を揺らすのはviewで合ってるよ
view_*portとview_*viewの区別が最初はつき辛いから注意

簡単に言うなら、view_*viewがビデオカメラのレンズで
view_*portはビデオで撮った内容を映写するためのプロジェクターだと思えばいい

view_enabled = true; //view機能をONにする
view_visible[0] = true; //0番目のviewを使う

//まずはカメラで撮りたい場所を決める
view_xview[0] = 0; //ルーム内の座標x=0と
view_yview[0] = 0; //座標y=0から
view_wview[0] = 640; //幅640pixel
view_hview[0] = 480; //高さ480pixelの範囲をカメラで映す

//撮った内容をスクリーンのどこに映写するか決める
view_xport[0] = 0; //座標x=0と
view_yport[0] = 0; //座標y=0から
view_wport[0] = 320; //幅320pixel
view_hport[0] = 240; //高さ240pixelの範囲に映写する

348:名前は開発中のものです。
11/05/24 08:02:35.70 TE7zmycQ
こうすると、カメラで撮った範囲がスクリーンの左上に320*240に縮小されて写るはず
(スクリーンの大きさは640*480ってことにしとく)
ここまで出来たら、view_xportとかview_wportとか色々変えて
何が起こってるのが自分で理解してみるといい
丁度プロジェクターをいじってるような感じだね

次はview_xviewとview_yviewを変えてみる
これはカメラを動かすことと一緒だってわかるはず

それが出来たらあとは簡単
画面を揺らすってことは、つまりカメラを揺らすってことだから
view_xview[0]とview_yview[0]を適当に変えればOK

昔苦労したから色々書いたけど、とりあえず自分で色々触ってみるといいよ
ちなみにGMLじゃない方法は知らない

349:名前は開発中のものです。
11/05/25 02:30:01.55 ZZ2I1X7r
特定オブジェクトのインスタンス数を調べるにはどうすればいいのかしら

350:名前は開発中のものです。
11/05/25 10:10:27.96 j/e14whg
>>349
つ instance_number(obj)

351:名前は開発中のものです。
11/05/25 14:05:01.90 opsyaCmR
ニホンゴヘルプヲヨメコノヤロウ

352:名前は開発中のものです。
11/05/26 12:03:30.14 j9K6d2Wg
GM8.1はbGMスクリプト使えないのかなあ・・・。
Illegal array index in script "bGM_play".
trying to access argument[3], but only 3 arguments have been supplied.
ってエラーでて起動できないです。

353:名前は開発中のものです。
11/05/26 12:58:51.69 FOEeM3du
>>352
そのエラーをまんま翻訳すればわかると思うが。
要は値が足りてないってことで、以前のGMで省略できてたところが
8.1では省略不可になってるってこと。

354:名前は開発中のものです。
11/05/26 13:01:56.58 j9K6d2Wg
>>353
うう、つまり自分で修正コード入れない限り再生できないってことですか。
GMLを最近学び始めた俺には少し厳しい・・・・。

355:名前は開発中のものです。
11/05/26 13:54:15.81 FOEeM3du
修正の必要はないと思うけどな

bGM_play(filename, volume, is_loop, pan, pitch);

だからループやパン・ピッチの値を全部入れればいいんじゃね?

356:名前は開発中のものです。
11/05/26 14:13:00.56 j9K6d2Wg
>>355
お、おおおお!たったこれだけのことだったのか・・・!
危うくGM7で再出発するところでした。再生できました。
本当に感謝します。
くだらない質問でスレ汚しすみませんでした。

357:名前は開発中のものです。
11/05/26 14:23:45.17 YWyy1BIh
省略不可になってるとか、どんどん使い方が厳しくなっていくな
横着するなってことなんだろうが

358:名前は開発中のものです。
11/05/26 15:47:29.28 FOEeM3du
よこしま氏は省略した時のスクリプトをちゃんと組んでるんだけど
値を見るタイミングがそのコードを見た後だったのが関数のコール時点に
変更になってるせいだと思う。YoYo側はそっちのほうが楽にエンジン作れるからいいんだけど、
ユーザーにとっちゃ厳しい変更だよね。

359:名前は開発中のものです。
11/06/01 20:06:27.79 +m52XcHS
GMLからSet time lineみたいにタイムラインを使いたいのですがtimeline_add()の()部分にタイムライン名を入れるだけでは使えないのでしょうか?
Wrong number of arguments to function or script.とエラーが出てしまいます

360:名前は開発中のものです。
11/06/01 20:39:53.72 empjEd2o
なんでニホンゴヘルプ読んでから質問しねーんだよぉぉぉぉぉ!!

361:名前は開発中のものです。
11/06/01 20:52:15.33 Wfx+wiQY
timelin_addは引数をとらない。そしてそれはタイムラインを新しく作るための関数だ。
タイムラインを開始するには
timeline_index = 開始したいタイムライン と代入して
先頭から開始したかったら timeline_position = 0 にして
さらに、GM8以降だったら timeline_running = true にする。

362:名前は開発中のものです。
11/06/02 00:00:46.77 8YtJadZR
>>361
ありがとうございます
ヘルプのtimeline_indexは(番号)だとか書いてあってまた違うものだと思っていました
代入する物なのですね

363:名前は開発中のものです。
11/06/04 04:36:35.65 bKns1Szr
コードの中でaaa = x+yと書いた場合、以降aaaと書く度に計算されてるんだよね
ステップ中に一度出した計算結果を、再度計算抜きでそのまま参照する方法ってある?
計算内容によってはいくらかパフォーマンスが上がりそうな気がする


364:名前は開発中のものです。
11/06/04 04:40:17.43 +R2gRvWC
aaaという変数にx+yの計算結果が入っているだけ、計算式が入るわけじゃない

365:名前は開発中のものです。
11/06/04 06:04:20.74 bKns1Szr
その計算結果を出すために毎回計算しているという事は無いんですか?

スクリプトaaa「x+y」
スクリプトbbb「hspeed+vspeed」

instance_create(aaa(),bbb(),object)

この場合でもそれは同じですか?

366:名前は開発中のものです。
11/06/04 07:02:02.49 +R2gRvWC
スクリプト呼び出しの場合は毎回計算される
変数を読むだけなら計算された結果の値
step毎にaaa = x+yの計算はされる

計算するための条件をつけるとかで多少は改善できるかもしれないけど
単純な数値だけの計算だと、あまり関係無いと思う
文字を数値に変換したりを毎step繰り返すと重くなるけどね

>>365の場合
x+yの計算→hspeed+vspeedの計算→そしてオブジェクトの作成

367:名前は開発中のものです。
11/06/04 07:08:45.01 bKns1Szr
なるほど
スクリプトはコードが綺麗にまとまるので頻繁に使っていましたが
内容によっては直接書いたほうが良いという事なんですかね
どうもありがとうございました

368:名前は開発中のものです。
11/06/04 07:26:48.41 +R2gRvWC
条件次第だけど必要なときだけ計算させて使うって方法があるかな

x+y位置の情報を得るなら、キーを押して移動した後に
変数=aaa()とかで結果を入れるようにするとか
移動しない限り変数の値が書き換わらない

369:名前は開発中のものです。
11/06/04 08:00:33.49 bKns1Szr
x+yというのはでたらめ過ぎたのでもう少しまともに書くと

スクリプトPD「point_direction(x,y,target.x,target.y)」

if (PD() > 0) && (PD() <= 90){ 処理 }
if (PD() > 90) && (PD() <= 180){ 処理 }
if (PD() > 180) && (PD() <= 270 ){ 処理 }
if (PD() > 270) && (PD() <= 360){ 処理 }

このPDの計算をステップ中一度だけに出来ればコスト削減になるのではと考えたのです
スクリプトよりもPD = point_direction(x,y,target.x,target.y)又はvar PD(略)としたほうが良いのでしょうか

370:名前は開発中のものです。
11/06/04 10:44:32.20 uM1fq+B8
処理を分岐させるための変数を「PD」、
point_direction(x,y,target.x,target.y)の計算をするスクリプトを「ScriptPD」
としたときに

PD = ScriptPD; //このように変数に計算結果を代入すれば毎回計算しなくて済む

if (PD > 0){ //ついでにこっちのコードもすっきり
  if (PD <= 90){処理1}
  else if (PD <= 180){処理2}
  else if (PD <= 270){処理3}
  else if (PD <= 360){処理4}
}


371:名前は開発中のものです。
11/06/04 11:06:07.76 bKns1Szr
大変為になりました
どうもありがとうございます

372:名前は開発中のものです。
11/06/04 11:18:43.54 bKns1Szr
何度もすみませんがvarでスクリプトを代入した場合でも>>370でしょうか?

373:名前は開発中のものです。
11/06/04 11:37:28.17 uM1fq+B8
varは代入ではなく変数の作成。
ScriptPDの返す値は0〜360の整数で、GMLは変数の頭文字に数字が使えないので
var ScriptPD();とするとエラーが出る(はず)

374:名前は開発中のものです。
11/06/04 18:00:28.68 bKns1Szr
var PD ;
PD = scriptPD() ;

これなら>>370も一度の計算で大丈夫ですよね?

375:名前は開発中のものです。
11/06/04 20:30:40.98 czogavCN
ごめん、まともに考えてレスしようと思ったけど、処理速度ほとんどかわらんのだからPD=point_direction(x,y,target.x,target.y)でいい。
その後の処理は同じイベントか同じスクリプト内でやるんならvar宣言すれば多少はメモリ節約にはなるけど微々たるもんだから気にする必要はないと思う。

ちなみに単純にPD=ScriptPD()なんてやっても多分何も返してないんだから0が代入されるんじゃない?
スクリプトの最後にreturn(PD)とすればPDに代入されたもんが返ってくる。
でも上の例じゃスクリプト内でvar宣言してないPDは、呼び出したオブジェクトのローカル変数になるしreturnも必要ないし

376:名前は開発中のものです。
11/06/04 20:41:14.61 czogavCN
バージョンによって違うのか知らんが、スクリプトは関数的な扱いだから変数に関数の結果を代入するのならPD=ScriptPD()という書き方が正しい(つかそうじゃなきゃエラーになる)
そしてpoint_direction自体が関数なのだから、二度手間にしてる分余計な処理が増えてると思う。

あとvar宣言は変数の作成ってか、一時的に使う変数みたいなイメージ。
その場でしか使えない変数だから、スクリプト内で使ったらどこにも定義されてない変数になる。(呼び出し元のオブジェクトのローカル変数にもならない)

それとたかだか何十桁の計算をしても処理速度はまず変わらないから気にしない方がいいよ。計算機ですら計算しても一瞬で答えが出るんだから。

377:名前は開発中のものです。
11/06/04 22:38:19.27 bKns1Szr
長時間に渡ってのレスありがとうございます

基本的な数値計算なら細かいことは気にしなくても大丈夫なのですね
極端な話>>369でもパフォーマンス上は問題がないと

PD = ScriptPD; //このように変数に計算結果を代入すれば毎回計算しなくて済む

この事についてのソースはありますでしょうか
勿論疑っているわけではないのですが、ネット上で見られるなら勉強の為に見ておきたくて

378:名前は開発中のものです。
11/06/04 22:51:51.73 czogavCN
>377
それは間違い。

ScriptPDというスクリプトを参照し、中身のpoint_direction関数を実行、結果を変数PDに代入 という一連の流れをやっている。
PD=point_direction(...)でやった場合は、point_direction関数を実行、結果を変数PDに代入 だけになる。

やりたいことは多分、前ステップとの座標を比較して、違いがあれば処理みたいなイメージかもしれないけど
結局前ステップとの比較と言う「計算」をしている以上毎回計算しなくて済むわけがないからあんまり意味ない。

まぁ処理速度的な話になるならどれにしても大差ないだろうけど

379:名前は開発中のものです。
11/06/04 23:00:48.85 czogavCN
パフォーマンスに関して考え出すなら、GameMakerというよりはベースになってるDelphiを調べた方がいいんじゃないかな
GameMakerはライブラリ的な位置付けになりそうな感じがするから、GameMakeで何も処理しない状態のパフォーマンスから計測していけば、単純にどれだけ時間がかかるか出るかもしれない。
とはいえ1フレーム内でルームの描画、インスタンスの配置、ステップ内各処理、描画処理などなどをやってんだから計算程度じゃ0.000...秒という世界だろうけど。

380:名前は開発中のものです。
11/06/04 23:05:11.56 bKns1Szr
間違いというのは「PD = ScriptPD; //このように変数に計算結果を代入すれば毎回計算しなくて済む」でしょうか
>>370にこのように書かれていたのですが

処理速度的な事を訊きたかったとはっきり書かなくて申し訳ありません
実際に>>369の様な事がしたいわけではなく同じスクリプトを何度も使っている例として出しただけです

どれも大差無いということならゲームを作る事に集中したほうが良さそうですね

381:名前は開発中のものです。
11/06/04 23:07:47.43 bKns1Szr
>>379
素人の手の出る領域では無さそうですね
おとなしくゲームの完成を目指します
ありがとうございました

382:名前は開発中のものです。
11/06/04 23:18:28.12 czogavCN
そう。 最終的に計算して代入してるから同じ。

例えば何かしら計算をさせる処理を複数のオブジェクトでやった場合無駄になる。
1ステップで何度も計算する事になるからね。

だから計算させるためのオブジェクトを一つ用意して毎ステップ1度だけ計算させるのがスマートだと思う。

これは個人的なやり方なんだけど、オブジェクトごとに数値をもっていると管理が大変な場合が多いからPersistentな管理用のオブジェクトを作っておくのはおすすめ。

383:名前は開発中のものです。
11/06/04 23:42:10.73 8RjBJbYc
GMLのスクリプト呼び出しはオーバーヘッドがすごく大きいんだよなあ
GMに直してほしい機能のうちの一つだな

384:名前は開発中のものです。
11/06/06 22:52:52.63 YrcUqfkL
あるインスタンスの配列に違うインスタンスの変数の値を使うにはどうすればいいのでしょうか?

385:384
11/06/06 22:54:53.16 YrcUqfkL
あ、配列の添字にです

386:384
11/06/06 23:16:40.20 YrcUqfkL
自己解決しました
単に他の部分でミスしてただけでした

387:名前は開発中のものです。
11/06/06 23:27:05.85 BDlMKDQQ
>>370の「PD = ScriptPD; //このように変数に計算結果を代入すれば毎回計算しなくて済む」について簡単な実験をしてみた
本当に毎回計算していないのかはわからないけど、それっぽい結果は出た
糞忍法で長文が書けねえので分割


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

4688日前に更新/258 KB
担当:undef