【2D】ゲーム作成ツー ..
[2ch|▼Menu]
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; //このように変数に計算結果を代入すれば毎回計算しなくて済む」について簡単な実験をしてみた
本当に毎回計算していないのかはわからないけど、それっぽい結果は出た
糞忍法で長文が書けねえので分割

388:名前は開発中のものです。
11/06/06 23:32:53.02 BDlMKDQQ
@
スクリプトscr
test+=1
return(point_distance(0,0,mouse_x,mouse_y))

オブジェクトobj
クリエイトイベント
test=0
ステップイベント
scr()
ドローイベント
draw_text(0,0,scr())
draw_text(0,10,test)

これを実行するとx0,y0からマウスまでの距離と変数testが表示され、変数testは1ステップ毎に1増えていく

389:名前は開発中のものです。
11/06/07 00:28:57.87 ZJ4o791x
A
ドローイベントを
draw_text(0,0,scr())
draw_text(0,10,scr())
draw_text(0,20,test)

これを実行するとマウス距離が2行表示され、変数testは1ステップ毎に2増えていく

390:名前は開発中のものです。
11/06/07 00:33:25.16 ZJ4o791x
B
ステップイベントを
SCR=scr()
ドローイベントを
draw_text(0,0,SCR)
draw_text(0,10,SCR)
draw_text(0,20,test)

これを実行するとマウス距離は2行表示されるが、変数testは1ステップ毎に1増えていく
以上

391:名前は開発中のものです。
11/06/07 02:40:26.35 zx6XrJ8s
Aはスクリプトを2度呼び出しているからpoint_distanceの結果は変わらないけどtestを2回加算している事になる。
毎回計算しているっていうのと毎回加算しているっていうのは微妙に意味が違うような気はするけど、確かな結果だね。
スクリプトを呼び出した時点で計算はされている。

それを変数に「一度」入れれば同じ計算を1ステップ内で何度もする事はない。けど何度も計算しなければならない状況もあるから注意。

使い方次第だとは思う。

392:名前は開発中のものです。
11/06/07 19:39:04.85 ZJ4o791x
>>391
なぜだか結果の変わらない物を使った方が良い気がしてた

スクリプトに返させる値をtesterに変更してAの様にするとtest,tester共に2づつ、Bの様にすると共に1づつ増えていった

実験の結果から「PD = ScriptPD; //このように変数に計算結果を代入すれば毎回計算しなくて済む」は(おそらく)正しい
これは>>363の望み通りの物だと思う

393:名前は開発中のものです。
11/06/08 11:20:12.83 WSSU3+pj
URLリンク(madebyluke.com)
これだとジャンプ中に左右キーを放すとカクっと見えない壁にぶつかったようになるのですが
洞窟物語みたいに気持よくジャンプをするサンプルがあったら教えてください


394:名前は開発中のものです。
11/06/08 11:27:12.91 4811qVsV
hspeedとかを徐々に増やす、減らすようにすればいいだけじゃないか?

395:名前は開発中のものです。
11/06/10 20:55:49.84 KxmQk2Cc
test

396:名前は開発中のものです。
11/06/10 20:59:58.25 KxmQk2Cc
忍法帖orz
>>393
左右移動にhspeedを使って、プレイヤーオブジェクトの生成イベントでfrictionを0.3程度に設定するとうまくいくかもしれない

397:396
11/06/12 20:29:55.89 HJZIl/jx
>>393
URLリンク(www.mediafire.com)
こんな感じ?

398:名前は開発中のものです。
11/06/16 18:40:01.87 XN0pClxu
ver.8.1にて。
テストプレイしかしてなかったから知らなかったぜ。
exe吐き出したら画面にロゴ残しやがった。
これPro化しないとまともに配布もできなくなったのかよ…

399:名前は開発中のものです。
11/06/16 21:54:13.11 BFj+P58V
当初の段階だと、8.1 Liteはexe化すらできなくする予定だったのを
ロゴ付きならできるようにしましょうと変更されたんだよ
結局商売だからこういう流れになるのは仕方ないんじゃないかな
購入する予定がないなら8.0 使えばいいと思うよ

