トップページgamedev
981コメント340KB

【2D】ゲーム作成ツールGameMaker part5【マンセー】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/12/05(日) 09:57:49ID:AN26SQm8
無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。

●本家(英語)
 ttp://www.yoyogames.com/
●GameMaker Japan - 非公式情報サイト(日本語)
 ttp://gamemaker.jpn.org/v1/(現在一時閉鎖中)
●The Game Maker's Apprentice
 ttp://book.gamemaker.nl/

前スレ
【2D】ゲーム作成ツールGameMaker part4【マンセー】
 ttp://hibari.2ch.net/test/read.cgi/gamedev/1240441868/
0370名前は開発中のものです。2011/06/04(土) 10:44:32.20ID: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}
}
0371名前は開発中のものです。2011/06/04(土) 11:06:07.76ID:bKns1Szr
大変為になりました
どうもありがとうございます
0372名前は開発中のものです。2011/06/04(土) 11:18:43.54ID:bKns1Szr
何度もすみませんがvarでスクリプトを代入した場合でも>>370でしょうか?
0373名前は開発中のものです。2011/06/04(土) 11:37:28.17ID:uM1fq+B8
varは代入ではなく変数の作成。
ScriptPDの返す値は0〜360の整数で、GMLは変数の頭文字に数字が使えないので
var ScriptPD();とするとエラーが出る(はず)
0374名前は開発中のものです。2011/06/04(土) 18:00:28.68ID:bKns1Szr
var PD ;
PD = scriptPD() ;

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

ちなみに単純にPD=ScriptPD()なんてやっても多分何も返してないんだから0が代入されるんじゃない?
スクリプトの最後にreturn(PD)とすればPDに代入されたもんが返ってくる。
でも上の例じゃスクリプト内でvar宣言してないPDは、呼び出したオブジェクトのローカル変数になるしreturnも必要ないし
0376名前は開発中のものです。2011/06/04(土) 20:41:14.61ID:czogavCN
バージョンによって違うのか知らんが、スクリプトは関数的な扱いだから変数に関数の結果を代入するのならPD=ScriptPD()という書き方が正しい(つかそうじゃなきゃエラーになる)
そしてpoint_direction自体が関数なのだから、二度手間にしてる分余計な処理が増えてると思う。

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

それとたかだか何十桁の計算をしても処理速度はまず変わらないから気にしない方がいいよ。計算機ですら計算しても一瞬で答えが出るんだから。
0377名前は開発中のものです。2011/06/04(土) 22:38:19.27ID:bKns1Szr
長時間に渡ってのレスありがとうございます

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

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

この事についてのソースはありますでしょうか
勿論疑っているわけではないのですが、ネット上で見られるなら勉強の為に見ておきたくて
0378名前は開発中のものです。2011/06/04(土) 22:51:51.73ID:czogavCN
>377
それは間違い。

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

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

まぁ処理速度的な話になるならどれにしても大差ないだろうけど
0379名前は開発中のものです。2011/06/04(土) 23:00:48.85ID:czogavCN
パフォーマンスに関して考え出すなら、GameMakerというよりはベースになってるDelphiを調べた方がいいんじゃないかな
GameMakerはライブラリ的な位置付けになりそうな感じがするから、GameMakeで何も処理しない状態のパフォーマンスから計測していけば、単純にどれだけ時間がかかるか出るかもしれない。
とはいえ1フレーム内でルームの描画、インスタンスの配置、ステップ内各処理、描画処理などなどをやってんだから計算程度じゃ0.000...秒という世界だろうけど。
0380名前は開発中のものです。2011/06/04(土) 23:05:11.56ID:bKns1Szr
間違いというのは「PD = ScriptPD; //このように変数に計算結果を代入すれば毎回計算しなくて済む」でしょうか
>>370にこのように書かれていたのですが

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

