【2D】ゲーム作成ツールGameMaker part3【マンセー】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/05/11(日) 01:41:47ID:PRhlwPyW●本家(英語)
ttp://www.gamemaker.nl/
●GameMaker Japan - 非公式情報サイト(日本語)
ttp://gamemaker.main.jp/
●初心者向けチュートリアル
ttp://gamemaker.main.jp/modules/articles/index.php?cat_id=1
前スレ: 【2D】ゲーム作成ツールGameMaker【マンセー】
http://pc8.2ch.net/test/read.cgi/gamedev/1087068523/
0751名前は開発中のものです。
2009/01/31(土) 02:25:37ID:rlXWUIoUアイテムの話なら、
必要な配列の要素の総数 = アイテムの個数 x アイテムのステータス
で済む話だし。
0752名前は開発中のものです。
2009/01/31(土) 04:49:01ID:Fymynsm1つまり、アイテム5000個の名称、説明、性能の表を記述するのに、
5000*3じゃなくて、5000の2乗だけ必要、ということ?
5000*4997が空白になるんだが、そういうことなのか?
0753名前は開発中のものです。
2009/01/31(土) 18:11:05ID:zdMDroAqアイテムと装備でわけるとかさ
GMの配列はサイズ宣言しなくていいんだし>>752みたいに考えなくていいだろ
>>747ってヘルプのやつだよな
これみると2次元までしか使えないんじゃないだろうか
0754名前は開発中のものです。
2009/01/31(土) 20:52:47ID:dFEgAXD40755名前は開発中のものです。
2009/01/31(土) 23:16:19ID:+Qm7r/E2このカクカク具合は嫌だな
0756名前は開発中のものです。
2009/02/01(日) 02:09:16ID:VioXBIy7次元で分けるとか、次元という言葉に拘っているみたいだけど、
そもそも次元というものを正確に理解していないんじゃなかろうか。
例えば>>739がitembagとitemlistを合わせたら三次元だという発言があったが、あれはどう見ても二次元だ。
アイテム0 アイテム1 アイテム2 ……
名称
説明
性能
個数
↑の表の最下段、個数の行を切り離して個数の行をitembag、残りの表をitemlistと呼んでいるだけ。
このときの表の軸は(アイテムID、ステータスの種類)の2本。だから二次元。
切り離した行を見ると、軸は(アイテムID)の1本。これは一次元。
この二つをあわせたとしても、同じ軸が一本あるために、単純に数字の上での計算「一次元+二次元=三次元」の様にはならない。
「要素が増えた→次元が増えた」ではない。
もし仮に三次元になるのなら、>>744の発言からみて(アイテムID、ステータスの種類、個数)という表現になるな。
それがどういう意味か、わかるだろうか。例えば、同じアイテムIDなのに違う個数を持つ等。
ちなみに、本来アイテムのデータを管理するのに、↑にあるような表を書くと思うのだが。
次元で分けたがっているようだが、試しに好きなアイテムを5つくらい、
どう管理するかを一度excelか何かで表を作ってみたらどうか。
0757名前は開発中のものです。
2009/02/01(日) 02:16:41ID:VioXBIy7もしそうだとしても、そうするよりは表を作るほうがいいかと。
その方が共通の項目(名称、説明など)で管理できる。
0758名前は開発中のものです。
2009/02/01(日) 10:46:25ID:KYsF1WeA各変数を設定できるデータを100個ほど常時保持させ、装備入手に伴い空いている(数値が0である)データにその装備が持つ値を代入、
あとは増減をその内部で行い、装備が破壊や破棄された際に数値を0に戻す
などという方法でできるのでしょうか。
もっと簡単な方法があればご享受賜りたいです。
0759名前は開発中のものです。
2009/02/01(日) 12:39:25ID:0y6Ohlui同一人物でないんでない?
配列の中の配列を多次元配列と同一に扱ってるだけじゃないかな
これはグラフィクハンドル格納して使ったり便利だけど
アイテムなら素直にデータ構造でいいと思う
0760名前は開発中のものです。
2009/02/01(日) 17:38:16ID:lUYLBl6P>各変数を設定できるデータを100個ほど常時保持
データがインスタンスidで、100個保持っていうのがidを保持する配列100要素分だというのなら
できると思うよ
レベルや耐久値とかをもったオブジェクトのpersistent属性インスタンスを
アイテム種類ごとに生成するのが一番楽
0761名前は開発中のものです。
2009/02/02(月) 09:06:58ID:JsXKtbu0とりあえず言えることは
ゲームに限らず、配列をマスターできない奴はダメだということ。
必然的にポインタもわからないことになるからな
物理で言う、質量とエネルギーの関係に似ている。
[見え方が違うから別物]として捉えていたら永遠に理解できない
0762名前は開発中のものです。
2009/02/02(月) 23:39:28ID:X4zxDIqi重ねる順番を思い通りにすることってできないでしょうかね?
0763名前は開発中のものです。
2009/02/03(火) 00:11:12ID:H3sg+kjOもしくは思い通りの順番にインスタンスを生成していく
0764名前は開発中のものです。
2009/02/03(火) 22:36:47ID:vsV0s/4nどのタイミングで起こるかご存知の方おられますか?
0765名前は開発中のものです。
2009/02/03(火) 23:02:40ID:b4FG0ycnとか言うとお前がやれと言われそうなのでやってみたら
Begin stepとStepの間だった
Timeline内で描画したいとかいう質問だったら追加料金いただく
0766名前は開発中のものです。
2009/02/03(火) 23:27:42ID:KjRNw6lQもっと正確に言えば、
Begin step イベント→ timeline の呼び出し → alarm イベント→...→ Normal step イベント ...
って感じみたいだ。
0767764
2009/02/04(水) 00:41:01ID:28umjKE8ありがとうございます。むしろ自分こそ自分でやれよと
いう感じですね、、アホな質問すいません…。
>618 >620あたりでこのスレにカキコしたんですが
なんでゲーム中でハングアップするのかわからないまま2ヶ月が過ぎました…
原因の最有力候補たるオブジェクト
(このオブジェクトがある時必ずエラーがおきる)を1から
作り直したのに、また同じようにハングアップしてしまいます。。
そろそろ個人で作るのが限界かもしれません…
自分がメッセアド晒したら連絡して原因を一緒に究明してやるぜ、、という
素敵なお方とかいませんか…。。
0768764
2009/02/04(水) 00:43:25ID:28umjKE8メッセでgmkファイル送るので、ということです。
0769名前は開発中のものです。
2009/02/04(水) 02:38:04ID:WYUwJI4p0770名前は開発中のものです。
2009/02/08(日) 08:03:23ID:stZQzW20ただただ問題投下するだけだと……。
例えば、数レス前で話してたことに関してまた質問が来るとかって阿呆みたいだろ?
質問するなとは絶対言わん。けど、とりあえずスレ内を読むとかはして欲しいよね。
で、何が言いたいのかというとだな。
>>116や>>188、>>211とかで、ファイルへのURLを載せて『こんなのを作っているけどこんなエラーが出る。どうしたものか』系な発言があるよね。
つまり、スレ内を読んでいれば、『メッセアドを晒して……』なんてことをせずに、
『アップローダーを使って作ってるゲームを公開し、助言を貰う』っていう選択肢が見つかるはずなんだ。
Q&Aが殆どのこのスレだが、そのQ&Aから得るものもある。
他にも、このスレ内で紹介されたダンジョン自動生成のアルゴリズムとかは凄く興味深かった。
今作ってるゲームとは一切関係がないのが残念だが、SRPGを作るときがあったら参考にするかもしれない。
自分には関係ないと思わずに、とりあえず読んでみようよ。な?
0771名前は開発中のものです。
2009/02/08(日) 09:24:36ID:VSHKfWuSサイトで募るとか手はあるはず、2chで開発仲間募集しても閑古鳥
0772名前は開発中のものです。
2009/02/08(日) 21:01:44ID:aA7Dywq5ボタンを押したときに「剣を振る」といったアクションをさせたい時は
どうすればいいのでしょうか?
オブジェクトを変更させるともとのオブジェクトと違う場所から
新しいオブジェクトが発生して、永遠にアニメーションを繰り返してしまいます。
(5.3Aでプログラムは分かりません)
0773764
2009/02/08(日) 21:40:37ID:10++XKjl確かに具体的にどこがどう、というのを考えるには
うpろだに晒して中身を見てもらうのが一番いいとは思います。
ただ、若干規模・容量が大きめなせいで
知人に直でオブジェクトの関係などを説明しても
未だ全て把握しきれていないくらいなので、ただうpして
「さぁ問題解決してみてください」
「質問は受け付けます」
という形でバグ探しを要求しても投げっぱなしみたいで
逆に不親切かなぁ、と思ったりもしました。
また、>>771さんの言うとおり、確かに
秘匿・びっちり組み合って〜なら
他所で誰かを募るほうがいいですね。
スレ汚し失礼しました。
0774名前は開発中のものです。
2009/02/08(日) 22:51:59ID:bDfrOQQnオブジェクトではなくスプライトだけを変更すればよろし
そのスプライトのアニメーションが終わったら元の状態に戻るようにすれば良い
0775名前は開発中のものです。
2009/02/08(日) 23:29:57ID:aA7Dywq5素早い回答ありがとうございます。
他のスプライト変更のようにうまくいかないのですが、
何か原因があるのでしょうか?
ぷるぷるします
http://down11.ddo.jp/uploader/download/1234103282/attach/hya_090208out.gmd
DLpass:1234
0776名前は開発中のものです。
2009/02/09(月) 11:56:14ID:glL4u7ly>>774
ありがとうございます
0777名前は開発中のものです。
2009/02/13(金) 20:46:15ID:2BdHArDo0778名前は開発中のものです。
2009/02/15(日) 06:26:36ID:9tua18qR0779名前は開発中のものです。
2009/02/15(日) 06:41:58ID:04uArqny>>264くらいから読んどけ
0780名前は開発中のものです。
2009/02/15(日) 16:16:36ID:fXtXHYNbGM初心者です。
自機移動の場合、オプションは自機過去の軌跡を追う
自機静止の場合、オプションも静止状態にする
そんなオプションの作り方は?
0781名前は開発中のものです。
2009/02/15(日) 18:05:30ID:THPaUHHy0782名前は開発中のものです。
2009/02/15(日) 19:38:41ID:WsRH8hUTスプライトで作ってもいいのですが若干容量がかさんでしまうので…
0783名前は開発中のものです。
2009/02/15(日) 20:07:47ID:oFgirjliもし極値に近いところほどゆっくりにしたいとかなら
三角関数を使って座標を決めればいいかと
0784名前は開発中のものです。
2009/02/15(日) 20:54:16ID:KuC38cSs重力加速度的に動かせばいいと思うよ。
create eventにて初速をdirection 270 もしくは90に
速度2か3くらい設定しておいて、
更にcreate時のx,y座標をx_start,y_startという変数に覚えさせておく。
あとは数フレームごとに
gravity_directionを
point_diection(x,y,x_start,y_start)とすれば、ふんわり
初期位置に向かって動くと思う。
gravityの値は0.1か0.2くらい?
0785名前は開発中のものです。
2009/02/15(日) 23:18:47ID:WsRH8hUT>gravity_directionを
>point_diection(x,y,x_start,y_start)とすれば、
これはどうやればいいのでしょう?
set the gravityのdirectionに入れるだけだとやっぱり駄目なのでやり方をお願いします。
0786名前は開発中のものです。
2009/02/16(月) 17:25:30ID:ILNE3Tn0784じゃないけどステップイベントに「Execute a piece of code」アクションをおいて
gravity_direction = point_diection(x,y,x_start,y_start);
とかいてやればいいんでね?
0787名前は開発中のものです。
2009/02/16(月) 22:38:37ID:bdIz0Orhたぶんどこか他のところミスってるべ。
というか、そのやり方だとスタート地点から離れられないし
素直に>783でよくないかい?
三角関数といっても別段難しく考える必要なくて
/* Createイベント */
a = 0;
/* Stepイベント */
a += 0.1;
y += sin(a) * 0.5;
これだけでそれらしく動く。後は数字を色々変えてみて調整すればいい
0788名前は開発中のものです。
2009/02/26(木) 17:16:38ID:V4sqiU4fコリジョンで設定すると上にある足場にぶつかったときや壁にぶつかった時も音が出てしまいます。
下方向に着地した時だけの設定を作りたいのですがどう設定すればいいのでしょうか
0789名前は開発中のものです。
2009/02/26(木) 20:12:16ID:NIFAUqfl>>420から抜粋
「行き詰ったら原点に返れ」
詰まったらまず、何をしたいのかを明確にする。それから、したいことを分析しよう。
何をしたいのかは明確。『地面に着いたとき着地音を出したい』
んで、ここからしたいことを分析するわけだ。
>コリジョンで設定すると上にある足場にぶつかったときや壁にぶつかった時も音が出てしまいます。
そりゃそうなるよな。コリジョンってのは単に接触したときのイベントなんだから、
『足場のオブジェクトと接触したとき』に音が鳴るわけだ。
プログラム的にはおかしくない。けど、やりたいのはこれじゃない。
さて、ここでGMやらプログラムやらは横に置いといて、理論的に考えてみよう。
『地面に着いたとき』ってのはどういうときだ?
「前まで空中にいて、今足場に触れた」ってのは?
いや、それだとジャンプ中に壁にぶつかったときにも音が鳴ってしまう。
ついでに、上にある足場にぶつかったときも鳴るな。
「降下中に足場に触れた」なら?
これも、降下中に壁にぶつかったときに音が鳴ってしまうことになる。
『地面に着いたとき』という状況を別の言葉で言い換えるとどうなるんだろう?
……と考えていくのも分析の一つ。勿論別のアプローチもある。例えば、似た状況を探すとか。
着地音を出したいってことなら、『ジャンプ後、足場に乗ったときに降下が止まる』というのは実現できてるのが前提だよな?
それは『地面に着いたとき』という状況のはず。そこから何かヒントが見つからないかな?
また、その降下を止めたときに音を鳴らすという考え方もある。
生憎これから用事があるので、考えられるだけ並べてみた。
何かヒントになれば幸い。これ抜きで解決法が見つかればさらに幸い。
0790名前は開発中のものです。
2009/02/26(木) 20:36:54ID:lirPt0Cs0791名前は開発中のものです。
2009/02/27(金) 12:58:14ID:7UDXTjXQ5の時にA、20の時にA〜と一つずつやるのでなく5、20、40の時にA〜など複数を一括で設定するのはどうやればいいのでしょう。
0792名前は開発中のものです。
2009/02/27(金) 17:03:38ID:QoamVV9Dステップ内で
a+=1;
if (a == 5 || a == 20 || a == 40) event_user(0);
等と書いておき、起こしたいアクションをUser 0イベントの中に入れる。
ユーザ定義イベントの場所は
Add Event
>Other
>User defined
>User 0
ユーザ定義が何かわからなければ>>734辺りやヘルプを参照。
0793名前は開発中のものです。
2009/02/27(金) 17:30:52ID:QoamVV9Dだったら、Execute Codeの中に
event_user(0);
とだけ書いたもの(Aと呼ぶ)を
〔VAR〕 If a is equal to 5
A
〔VAR〕 If a is equal to 20
A
〔VAR〕 If a is equal to 40
A
と置いて、起こしたいアクションをUser 0イベントの中に入れとけ。
0794名前は開発中のものです。
2009/02/28(土) 17:47:00ID:gTDyAg6K各主人公オブジェクトの親に「主人公カメラ」を設定しました。
ビューが「主人公カメラ」を追うようにしたのですがキャラクターが切り替わる際に
カメラがしっかり付いていかず画面ががくっとなります。
どうも切り替わる際に一瞬だけ「主人公カメラ」を見失っているようです。
動いているものがその場で別のオブジェクトになってもビューがスムーズにそれを追ってくれる方法はありますか?
0795名前は開発中のものです。
2009/03/01(日) 01:28:59ID:FK5vDD5Wそれで自分でビューが追うべきインスタンスをカメラ側で設定すればいいと思う
0796名前は開発中のものです。
2009/03/01(日) 03:20:11ID:n7LRNs7y「save game」
で保存されるものの詳細って
何処かに記載されているでしょうか?
>保存されるデータは基本的な情報しかないことに注意してください。
>再生中の音楽や、音楽再生中の正確な位置などは、保存されません。
>また、変更されたリソースも保存されません。
>データ構造のデータや、パーティクル、マルチプレイヤの設定なども保存されません。
とは書いてあるのですが、具体的に何が保存されて
何が保存されないのかが気になりまして。
0797名前は開発中のものです。
2009/03/01(日) 18:36:17ID:KiSfn/LGそのヘルプのが一番詳しい説明なんだけれど。
そこに書いてあるもの以外は全部保存されると思っておけばいい。
そいつら除いたら残るのはグローバル変数(組み込みとユーザ定義含めて)、
ルーム内のインスタンス、それぞれのローカル変数、
あとはpersistentなルームの状態くらいかな。
0798名前は開発中のものです。
2009/03/01(日) 19:20:12ID:n7LRNs7yありがとうございます。
保存したい情報が、まんまだと保存されていなければ
一時的にグローバル変数に保持しておくように
してみます。
逆に保存したくない情報がロードによって復帰してしまう場合は
ロード直後に初期化してしまうとかですかね?
セーブしたい内容、したくない内容
セーブ/ロードのタイミング等、複雑になりそうであれば
自前で作るのも検討します。
0799名前は開発中のものです。
2009/03/01(日) 19:45:16ID:U/3M/kF8gravityを使おうとすると実行時にgravityを使ったオブジェクトとその行とVariable name expectedというエラーが出ます。
用はそんな変数ねえよ。ってことなんでしょうが、
Draw a textで
'加速度 ' + string(bear.gravity )
'加速度方向 ' + string(bear.gravity_direction )
(bearはオブジェクト名です。)
とすると上はエラーになりますが下はエラーが出ず表示されます。
ヘルプを見てもgravityとgravity_directionで引数の数が違ったり書き込み禁止の違いがあったりするわけではないので、
変数の呼び出し方は間違ってはいないとと思うのですが、何が間違っているのでしょうか?
バージョンは5.3aです。
オブジェクトで生成時にオブジェクト名をいれずに、gravity=0としたり、ボタンが押されたときgravity=0としても同様のエラーが出ます。
bear.grまで入力して入力補正でbear.gravityと入力することも試したのでスペルミスもないと思います。
0800名前は開発中のものです。
2009/03/01(日) 20:04:57ID:KiSfn/LGつまりgravityは何か別のもの、例えばオブジェクトだとか
スプライトだとかの名前なんだよ!
といった理屈で、変数名とリソース名がかぶってるとそのエラーになります。
そういうことを避けるために、スプライト名にはspr_とかオブジェクト名には
obj_とかプレフィクスを付けて区別することが推奨されてるわけで。
0801名前は開発中のものです。
2009/03/01(日) 20:28:59ID:U/3M/kF8名前をそれぞれspr_bearとobj_bearに変えて、下の二つをそれぞれ試してもやはり上だけエラーになります。
'加速度 ' + string(obj_bear.gravity)
'加速度方向 ' + string(obj_bear.gravity_direction)
エラー内容も同じですし、他にbearというリソースはないです。
よろしければもう一度ご指摘をお願いします。
0802名前は開発中のものです。
2009/03/01(日) 20:30:28ID:Y4TCiCmT後は普通にするというのはできないでしょうか?
0803名前は開発中のものです。
2009/03/01(日) 20:32:52ID:KiSfn/LGコードエディタで「gravity」って単語が青じゃなくて紫になったら100%それ。
0804名前は開発中のものです。
2009/03/01(日) 20:40:00ID:ab64wVb2パーティクルを使ったことがないので実際どうなるかわからんが、ヘルプによると、
>Normally particles are blended with the background in the same way as sprites.
>But it is also possible to use additive blending.
>This gives in particular a great effect for explosion.
>
>part_type_blend(ind,additive)
>Sets whether to use additive blending (1) or normal blending (0) for the particle type.
(訳)
通常、パーティクルはスプライトと同じように描画されます。
しかし、加算合成を使うことも可能です。
(次の一文必要なさそうなので略)
part_type_blend(ind,additive)
additive
1:加算合成
0:通常
ということで、part_type_blend(ind,additive)を使ってみては?
0805名前は開発中のものです。
2009/03/01(日) 20:40:55ID:U/3M/kF8gravityというスクリプトを作ってたのでそれの名前を変えたら実行できるようになりました。
本当にありがとうございます。
0806名前は開発中のものです。
2009/03/01(日) 20:42:08ID:Y4TCiCmTありがとうございます。
早速やってみます。
0807名前は開発中のものです。
2009/03/02(月) 09:51:07ID:uDCLfBnjもしくはオブジェクトをビューのyと基点を合わせながら横に加速させる方法があれば教えてください
0808名前は開発中のものです。
2009/03/02(月) 22:47:21ID:UrY5j/m3後半は意味がよくわからんが、何かを加速させたいならスピードを一定量ずつ増やせばいい。
0809名前は開発中のものです。
2009/03/03(火) 19:46:03ID:4PMDwMZy0810名前は開発中のものです。
2009/03/03(火) 22:47:02ID:CEgL9EGt公式のフォーラム行ったらチュートリアルから中身見れるのまで色々あるよ。
日本人が作ったのは閉鎖的な国民性から察するにどこにもなさそうだけど。
0811名前は開発中のものです。
2009/03/04(水) 00:48:18ID:q7VrZUsHうpロダごと消失して、資産が無くなった。
一部は手元にあるが、補完していいものなのだろうか・・・。
0812名前は開発中のものです。
2009/03/04(水) 00:48:53ID:q7VrZUsH0813名前は開発中のものです。
2009/03/04(水) 20:14:05ID:TCZrRgAQ英語苦手なんだけど探してみます
0814名前は開発中のものです。
2009/03/05(木) 01:32:36ID:UPJSPUseまいったなぁ・・・
0815名前は開発中のものです。
2009/03/06(金) 01:25:31ID:fiR1q+Tb壁に当たった時垂直なら少しずらすようにする、あるいはある程度ランダムに跳ね返るようにしたいのですがどうすればいいでしょう?
0816名前は開発中のものです。
2009/03/06(金) 09:57:33ID:LhdGRRlvローカル変数の speed と direction (もしくは、hspeed と vspeed)をいじって、
自分の思うような跳ね返り制御を作るべし。
ランダムは、GML関数 random() を使用するとよい。
0817名前は開発中のものです。
2009/03/07(土) 00:49:14ID:0T7+yypjこの基準となる座標はどこでしょうか?
スプライトの中心点でよろしいのでしょうか?
0818名前は開発中のものです。
2009/03/07(土) 01:07:42ID:JJRbXmJTアドバンスドモードでスプライトプロパティーを開いたら
Originってのがみれると思う。
これがそのスプライトの基準座標になる(原点)
デフォルトは(0.0)で一番左上の位置、Centerボタンを押すと
自動的にど真ん中に原点が設定される。
アドバンスドモード切替は
「File」メニューにある「Advanced mode」にチェックを入れると切り替わります。
0819名前は開発中のものです。
2009/03/07(土) 21:49:17ID:0T7+yypjありがとうございます
0820名前は開発中のものです。
2009/03/07(土) 22:55:52ID:3TWKzE700821名前は開発中のものです。
2009/03/08(日) 15:09:06ID:eu0flUmZ同じ絵を何個も登録することでしかアニメーションの長さを調整するしかないのでしょうか
0822名前は開発中のものです。
2009/03/08(日) 17:21:43ID:yExqEGdE透過設定した背景画像を重ねてスクロールさせるってのはだめ?
roomの設定で8枚まで背景画像を設定できる。
また、アドバンスドモードでタイルを使用するとか。
この場合は、自力でGMLで制御する必要があるが。
>>821
ローカル変数 image_speed で、1ステップあたりの送りコマ数を設定できる。
デフォルトは1なので、1ステップで1コマ進む。
image_speedを 1/2にすると2ステップで1コマ進むようになる。
また、マイナスにすると逆送りになる。
0823名前は開発中のものです。
2009/03/08(日) 17:22:44ID:Bfb+aHVHっimage_speed
image_speed = 1; // 1フレーム1コマ
image_speed = 2; // 1フレーム2コマ
image_speed = 0.5; // 2フレーム1コマ
0824名前は開発中のものです。
2009/03/08(日) 17:23:43ID:Bfb+aHVH0825名前は開発中のものです。
2009/03/08(日) 17:37:26ID:yeeZk4Xb1コマ当りの表示時間を秒単位で設定したい場合、room_speedと合わせて
使用することで可能になる。room_speedは1秒間で何ステップ処理するかを
設定する変数で、俗にいうfps設定。(ルームプロパティのsettingsタブのspeedの数値がそれにあたる)
で、obj_aというオブジェクトの1コマ当りの表示時間を0.5秒で設定したい場合,GMLだと
obj_a.image_speed = 1/(room_speed*0.5);
と書いてやる。
0826名前は開発中のものです。
2009/03/08(日) 17:42:43ID:GCOCuTiZ透過設定した背景画像を何枚重ねても一緒にスクロールしてしまう。
強制スクロールなら出来るんだけど。
0827名前は開発中のものです。
2009/03/08(日) 18:04:49ID:yeeZk4Xbルームプロパティーのbackgroundsタブのhor.speed(横スクロール量)ないしはvert.speed(縦スクロール量)
をバックグランド各々に違う値を設定してやればいい
0828名前は開発中のものです。
2009/03/08(日) 18:06:08ID:yExqEGdE一緒に動いてしまう、ってことは、ビューを使っているのかな?
もしそれなら一緒に動くのはあたりまえ。
ビューの動きに応じて背景画像位置の補正をしてあげないと。
グローバル変数の
background_x[0..7]
background_y[0..7]
とかをいじるなり、なんなり。
0829名前は開発中のものです。
2009/03/08(日) 18:08:45ID:yExqEGdE>>825様
補足ありがとうございます。
そして、>>824様と同様、リロードすればヨカタ..(ノ∀`)
0830名前は開発中のものです。
2009/03/08(日) 18:36:46ID:eu0flUmZありがとうございます。
ある画像は2フレーム、ある画像は3フレームみたいな風にアニメーションを作りたかったのですが
少し大変そうですね
0831名前は開発中のものです。
2009/03/08(日) 18:48:53ID:yeeZk4Xbいやいや「設定した秒数のあいだだけ同じコマ」としたい場合は>>825になるだけで
フレーム数で指定するだけならimage_speedの値は単に
1/(表示したいフレーム数)
になるということです。そんなに難しく考えなくていいよ
0832名前は開発中のものです。
2009/03/08(日) 19:14:46ID:yeeZk4Xbサブイメージの関係が若干違うのに気がついた。
0833832
2009/03/08(日) 19:49:01ID:yeeZk4Xb一応思ったことは書いておく。
>>4のヘルプファイルの「Game Maker スクリプト言語 (GML)について」→「グラフィック」→「スプライトと画像」の項
参照願います。
image_speedとは別にimage_indexという変数があって、これは今表示されているサブイメージ番号を保持している
変数であるが、その説明の中に
>値は小数点以下も有効です。表示されるサブイメージは、小数点以下を四捨五入して整数化した値となります
と説明がある。
表示されるサブイメージ番号はimage_index変数で制御されていてステップ毎にimage_speedの値が足しこまれて
いってると考えると1/(フレーム数)だと四捨五入で小数点以下が0.5以上だと次のコマが表示されることになる。
だからループでサブイメージを再生する場合はいいけど1回再生の時は最初と最後のフレームだけ半分になるように
おもう。
なんかひとりよがりなレスしてごめんね
0834名前は開発中のものです。
2009/03/08(日) 20:18:01ID:VURSMlHxみたいにサブイメージごとに長さをバラバラにしたいんじゃないの?
だとしたらコマ増やして調整するか、配列でも使って自分でimage_indexを
コントロールするしかないね。
>>833
原文では「rounded down」つまり切り捨てと言ってるから、四捨五入ってのは
訳し間違いだと思う。ただ実際には微妙に仕様の不一致があって、
Drawイベントに何も置かないデフォルトの描画だと切り捨てされるけど
draw_spriteなどの関数で描画すると四捨五入されるよ。
0835名前は開発中のものです。
2009/03/08(日) 20:30:11ID:eu0flUmZまさに>>834さんの言うとおりです。
やはりコマ数そのもので調整するしかないようですね。
0836名前は開発中のものです。
2009/03/08(日) 21:02:45ID:Bfb+aHVHそれより
├─1枚目─┼2枚目┼3┼─4枚目─┤
と、フレーム数を数えながら、フレーム数の範囲で画像を指定してやる方がいいかと。
<例>
<Create>
image_count = 0;
<Step>
image_count += 1;
if (image_count >= 120) image_count -= 120;
if (image_count < 20) image_index = 0; // 0〜19フレーム
else if (image_count < 50) image_index = 1; // 20〜49
else if (image_count < 80) image_index = 2; // 50〜79
else image_index = 3; // 80〜(120)
考え方。
ステップ数を数える。(image_count)
そのステップ数がここからここまでのときはこの画像、ここからここまではこの画像と個別に定めてやる。
0837名前は開発中のものです。
2009/03/11(水) 23:13:52ID:Qnpz25orttp://www.yoyogames.com/make/tutorials
809の人とは別人ですが、アクションのサンプルを探してます。
0838名前は開発中のものです。
2009/03/12(木) 00:18:26ID:+06GIEDbそこのTutorial:Platform Gamesはサンプルで作成例が段階ごとに見られるようになってるから
同時に2つ起動して片方はそれを表示しながらもう片方で試行錯誤すると覚えが早いよ
これと日本語ヘルプで当面はなんとかなる
0839名前は開発中のものです。
2009/03/13(金) 19:15:24ID:+YfOrsIA・Purchase Reference Number 1-(14桁の番号)
これがパスですよね?うーむ…
0840名前は開発中のものです。
2009/03/13(金) 19:19:18ID:B1p0cXJF0841837
2009/03/13(金) 23:50:19ID:y2i0vPyS色々むさぼって見ます。
0842名前は開発中のものです。
2009/03/14(土) 19:45:29ID:tIr9eZosステップごとに↓のように適応させていくしかないのでしょうか?
{
botan = joystick_direction(1)
keyboard_key_press(botan)
keyboard_key_release(botan)
if joystick_check_button(1,2) = 1
{
keyboard_key_press(ord('X'))
}
else
{
keyboard_key_release(ord('X'))
}
}
0843名前は開発中のものです。
2009/03/14(土) 20:34:54ID:yMyACmE5両方のイベントで同じコードを呼び出せばよかろう。
(ちなみにジョイスティックのイベントはMouseの中にある)
俺はジョイスティックとキーボード判定するスクリプト作ってStepイベントから呼んでる。
xx = joystick_xpos(1) + keyboard_check(vk_right) - keyboard_check(vk_left);
yy = joystick_ypos(1) + keyboard_check(vk_down) - keyboard_check(vk_up);
button = joystick_check_button(1, 1) || keyboard_check(ord('Z'));
基本こんな感じで。(実際には同時押し対策とか組み込む必要あるけど)
0844名前は開発中のものです。
2009/03/15(日) 10:29:34ID:GfuU1PKsゲームの入力キーフラグをセットするような専用のオブジェクトを作ってる。
十字キーとジョイパッドの十字入力の両方で上下左右にさせたかったら、
それぞれの入力イベントで上下左右のフラグを立てる。
で、キーに反応するオブジェクトがステップイベントなどで
上下左右フラグを参照すれば、
同じ動作を複数キーに対応することが出来る。
Step Beginイベントで入力フラグの更新処理をしておくのを忘れずに。
0845名前は開発中のものです。
2009/03/16(月) 07:41:32ID:HfmZHnccいろいろやり方はあるようですが、ステップイベントから呼び出すのは同じみたいですね
0846名前は開発中のものです。
2009/03/17(火) 05:01:13ID:EJdwTMCN入力見て関数予測とかしてるせいかもしれんが異様に重い、入力文字が飛ぶんだけど
0847名前は開発中のものです。
2009/03/17(火) 08:25:59ID:CaGz4CkZコード自体が長いときは、貼り付けた後しばらく止まるけど。
0848名前は開発中のものです。
2009/03/17(火) 20:45:46ID:YSPxjodUFile > Preferences > Scripts and Code >
Show Help on function and variable names
↑このチェックを外して補完を切れば多少は変わるかも
でもまぁ他のコード編集環境を使った方が快適かもしれない
たしか候補が分かるだけで入力補完まではしてくれないんだよね
0849名前は開発中のものです。
2009/03/17(火) 21:02:29ID:EJdwTMCNんで、>>848の通りに補完もどきの設定OFFにしたらスイスイになりました
>>847-848の方ありがd
0850名前は開発中のものです。
2009/03/17(火) 23:06:13ID:8EeLcLHSまあ、反映するにはセーブしてエディタを閉じないといけないから
貼り付けとどっちが楽かは微妙だけど。
>848 補完はCtrl+Pでできるよ。(ヘルプのAdvanced Use>Scripts参照)
■ このスレッドは過去ログ倉庫に格納されています