400:名前は開発中のものです。
11/06/17 06:53:09.21 NDC+ghZU
GML使える人ならHSPとかに移ったほうがいいレベルの糞ツールになりかけてる

401:名前は開発中のものです。
11/06/17 08:33:58.91 7p6/goCA
ツール作るならまだしもゲーム作りなら手軽さが数レベル違うわ

402:名前は開発中のものです。
11/06/17 11:06:14.88 DA2eICap
Proって言ってもせいぜい数十ドルだろ?
払った方早い

403:名前は開発中のものです。
11/06/17 12:24:10.20 NSQKaG+q
あらかた完成してから気が付いたからもう買うしかないんだけどね。
てか40$って値上がりしてたのか、これまた知らんかった。

404:名前は開発中のものです。
11/06/18 00:31:31.40 /YlR1dsF
20ドルでも高いと思って渋ってたのをやっと買おうと思ったのに値上げ…

405:名前は開発中のものです。
11/06/18 06:20:41.48 RFJ3bSCD
普通に1万以上するツールが溢れてる中に比べれば日本円にして3200円程度なら安いだろ
GMLは割りと色んな言語に通じるものがあるがHSPは微妙だし

日本語入力ができないとこ以外は結構いいと思うけどな

406:名前は開発中のものです。
11/06/18 10:36:54.51 CQo3XnF/
8.1 が高いか安いか言われると若干割高な気がするな
GM自体高機能なソフトじゃないし
値上がりするのはしょうがないけど
毎回中途半端な機能を適当につけて新機能ですっていうのは正直やめてほしい
通販で2個セット+おまけで1万円の大特価と同じ印象を受ける


407:名前は開発中のものです。
11/06/18 23:09:46.34 /YlR1dsF
最初から40ドルです、どうですか。ってのなら良かったかも知れないけど
つい先日まで20ドルだったのが何が増えたのか良くわからないバージョンアップで倍になるってのが心理的に来るなあ

408:名前は開発中のものです。
11/06/19 10:00:04.01 qlVse/Xe
高いだの他のツールのがいいだの言うなら買わなきゃいいしGMを使わなきゃいい
割に合った開発環境をそろえるだけの根性も知識もないからGM使ってんだろ 文句言うな

409:名前は開発中のものです。
11/06/19 12:00:21.18 j0JA/0gE
何様だよ

410:名前は開発中のものです。
11/06/19 13:20:26.33 Q8kPrGnz
使ってて糞な仕様変更されたんだから文句言うに決まってんだろ

411:名前は開発中のものです。
11/06/19 13:43:22.67 qlVse/Xe
タダ飯食って不味いと言うのか

ツールによっては年間更新料で数万取るようなツールもあるし、強制で仕様変更されるのが普通
過去のバージョンが残ってて、未だに無料で使えるならマシだろ

文句を言うならタダ飯でも食わなきゃいい話

412:名前は開発中のものです。
11/06/19 13:55:18.30 j0JA/0gE
他ツールの普通を語ってどうするわけ?
GMの話題なんだけど?

413:名前は開発中のものです。
11/06/19 14:07:09.79 qlVse/Xe
語ってるんじゃなく比較してるんだよ

GM高いよな、クソだよなと文句を共有してるのがGMの話題ではないと思う
それならいい所を見出して、うまく使う方法を考える方がよっぽど有意義だろ

414:名前は開発中のものです。
11/06/19 14:21:58.02 j0JA/0gE
最近あった値上がりや無料版のゲーム内ロゴはGMの話題だが
大した機能も追加されてないのにうまく使うもなにも無いだろ
それにそう言うならうまく使う方法を教えてくれよ
当然考えてあるんだろ?

415:名前は開発中のものです。
11/06/19 14:32:31.57 qlVse/Xe
比較的ASやJSライクなGMLというスクリプト言語はかなり親しみやすいし、実際は他の言語の入門としても使えるだろうね
Delphiの開発の敷居が一気に高くなった中でDelphiベースのアプリケーションが作れるソフトがGMだけだし
仮に金を払ってもDelphi XEより遥かに安い。勿論機能も劣るけどデータベースとかまで使わないだろ
更に8.0以降、特に8.1はiPhoneアプリの開発も出来るようになってるだろ。それをロイヤリティを取らずに商用で使えるツールなんてまずないぞ