どれも大差無いということならゲームを作る事に集中したほうが良さそうですね
0381名前は開発中のものです。2011/06/04(土) 23:07:47.43ID:bKns1Szr
>>379
素人の手の出る領域では無さそうですね
おとなしくゲームの完成を目指します
ありがとうございました
0382名前は開発中のものです。2011/06/04(土) 23:18:28.12ID:czogavCN
そう。 最終的に計算して代入してるから同じ。

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

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

これは個人的なやり方なんだけど、オブジェクトごとに数値をもっていると管理が大変な場合が多いからPersistentな管理用のオブジェクトを作っておくのはおすすめ。
0383名前は開発中のものです。2011/06/04(土) 23:42:10.73ID:8RjBJbYc
GMLのスクリプト呼び出しはオーバーヘッドがすごく大きいんだよなあ
GMに直してほしい機能のうちの一つだな
0384名前は開発中のものです。2011/06/06(月) 22:52:52.63ID:YrcUqfkL
あるインスタンスの配列に違うインスタンスの変数の値を使うにはどうすればいいのでしょうか?
03853842011/06/06(月) 22:54:53.16ID:YrcUqfkL
あ、配列の添字にです
03863842011/06/06(月) 23:16:40.20ID:YrcUqfkL
自己解決しました
単に他の部分でミスしてただけでした
0387名前は開発中のものです。2011/06/06(月) 23:27:05.85ID:BDlMKDQQ
>>370の「PD = ScriptPD; //このように変数に計算結果を代入すれば毎回計算しなくて済む」について簡単な実験をしてみた
本当に毎回計算していないのかはわからないけど、それっぽい結果は出た
糞忍法で長文が書けねえので分割
0388名前は開発中のものです。2011/06/06(月) 23:32:53.02ID: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増えていく
0389名前は開発中のものです。2011/06/07(火) 00:28:57.87ID:ZJ4o791x
A
ドローイベントを
draw_text(0,0,scr())
draw_text(0,10,scr())
draw_text(0,20,test)

これを実行するとマウス距離が2行表示され、変数testは1ステップ毎に2増えていく
0390名前は開発中のものです。2011/06/07(火) 00:33:25.16ID:ZJ4o791x
B
ステップイベントを
SCR=scr()
ドローイベントを
draw_text(0,0,SCR)
draw_text(0,10,SCR)
draw_text(0,20,test)

これを実行するとマウス距離は2行表示されるが、変数testは1ステップ毎に1増えていく
以上
0391名前は開発中のものです。2011/06/07(火) 02:40:26.35ID:zx6XrJ8s
Aはスクリプトを2度呼び出しているからpoint_distanceの結果は変わらないけどtestを2回加算している事になる。
毎回計算しているっていうのと毎回加算しているっていうのは微妙に意味が違うような気はするけど、確かな結果だね。
スクリプトを呼び出した時点で計算はされている。

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

使い方次第だとは思う。
0392名前は開発中のものです。2011/06/07(火) 19:39:04.85ID:ZJ4o791x
>>391
なぜだか結果の変わらない物を使った方が良い気がしてた

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

実験の結果から「PD = ScriptPD; //このように変数に計算結果を代入すれば毎回計算しなくて済む」は(おそらく)正しい
これは>>363の望み通りの物だと思う
0393名前は開発中のものです。2011/06/08(水) 11:20:12.83ID:WSSU3+pj
ttp://madebyluke.com/gamedesign/tutorials/tut_double_jump.html
これだとジャンプ中に左右キーを放すとカクっと見えない壁にぶつかったようになるのですが
洞窟物語みたいに気持よくジャンプをするサンプルがあったら教えてください
0394名前は開発中のものです。2011/06/08(水) 11:27:12.91ID:4811qVsV
hspeedとかを徐々に増やす、減らすようにすればいいだけじゃないか?
0395名前は開発中のものです。2011/06/10(金) 20:55:49.84ID:KxmQk2Cc
test
0396名前は開発中のものです。2011/06/10(金) 20:59:58.25ID:KxmQk2Cc
忍法帖orz
>>393
左右移動にhspeedを使って、プレイヤーオブジェクトの生成イベントでfrictionを0.3程度に設定するとうまくいくかもしれない
03973962011/06/12(日) 20:29:55.89ID:HJZIl/jx
>>393
http://www.mediafire.com/?925h3hxccsz4759
こんな感じ?
0398名前は開発中のものです。2011/06/16(木) 18:40:01.87ID:XN0pClxu
ver.8.1にて。
テストプレイしかしてなかったから知らなかったぜ。
exe吐き出したら画面にロゴ残しやがった。
これPro化しないとまともに配布もできなくなったのかよ…
0399名前は開発中のものです。2011/06/16(木) 21:54:13.11ID:BFj+P58V
当初の段階だと、8.1 Liteはexe化すらできなくする予定だったのを
ロゴ付きならできるようにしましょうと変更されたんだよ
結局商売だからこういう流れになるのは仕方ないんじゃないかな
購入する予定がないなら8.0 使えばいいと思うよ
0400名前は開発中のものです。2011/06/17(金) 06:53:09.21ID:NDC+ghZU
GML使える人ならHSPとかに移ったほうがいいレベルの糞ツールになりかけてる
0401名前は開発中のものです。2011/06/17(金) 08:33:58.91ID:7p6/goCA
ツール作るならまだしもゲーム作りなら手軽さが数レベル違うわ
0402名前は開発中のものです。2011/06/17(金) 11:06:14.88ID:DA2eICap
Proって言ってもせいぜい数十ドルだろ?
払った方早い
0403名前は開発中のものです。2011/06/17(金) 12:24:10.20ID:NSQKaG+q
あらかた完成してから気が付いたからもう買うしかないんだけどね。
てか40$って値上がりしてたのか、これまた知らんかった。
0404名前は開発中のものです。2011/06/18(土) 00:31:31.40ID:/YlR1dsF
20ドルでも高いと思って渋ってたのをやっと買おうと思ったのに値上げ…
0405名前は開発中のものです。2011/06/18(土) 06:20:41.48ID:RFJ3bSCD
普通に1万以上するツールが溢れてる中に比べれば日本円にして3200円程度なら安いだろ
GMLは割りと色んな言語に通じるものがあるがHSPは微妙だし

日本語入力ができないとこ以外は結構いいと思うけどな
0406名前は開発中のものです。2011/06/18(土) 10:36:54.51ID:CQo3XnF/
8.1 が高いか安いか言われると若干割高な気がするな
GM自体高機能なソフトじゃないし
値上がりするのはしょうがないけど
毎回中途半端な機能を適当につけて新機能ですっていうのは正直やめてほしい
通販で2個セット+おまけで1万円の大特価と同じ印象を受ける
0407名前は開発中のものです。2011/06/18(土) 23:09:46.34ID:/YlR1dsF
最初から40ドルです、どうですか。ってのなら良かったかも知れないけど
つい先日まで20ドルだったのが何が増えたのか良くわからないバージョンアップで倍になるってのが心理的に来るなあ
0408名前は開発中のものです。2011/06/19(日) 10:00:04.01ID:qlVse/Xe
高いだの他のツールのがいいだの言うなら買わなきゃいいしGMを使わなきゃいい
割に合った開発環境をそろえるだけの根性も知識もないからGM使ってんだろ 文句言うな
0409名前は開発中のものです。2011/06/19(日) 12:00:21.18ID:j0JA/0gE
何様だよ
0410名前は開発中のものです。2011/06/19(日) 13:20:26.33ID:Q8kPrGnz
使ってて糞な仕様変更されたんだから文句言うに決まってんだろ
0411名前は開発中のものです。2011/06/19(日) 13:43:22.67ID:qlVse/Xe
タダ飯食って不味いと言うのか

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

文句を言うならタダ飯でも食わなきゃいい話
0412名前は開発中のものです。2011/06/19(日) 13:55:18.30ID:j0JA/0gE
他ツールの普通を語ってどうするわけ?
GMの話題なんだけど?
0413名前は開発中のものです。2011/06/19(日) 14:07:09.79ID:qlVse/Xe
語ってるんじゃなく比較してるんだよ