値上がりやロゴなんて7.0になる前からあるものだし、個人的な感想を共有するのは自由だけどネガティブ方向に持ってって何も生まない議論をするだけ無駄だろ。
それなら文句を言う前に使うのをやめろって話をしてるだけ しかもタダで使ってるなら文句を言える立場にないだろ

416:名前は開発中のものです。
11/06/19 14:40:11.54 j0JA/0gE
なるほどなるほど

で、個人的な感想を共有するのは自由なんじゃないの?
こんなの一時的な話題じゃん
そもそもなんで文句を言う前に使うのをやめろ、と言える立場にいるの?


417:名前は開発中のものです。
11/06/19 14:46:21.46 qlVse/Xe
何も生み出さない馴れ合いなら他所でやれってハッキリ言わないとわからんのか
立場的な問題じゃなくGM自体の評価を無駄に下げたくないだけ。

互いに無駄に酷評する立場でもないだろ そこが気に障ったなら謝るよ。

この議論も何も生み出さないからとっとと切り上げたいんだが、そろそろいいか?

418:名前は開発中のものです。
11/06/19 14:57:21.47 j0JA/0gE
おいらっち他ツール使ってるんやけど?w、みたいのが来たと思って絡んだ
今は反省している

419:名前は開発中のものです。
11/06/19 15:11:15.57 SHs/B8KT
試食があったので食ってみたらまずかった
「これ不味いな」と言ったら隣に居たおっさんが突然顔を真っ赤にして説教してきた

420:名前は開発中のものです。
11/06/19 15:15:54.54 qlVse/Xe
言いたい事はわかるけど試食とタダ飯は違うからな

GMで外部エディタを設定できるけど、Notepad++とかに設定してスクリプト編集して保存すると警告みたいの出るんだよね
外部エディタの設定まではできるけどその後の使い方がいまいちわからない
上手い事使ってる人がいたら教えてほしい

421:名前は開発中のものです。
11/06/19 15:41:40.63 Gqbg3NoR
GMの形態とタダ飯は違うからな

422:名前は開発中のものです。
11/06/19 17:20:45.55 AoSPIDSG
>>420
煽る暇があったら警告の内容を書くもんだよ。フリーダムすぎるだろ

外部エディタは設定すると、外部エディタが起動する前に
GMの一時フォルダにスクリプトのコピーをとったランダムな名前のテキストファイルが作成され
外部エディタはそのテキストを操作するだけ。
保存は別名保存ではなくそのまま保存
外部エディタを閉じると本体のスクリプト内容が更新される
仕様として外部エディタ起動中はGMの一切の操作はできない
GM誰得使えない機能のうちの一つ

423:名前は開発中のものです。
11/06/20 00:43:50.62 quydNYTY
何か仕様変更とか値上げとかでGMをクソ扱いした事に対して騒いでるみたいだけど別に誰もクソ扱いしてないよね
ただ値上げしちゃって買い難いとかその程度の話題だったのによくここまで騒げるよね

424:名前は開発中のものです。
11/06/20 21:11:28.16 qRn5+5kq
批判を批判して、その批判をさらに批判する
みんな自分が絶対正しいと思って

425:名前は開発中のものです。
11/06/21 05:19:01.04 8AvTEICi
ゲーム作成ツールは多少糞でもいい金になる
ぼろい商売っすなぁ

426:名前は開発中のものです。
11/06/21 09:32:36.07 H31NlCMP
どうでもいいな

それはそうとds_grid_writeってかなりの曲者っぽいな
試しに100x100のgridを書き出してみたらものすごい容量になって吹いた
入ってる変数の型が判ってるならバイナリで直書きした方が軽い

427:名前は開発中のものです。
11/06/21 12:42:34.24 4DOz1QNy
まあ今回(8.1)から割とこまめにアップデートが来るのがせめてもの救いか?

428:名前は開発中のものです。
11/06/21 18:42:53.83 rj1jFBt0
GMよりいいソフトってなにかあるの?
MF2みたいなコードが書けないのは論外