GM高いよな、クソだよなと文句を共有してるのがGMの話題ではないと思う
それならいい所を見出して、うまく使う方法を考える方がよっぽど有意義だろ
0414名前は開発中のものです。2011/06/19(日) 14:21:58.02ID:j0JA/0gE
最近あった値上がりや無料版のゲーム内ロゴはGMの話題だが
大した機能も追加されてないのにうまく使うもなにも無いだろ
それにそう言うならうまく使う方法を教えてくれよ
当然考えてあるんだろ?
0415名前は開発中のものです。2011/06/19(日) 14:32:31.57ID:qlVse/Xe
比較的ASやJSライクなGMLというスクリプト言語はかなり親しみやすいし、実際は他の言語の入門としても使えるだろうね
Delphiの開発の敷居が一気に高くなった中でDelphiベースのアプリケーションが作れるソフトがGMだけだし
仮に金を払ってもDelphi XEより遥かに安い。勿論機能も劣るけどデータベースとかまで使わないだろ
更に8.0以降、特に8.1はiPhoneアプリの開発も出来るようになってるだろ。それをロイヤリティを取らずに商用で使えるツールなんてまずないぞ

値上がりやロゴなんて7.0になる前からあるものだし、個人的な感想を共有するのは自由だけどネガティブ方向に持ってって何も生まない議論をするだけ無駄だろ。
それなら文句を言う前に使うのをやめろって話をしてるだけ しかもタダで使ってるなら文句を言える立場にないだろ
0416名前は開発中のものです。2011/06/19(日) 14:40:11.54ID:j0JA/0gE
なるほどなるほど

で、個人的な感想を共有するのは自由なんじゃないの?
こんなの一時的な話題じゃん
そもそもなんで文句を言う前に使うのをやめろ、と言える立場にいるの?
0417名前は開発中のものです。2011/06/19(日) 14:46:21.46ID:qlVse/Xe
何も生み出さない馴れ合いなら他所でやれってハッキリ言わないとわからんのか
立場的な問題じゃなくGM自体の評価を無駄に下げたくないだけ。

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

この議論も何も生み出さないからとっとと切り上げたいんだが、そろそろいいか?
0418名前は開発中のものです。2011/06/19(日) 14:57:21.47ID:j0JA/0gE
おいらっち他ツール使ってるんやけど?w、みたいのが来たと思って絡んだ
今は反省している
0419名前は開発中のものです。2011/06/19(日) 15:11:15.57ID:SHs/B8KT
試食があったので食ってみたらまずかった
「これ不味いな」と言ったら隣に居たおっさんが突然顔を真っ赤にして説教してきた
0420名前は開発中のものです。2011/06/19(日) 15:15:54.54ID:qlVse/Xe
言いたい事はわかるけど試食とタダ飯は違うからな

GMで外部エディタを設定できるけど、Notepad++とかに設定してスクリプト編集して保存すると警告みたいの出るんだよね
外部エディタの設定まではできるけどその後の使い方がいまいちわからない
上手い事使ってる人がいたら教えてほしい
0421名前は開発中のものです。2011/06/19(日) 15:41:40.63ID:Gqbg3NoR
GMの形態とタダ飯は違うからな
0422名前は開発中のものです。2011/06/19(日) 17:20:45.55ID:AoSPIDSG
>>420
煽る暇があったら警告の内容を書くもんだよ。フリーダムすぎるだろ