429:名前は開発中のものです。
11/06/22 00:57:07.87 x6FccL80
思い付く限りないよ
金額まで考慮して挙げるならGM6あたり

430:名前は開発中のものです。
11/06/22 17:09:42.23 q4/PnhgD
なんかブレンドモード変更するとスプライトが1ドット分太るんだけど前からこうだったっけ?
新しいバグなんて事は無いのかな

431:名前は開発中のものです。
11/06/24 01:12:57.01 08wj5d9s
マルチプレイを作成中なのですが、ヘルプの説明が不十分すぎて全然わかりません
とりあえず、ローカルIPの固定と、ポートの開放は行ったのですが、
ホスト側のIPがグローバルなのかローカルなのか、参加側のIPがグローバルなのかローカルなのか・・・
その4通りだけでなく、いろいろ試しましたが全然つながりません
ひとりで2つ起動してやるとつながるのに・・

432:名前は開発中のものです。
11/06/24 05:44:24.10 own6AuiI
自分じゃやったことないけど
YoYoGamesのフォーラムにもっと高機能っぽいDLLがアップされてた気がするから
いっそそっちを試すのもアリかも
ヘルプが不十分かは謎だが

433:名前は開発中のものです。
11/06/24 12:07:19.17 08wj5d9s
39dllってやつ?英語だけどがんばってみる
ヘルプの説明はガチで適当だよ・・・

434:名前は開発中のものです。
11/06/25 00:26:49.49 gDLDeMO0
機能として使えるかどうかは別として
mplay は順序立てのヘルプだけじゃなくてチュートリアルもあったと思うけどな

435:名前は開発中のものです。
11/06/25 01:19:32.91 TwAKnDWN
39dll使ったらできました!ありがとうございました!
思ったより簡単だったなあ
しかしラグが・・・アクションゲームはやはり無理か・・・

436:名前は開発中のものです。
11/06/25 04:10:24.88 r6S+QriT
>>433
そうそうそれ、って言おうとしたらできたみたいで良かった
探せば結構色んなことができるからフォーラムマジおすすめ
SLGとかTCGならラグも気にならないんだけどね…

437:名前は開発中のものです。
11/06/25 15:07:13.73 TwAKnDWN
ラグあまり気にならないレベルにできた
やべえめちゃくちゃ面白いこれ


438:名前は開発中のものです。
11/06/25 18:34:47.71 fOpT0qzC
アクションゲームでラグほとんど無く出来たのか?
そうなら超羨ましいんだがw
俺もネット対戦できるアクションゲーム作りたいぜ

439:名前は開発中のものです。
11/06/25 18:41:45.74 TwAKnDWN
いや最初の状態と比べたら相当よくなったって感じか
キーを押したときに情報を送って、1秒間に5回座標送ってラグを直す
たまにワープするけど問題なく遊べる感じ

440:名前は開発中のものです。
11/06/25 18:52:02.70 fOpT0qzC
なるほど
GameMakerでも結構まともなマルチプレイのゲームを作れるっぽいんだな
わくわくしてきた

441:名前は開発中のものです。
11/06/26 19:05:34.36 DfQtvLV+
また問題点がでてきた・・・
39dllで例えば4人対戦とかするとき、サーバーじゃない人同士での情報の共有ってできないのかな

今のままだと、ポート開放してる人しか部屋をつくれなくて、部屋に入る人はその人のIPを知らないといけないから
俺がサーバーになって、部屋を作る、部屋に入るの選択画面になった時点で実はもう俺の部屋に入っていて、
その下に擬似的に部屋を作るようなシステムを作ってるんだけど、他人同士で情報が共有できない・・・

442:名前は開発中のものです。
11/06/27 19:40:05.41 Zalmw3Ec
>>430
やっぱりなんかおかしいな

色反転
draw_set_blend_mode_ext(bm_inv_dest_color,bm_inv_src_color);
draw_self();
draw_set_blend_mode(bm_normal);

なぜかスプライトが上下左右に膨らむ、四角なら丸っこくなる

さらにスプライトの絵を別の物に描き直して再度ゲームを実行すると
描き直したスプライトの絵が膨らんで描画され、なぜか描き直し前のスプライトまで一緒に描画される(こちらは膨らまず)