外部エディタは設定すると、外部エディタが起動する前に
GMの一時フォルダにスクリプトのコピーをとったランダムな名前のテキストファイルが作成され
外部エディタはそのテキストを操作するだけ。
保存は別名保存ではなくそのまま保存
外部エディタを閉じると本体のスクリプト内容が更新される
仕様として外部エディタ起動中はGMの一切の操作はできない
GM誰得使えない機能のうちの一つ
0423名前は開発中のものです。2011/06/20(月) 00:43:50.62ID:quydNYTY
何か仕様変更とか値上げとかでGMをクソ扱いした事に対して騒いでるみたいだけど別に誰もクソ扱いしてないよね
ただ値上げしちゃって買い難いとかその程度の話題だったのによくここまで騒げるよね
0424名前は開発中のものです。2011/06/20(月) 21:11:28.16ID:qRn5+5kq
批判を批判して、その批判をさらに批判する
みんな自分が絶対正しいと思って
0425名前は開発中のものです。2011/06/21(火) 05:19:01.04ID:8AvTEICi
ゲーム作成ツールは多少糞でもいい金になる
ぼろい商売っすなぁ
0426名前は開発中のものです。2011/06/21(火) 09:32:36.07ID:H31NlCMP
どうでもいいな

それはそうとds_grid_writeってかなりの曲者っぽいな
試しに100x100のgridを書き出してみたらものすごい容量になって吹いた
入ってる変数の型が判ってるならバイナリで直書きした方が軽い
0427名前は開発中のものです。2011/06/21(火) 12:42:34.24ID:4DOz1QNy
まあ今回(8.1)から割とこまめにアップデートが来るのがせめてもの救いか?
0428名前は開発中のものです。2011/06/21(火) 18:42:53.83ID:rj1jFBt0
GMよりいいソフトってなにかあるの?
MF2みたいなコードが書けないのは論外
0429名前は開発中のものです。2011/06/22(水) 00:57:07.87ID:x6FccL80
思い付く限りないよ
金額まで考慮して挙げるならGM6あたり
0430名前は開発中のものです。2011/06/22(水) 17:09:42.23ID:q4/PnhgD
なんかブレンドモード変更するとスプライトが1ドット分太るんだけど前からこうだったっけ?
新しいバグなんて事は無いのかな
0431名前は開発中のものです。2011/06/24(金) 01:12:57.01ID:08wj5d9s
マルチプレイを作成中なのですが、ヘルプの説明が不十分すぎて全然わかりません
とりあえず、ローカルIPの固定と、ポートの開放は行ったのですが、
ホスト側のIPがグローバルなのかローカルなのか、参加側のIPがグローバルなのかローカルなのか・・・
その4通りだけでなく、いろいろ試しましたが全然つながりません
ひとりで2つ起動してやるとつながるのに・・
0432名前は開発中のものです。2011/06/24(金) 05:44:24.10ID:own6AuiI
自分じゃやったことないけど
YoYoGamesのフォーラムにもっと高機能っぽいDLLがアップされてた気がするから
いっそそっちを試すのもアリかも
ヘルプが不十分かは謎だが
0433名前は開発中のものです。2011/06/24(金) 12:07:19.17ID:08wj5d9s
39dllってやつ?英語だけどがんばってみる
ヘルプの説明はガチで適当だよ・・・
0434名前は開発中のものです。2011/06/25(土) 00:26:49.49ID:gDLDeMO0
機能として使えるかどうかは別として
mplay は順序立てのヘルプだけじゃなくてチュートリアルもあったと思うけどな
0435名前は開発中のものです。2011/06/25(土) 01:19:32.91ID:TwAKnDWN
39dll使ったらできました!ありがとうございました!
思ったより簡単だったなあ
しかしラグが・・・アクションゲームはやはり無理か・・・
0436名前は開発中のものです。2011/06/25(土) 04:10:24.88ID:r6S+QriT
>>433
そうそうそれ、って言おうとしたらできたみたいで良かった
探せば結構色んなことができるからフォーラムマジおすすめ
SLGとかTCGならラグも気にならないんだけどね…
0437名前は開発中のものです。2011/06/25(土) 15:07:13.73ID:TwAKnDWN
ラグあまり気にならないレベルにできた
やべえめちゃくちゃ面白いこれ
0438名前は開発中のものです。2011/06/25(土) 18:34:47.71ID:fOpT0qzC
アクションゲームでラグほとんど無く出来たのか?
そうなら超羨ましいんだがw
俺もネット対戦できるアクションゲーム作りたいぜ
0439名前は開発中のものです。2011/06/25(土) 18:41:45.74ID:TwAKnDWN
いや最初の状態と比べたら相当よくなったって感じか
キーを押したときに情報を送って、1秒間に5回座標送ってラグを直す
たまにワープするけど問題なく遊べる感じ
0440名前は開発中のものです。2011/06/25(土) 18:52:02.70ID:fOpT0qzC
なるほど
GameMakerでも結構まともなマルチプレイのゲームを作れるっぽいんだな
わくわくしてきた
0441名前は開発中のものです。2011/06/26(日) 19:05:34.36ID:DfQtvLV+
また問題点がでてきた・・・
39dllで例えば4人対戦とかするとき、サーバーじゃない人同士での情報の共有ってできないのかな