443:名前は開発中のものです。
11/07/02 16:12:50.42 1iOlwy1m
修正小出しにして、アップデートするたびに課金を要求するのか、ボロい商売だな

444:名前は開発中のものです。
11/07/02 18:43:04.17 YBEzJP93
アップデート来たぞ
>430のブレンドモードは直ってなかった
バグとして報告すべきかなどうやるのか知らんけど

あと日本語が使えるようになった
でもコメントだけにしといたほうが良さそう

445:名前は開発中のものです。
11/07/02 21:47:31.42 LjTwIGRR
ゲーム中に出すメッセージとかは普通に日本語化できるしな

446:名前は開発中のものです。
11/07/03 12:48:15.60 07q5wdTE
マジか>日本語
8を持ってても8.1は再課金しないといけないんだっけ?

447:名前は開発中のものです。
11/07/04 12:32:32.29 B+oiCqNg
8.0 をスタンダードにしていれば、8.x へのアップデートは無料が保証されているはず

448:名前は開発中のものです。
11/07/05 00:39:10.57 C2W0zrsg
ゲームの中で動画再生ってできますか??
できるんだったらやり方も教えてくれればありがたいです

449:名前は開発中のものです。
11/07/05 00:45:05.37 C2W0zrsg
a

450:名前は開発中のものです。
11/07/05 00:46:13.07 C2W0zrsg
↑すみません!間違えて書きこんでしまいました!

451:名前は開発中のものです。
11/07/06 10:49:06.78 K+Ku9vpC
ゲーム画面中に動画再生するのは無理。

452:名前は開発中のものです。
11/07/06 11:32:36.87 V2uyM92M
あるかどうかは不明だけど
>>432の言うYoYoGamesのフォーラムで、そういう機能の外部DLLを探すか
アニメーション用に用意した画像を切り替えながら、音を流すかしかないだろうな

453:名前は開発中のものです。
11/07/06 17:18:24.06 0vJqpPm3
>>451
>>452
やっぱり無理なんですね、ありがとうございました!

454:名前は開発中のものです。
11/07/09 04:13:16.81 q0f0Q3mt
いやよく読めよ・・・
>>452が言うようにDLL探せばそれくらい普通に出来る
ググっただけでGmmovieとか出て来たからこれ使ってみれば?

455:名前は開発中のものです。
11/07/09 23:32:07.62 qiwmdN74
フォーラムとか説明が英語ってだけで敷居高く感じるからなあ
DLLとかは初心者にとっては得体のしれない物なんだよ

456:名前は開発中のものです。
11/07/09 23:46:06.91 +zEWNiTr
gmmovie.dll を試しに使ってみたが、動画を背景のように扱うことは出来ないみたいだねぇ、残念。

457:名前は開発中のものです。
11/07/11 12:42:44.44 DIrsZu+G
これは便利そうと思って試したら最初で躓いた
{
room_caption = "FPS: " + string(fps);
draw_set_font(font0)
draw_text(0,0,"fps= " + string(fps)) ;
}
「font0」をデフォルトのまま作成して
空オブジェクトをルームにおいてSTEP実行したがテキストが表示されない。
room_caption の部分は動作しているのでスクリプトは動いているはずなんだが。
日本語環境だと英語も使えないとか?

458:名前は開発中のものです。
11/07/11 12:49:30.62 DIrsZu+G
自己解決
STEPイベントじゃなくてDRAWイベントじゃないとダメなんだな・・・。


459:名前は開発中のものです。
11/07/11 17:21:26.52 3j0l18ds
stepイベントのタイミングでも、実際には画面バッファには書き込まれてる。
だけど、drawイベントに入るときに背景やら何やらで全画面が再描画されるから反映されない、
という仕組みであることを覚えておくとよいよ。

460:名前は開発中のものです。
11/07/12 07:12:57.83 tQuQ1cZC
へえそれは知らんかった。
surface以外でその情報が役に立つ場面ってあるかな?

>>457
stepとdrawで躓くのはGMLで誰もが通る道、だと勝手に思ってる