今のままだと、ポート開放してる人しか部屋をつくれなくて、部屋に入る人はその人のIPを知らないといけないから
俺がサーバーになって、部屋を作る、部屋に入るの選択画面になった時点で実はもう俺の部屋に入っていて、
その下に擬似的に部屋を作るようなシステムを作ってるんだけど、他人同士で情報が共有できない・・・
0442名前は開発中のものです。2011/06/27(月) 19:40:05.41ID:Zalmw3Ec
>>430
やっぱりなんかおかしいな

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

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

さらにスプライトの絵を別の物に描き直して再度ゲームを実行すると
描き直したスプライトの絵が膨らんで描画され、なぜか描き直し前のスプライトまで一緒に描画される(こちらは膨らまず)
0443名前は開発中のものです。2011/07/02(土) 16:12:50.42ID:1iOlwy1m
修正小出しにして、アップデートするたびに課金を要求するのか、ボロい商売だな
0444名前は開発中のものです。2011/07/02(土) 18:43:04.17ID:YBEzJP93
アップデート来たぞ
>430のブレンドモードは直ってなかった
バグとして報告すべきかなどうやるのか知らんけど

あと日本語が使えるようになった
でもコメントだけにしといたほうが良さそう
0445名前は開発中のものです。2011/07/02(土) 21:47:31.42ID:LjTwIGRR
ゲーム中に出すメッセージとかは普通に日本語化できるしな
0446名前は開発中のものです。2011/07/03(日) 12:48:15.60ID:07q5wdTE
マジか>日本語
8を持ってても8.1は再課金しないといけないんだっけ?
0447名前は開発中のものです。2011/07/04(月) 12:32:32.29ID:B+oiCqNg
8.0 をスタンダードにしていれば、8.x へのアップデートは無料が保証されているはず
0448名前は開発中のものです。2011/07/05(火) 00:39:10.57ID:C2W0zrsg
ゲームの中で動画再生ってできますか??
できるんだったらやり方も教えてくれればありがたいです
0449名前は開発中のものです。2011/07/05(火) 00:45:05.37ID:C2W0zrsg
a
0450名前は開発中のものです。2011/07/05(火) 00:46:13.07ID:C2W0zrsg
↑すみません!間違えて書きこんでしまいました!
0451名前は開発中のものです。2011/07/06(水) 10:49:06.78ID:K+Ku9vpC
ゲーム画面中に動画再生するのは無理。
0452名前は開発中のものです。2011/07/06(水) 11:32:36.87ID:V2uyM92M
あるかどうかは不明だけど
>>432の言うYoYoGamesのフォーラムで、そういう機能の外部DLLを探すか
アニメーション用に用意した画像を切り替えながら、音を流すかしかないだろうな
0453名前は開発中のものです。2011/07/06(水) 17:18:24.06ID:0vJqpPm3
>>451
>>452
やっぱり無理なんですね、ありがとうございました!
0454名前は開発中のものです。2011/07/09(土) 04:13:16.81ID:q0f0Q3mt
いやよく読めよ・・・
>>452が言うようにDLL探せばそれくらい普通に出来る
ググっただけでGmmovieとか出て来たからこれ使ってみれば?
0455名前は開発中のものです。2011/07/09(土) 23:32:07.62ID:qiwmdN74
フォーラムとか説明が英語ってだけで敷居高く感じるからなあ
DLLとかは初心者にとっては得体のしれない物なんだよ
0456名前は開発中のものです。2011/07/09(土) 23:46:06.91ID:+zEWNiTr
gmmovie.dll を試しに使ってみたが、動画を背景のように扱うことは出来ないみたいだねぇ、残念。
0457名前は開発中のものです。2011/07/11(月) 12:42:44.44ID:DIrsZu+G
これは便利そうと思って試したら最初で躓いた
{
room_caption = "FPS: " + string(fps);
draw_set_font(font0)
draw_text(0,0,"fps= " + string(fps)) ;
}
「font0」をデフォルトのまま作成して
空オブジェクトをルームにおいてSTEP実行したがテキストが表示されない。
room_caption の部分は動作しているのでスクリプトは動いているはずなんだが。
日本語環境だと英語も使えないとか?
0458名前は開発中のものです。2011/07/11(月) 12:49:30.62ID:DIrsZu+G
自己解決
STEPイベントじゃなくてDRAWイベントじゃないとダメなんだな・・・。
0459名前は開発中のものです。2011/07/11(月) 17:21:26.52ID:3j0l18ds
stepイベントのタイミングでも、実際には画面バッファには書き込まれてる。
だけど、drawイベントに入るときに背景やら何やらで全画面が再描画されるから反映されない、
という仕組みであることを覚えておくとよいよ。
0460名前は開発中のものです。2011/07/12(火) 07:12:57.83ID:tQuQ1cZC
へえそれは知らんかった。
surface以外でその情報が役に立つ場面ってあるかな?

>>457
stepとdrawで躓くのはGMLで誰もが通る道、だと勝手に思ってる
0461名前は開発中のものです。2011/07/12(火) 17:10:32.93ID:Eyy6yO5M
draw以外でも再描画する命令を使えば描画できたりするんかいな?
0462名前は開発中のものです。2011/07/13(水) 21:13:08.62ID:M8LiFDgv
2つの直線が交差する座標を計算したいのですが
どのようなコードを書けばいいでしょうか?
分かっているのは、2つの直線の始点と終点だけです。
0463名前は開発中のものです。2011/07/13(水) 22:24:49.23ID: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;}
0464名前は開発中のものです。2011/07/14(木) 12:33:59.78ID: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 の場合はエラーになるから注意
0465名前は開発中のものです。2011/07/14(木) 22:38:48.32ID:Zyk4CVeb
>>463-464
ありがとうございます。
数学は苦手なので、原理はよくわかりませんが、コピペしたらうまくいきました。
0466名前は開発中のものです。2011/07/15(金) 22:30:42.27ID:Qjoeq250
while(x=1 && y=1)
とした場合、x=1とy=1の両方が真の場合ループが継続するのでしょうか?
それとも、片方のみが真の場合ループになるのでしょうか?
0467名前は開発中のものです。2011/07/16(土) 01:55:01.72ID:CuCm9AmG
同値判定は==な
&&は見たまんまアンドだから二つとも真でないと全体が真にならない
0468名前は開発中のものです。2011/07/16(土) 08:43:25.55ID:tIImVnZu
GMは()内の=は==として扱う
0469名前は開発中のものです。2011/07/16(土) 09:06:41.08ID:dh9v5UQq
delphi は同値比較が=で、代入が:=だから部分的な記述としてはいいんだけど
delphiの演算子も混ぜて使えるってのはこれから覚える人にあまりよくないよなあ
全体的にみるとGMLはプログラミング勉強用として優しくない仕様だと思う
GMLの演算子はhelpにあるexpressionに合わせるのがいいよ
■ このスレッドは過去ログ倉庫に格納されています