461:名前は開発中のものです。
11/07/12 17:10:32.93 Eyy6yO5M
draw以外でも再描画する命令を使えば描画できたりするんかいな?

462:名前は開発中のものです。
11/07/13 21:13:08.62 M8LiFDgv
2つの直線が交差する座標を計算したいのですが
どのようなコードを書けばいいでしょうか?
分かっているのは、2つの直線の始点と終点だけです。

463:名前は開発中のものです。
11/07/13 22:24:49.23 NAhvM6lr
酒に酔った勢いで、うろ覚えで間違ってたり遅いかも、細部は調整必須
{var ax0,ay0,ax1,ay1,bx0,by0,bx1,by1;//0:始点 , 1:終点
ax0=argument0;ay0=argument1;ax1=argument2;ay1=argument3;
bx0=argument4;by0=argument5;bx1=argument6;by1=argument7;
global.calcx=0;global.calcy=0;//結果

var sl_a,sl_b;sl_a=(ay1-ay0)/(ax1-ax0);sl_b=(by1-by0)/(bx1-bx0);//傾き
var ArrayA,ArrayB;//行列式Ax=B
ArrayB[0,0]=ay0-sl_a*ax0;ArrayB[0,1]=by0-sl_b*bx0;
ArrayA[0,0]=-sl_a;ArrayA[0,1]=-sl_b;
ArrayA[1,0]=1;ArrayA[1,1]=1;
var detArrayA;detArrayA=ArrayA[0,0]*ArrayA[1,1]-ArrayA[0,1]*ArrayA[1,0];//これ名前忘れた
if(detArrayA==0){global.result=false;return -1;}//解なし
var invArrayA;//逆行列
invArrayA[0,0]=ArrayA[1,1]/detArrayA;invArrayA[1,1]=ArrayA[0,0]/detArrayA;
invArrayA[0,1]=-ArrayA[0,1]/detArrayA;invArrayA[1,0]=-ArrayA[1,0]/detArrayA;
//交点計算
global.calcx=invArrayA[0,0]*ArrayB[0,0]+invArrayA[1,0]*ArrayB[0,1];
global.calcy=invArrayA[0,1]*ArrayB[0,0]+invArrayA[1,1]*ArrayB[0,1];
global.result=true;return 0;}

464:名前は開発中のものです。
11/07/14 12:33:59.78 bYbAE0oY
detArrayAが行列式でAx=Bは行列方程式だね、どうでもいいけど

>>463じゃないけど>>462のために一応解説すると、簡単に言えば連立一次方程式を解いてるだけだね
つまり
直線@:y = ax + b
直線A:y = cx + d
のa〜dをそれぞれの始点と終点から割り出して、あとは交点を計算するだけ
それを一般的にやるなら行列方程式になるんだけど、もし複雑だったら
a〜dを割り出した後
x0 = (d-b)/(a-c); //交点のx座標
y0 = a*x0 + b; //交点のy座標
だけで足りるはずだよ
ただし a = c の場合はエラーになるから注意

465:名前は開発中のものです。
11/07/14 22:38:48.32 Zyk4CVeb
>>463-464
ありがとうございます。
数学は苦手なので、原理はよくわかりませんが、コピペしたらうまくいきました。


466:名前は開発中のものです。
11/07/15 22:30:42.27 Qjoeq250
while(x=1 && y=1)
とした場合、x=1とy=1の両方が真の場合ループが継続するのでしょうか?
それとも、片方のみが真の場合ループになるのでしょうか?

467:名前は開発中のものです。
11/07/16 01:55:01.72 CuCm9AmG
同値判定は==な
&&は見たまんまアンドだから二つとも真でないと全体が真にならない

468:名前は開発中のものです。
11/07/16 08:43:25.55 tIImVnZu
GMは()内の=は==として扱う

469:名前は開発中のものです。
11/07/16 09:06:41.08 dh9v5UQq
delphi は同値比較が=で、代入が:=だから部分的な記述としてはいいんだけど
delphiの演算子も混ぜて使えるってのはこれから覚える人にあまりよくないよなあ
全体的にみるとGMLはプログラミング勉強用として優しくない仕様だと思う
GMLの演算子はhelpにあるexpressionに合わせるのがいいよ

470:名前は開発中のものです。
11/07/16 15:27:22.59 UGUynbns
変数の定義が必要ないから、文字変数と数字比較しちゃってエラーはいたりするよね

471:名前は開発中のものです。
11/07/16 19:15:47.36 c6sNdZTg
>>466
実験してみたけど、片方が偽だとループが終わるね。
逆に||だと両方偽の時ループが止まる

472:名前は開発中のものです。
11/07/16 19:18:35.56 m5UKc0In
こういうさ、簡単にそれこそ20秒で確認取れるようなコードをさ
なんで自分でやって確認しないのかすごく気になるんだけど

473:名前は開発中のものです。
11/07/16 20:37:57.41 XUYir7DG
実際に作成中のゲームのコード内で思いついて、実験するには色々組み合わさってるのゲーム内で確認しなきゃならなくて面倒
かといってわざわざ新しく実験用の組み上げるのも面倒、というかどうすれば実験出来るのかって感じじゃないの

474:名前は開発中のものです。
11/07/19 08:06:29.58 LMHQ7/8n
ものによっちゃそうだけど>>466くらいなら簡単に実験できるじゃん
デバッグウインドウで結果見るだけでもいいし。

まあ今でこそ新しい関数は簡単に組んで勉強したりするけど
始めたての頃はその辺要領つかんでなかった気もする

475:名前は開発中のものです。
11/07/20 01:16:53.49 Qm4Ke15v
そろそろ8.1有料版に移行しようと思ってるんだけど
8.0とくらべて不具合があるのは>>430くらい?

476:名前は開発中のものです。
11/07/20 05:13:02.50 dL+OoWXg
リネームしようとすると何故か検索になる不具合もなかったっけ
あと操作性の面でRoomのCtrl+右クリックと右クリックの動作が入れ替わってるのと
ホイールがスクロールじゃなくて拡大縮小になってる

477:名前は開発中のものです。
11/07/20 07:02:31.76 lZQMywI6
>>475
URLリンク(store.yoyogames.com)

好きな時に移行したらいいんじゃないかな

478:名前は開発中のものです。
11/07/20 10:39:01.69 JQ2xpH9n
まあ8.1はアップデートが頻繁にあるからいずれ修正されるという期待は持てる
しかしこんなに修正があるって事はバグもたくさんあったって事
8.0はアップデートなんて無かったけどバグ関連はどうだったんだろう

479:名前は開発中のものです。
11/07/20 12:59:22.31 fwGpP1Oq
>>477
これ見てみたら結構怖いバグあるな
file_copyが動かなくて8.1放置してたけど修正リストにあって吹いたわ

480:名前は開発中のものです。
11/07/21 07:17:37.46 KsgR9Cab
もしかして8.1からmbtext使えなくなった?
コードエディターがUnicodeになったとかstringのフォーマットが変わったからなのか・・・
日本語描画中心だったから本当に困った

481:名前は開発中のものです。
11/07/21 14:26:36.23 vfyBMJN/
mbtext初めて知ったけどこれは便利そうだな
ありがとう

482:名前は開発中のものです。
11/07/21 23:38:26.37 wTtibFdt
8.1から引数が省略できなくなったと聞いたことあるけど

483:名前は開発中のものです。
11/07/22 01:58:35.89 GYZLny7K
前は勝手に0が入ってたけど今はちゃんと(0,0,0,0)とか書かないとエラー出る

484:名前は開発中のものです。
11/07/22 08:30:46.39 FfDe+wdB
いやそのエラーではないんだ
最新版だとGlobal Game Settingでエラー吐く吐かないの設定できるようになってるし

もうちょっと詳しく言うと、mbtext("あいうえお", 0, 0)で座標(0, 0)に何かが描画はされるんだけど
"あいうえお"じゃなくてまったく意味不明の文字列なんだよね
jfontmakerとmbtextはSJISコード対応のだったはずだから、
もしかしてGMの文字列のコードが変わってて、そのせいでうまく読めなくなってるのかなと

とかなんとか言ってみたけど、mbtextのソースすら理解できない俺にはこれ以上わからないんだ
もし似たような状況になった人がいれば教えてほしい


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

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