- 1 名前:名前は開発中のものです。 mailto:sage [2012/11/21(水) 06:51:18.86 ID:SflfScEk]
- 無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。
●本家(英語) ttp://www.yoyogames.com/ ●GameMaker Japan - 非公式情報サイト(日本語) ttp://gamemaker.jpn.org/v1/ ●The Game Maker's Apprentice ttp://book.gamemaker.nl/ ●Game Maker まとめWiki ttp://www.wikihouse.com/GameMaker/index.php 前スレ 【2D】ゲーム作成ツールGameMaker part5【マンセー】 toro.2ch.net/test/read.cgi/gamedev/1291510669/
- 301 名前:名前は開発中のものです。 mailto:sage [2013/11/03(日) 15:57:15.04 ID:Md5zunvv]
- GameMakerStudioだけど、トリガタイプのアクションを起こそうとするとエラーを吐きやがる…
トリガー用のオブジェクトのCreateでglobal.trigger[trg]=false;と書いて CreationCodeでtrg=1;なんてやってもダメとか… 結構仕様変わってる?
- 302 名前:名前は開発中のものです。 mailto:sage [2013/11/03(日) 16:37:18.05 ID:Md5zunvv]
- ぐへぇ、自己解決した
begin stepに書かなきゃダメなのね…
- 303 名前:名前は開発中のものです。 mailto:sage [2013/11/03(日) 22:55:07.27 ID:zbmvvTHU]
- >>302
CreationCodeってRoomのsettingsタブから開くやつのこと? だったらRoom Creation CodeはCreateイベントより後に実行されるからだと思うよ、 Createイベント実行時にtrg変数が未定義だからエラーになってるんじゃないかな。 Helpのevent orderを読むとよいよ。そういう話でなかったらすまぬ。
- 304 名前:名前は開発中のものです。 mailto:sage [2013/11/04(月) 21:50:32.80 ID:H8krhL5P]
- >>303
ありがとう、実はその後更に間違えていることに気付いたんだ 定義しなくてもデフォルトで0にするとあったから、配列に関してもそうだと 勝手に思い込んで…恥ずかしい限りです 最終的にトリガ用のglobalな配列の生成&初期化するpersistentな オブジェクトを作ることで解決したけど、このやり方は標準的なのかな?
- 305 名前:名前は開発中のものです。 mailto:sage [2013/11/05(火) 09:31:52.87 ID:nc2bORgz]
- Studioから未定義の変数に0を入れるオプションなくなったんじゃないっけ
- 306 名前:名前は開発中のものです。 mailto:sage [2013/11/05(火) 21:01:21.15 ID:r9h/FXqr]
- ウィンドウを最大化すると妙にちらつくのは俺だけかな?
メインのウィンドウを最大化、MDIのウィンドウも最大化するとタイトルバーが チラチラしちゃう スタンダード版をレジストしたけど、これで5000円ってのは破格過ぎるな
- 307 名前:名前は開発中のものです。 mailto:sage [2013/11/05(火) 21:53:58.58 ID:nc2bORgz]
- 自分も。
スクリプトエディタも毎回ウィンドウの左側が見えないような 位置に出てくるのどうにかしてほしい。
- 308 名前:名前は開発中のものです。 mailto:sage [2013/11/05(火) 22:02:17.61 ID:xfSUBjuM]
- GameMakerStudioに移行しようとしたのですが、sound_play関数でまったく音が鳴りません。
GMLを使わずGUIを使えばなるのですが。 なにか事前の設定などがあるのでしょうか?
- 309 名前:名前は開発中のものです。 mailto:sage [2013/11/05(火) 22:14:47.43 ID:tMPXtnIL]
- 古い関数なんじゃね
音関係は廃止された関数がある
- 310 名前:名前は開発中のものです。 mailto:sage [2013/11/05(火) 23:11:14.60 ID:xfSUBjuM]
- audio_play_soundに変更されたんですね。
あとexecute_stringとexecute_fileが廃止されたようですが、代替手段などはあるのでしょうか? かなり頻繁に使っていた関数だったので、なくなるとかなり厳しいです。
- 311 名前:名前は開発中のものです。 mailto:sage [2013/11/06(水) 22:18:16.72 ID:AOTU2QGA]
- Global Game Settingsで「Use New Audio Engine」のチェックを外せば
sound_playとかが使える。 文字列からインスタンスidを取得したいならasset_get_indexを使うなど 特定の機能に対しては代わりに使えるものがあるけど、execute_string とかの完全な代替はないと思う。 ヘルプを見ると、Studioはマルチプラットフォームを主眼においているから ・Windowsデスクトップでしか使えない (CD関連など) ・新しい実行プログラム(ランナー)が動的にコードを生成できない (execute_stringなど) ・ランナーの動作を妨げる (スプラッシュスクリーン関連など) などとみなされた関数はそのほとんどをobsoleteとして使えなくしたらしい。 Windowsオンリーで開発してきたユーザーのことも大事にしてほしかったと思う。
- 312 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 02:06:56.08 ID:8XvWnpD5]
- ありがとうございます。
GM8だとwindows8上で同時に効果音を鳴らすと強制終了してまうのでstudioへの移行を考えていたのですが、それも難しそうですね。 一から作り直すか、いま作ってるゲームは諦めるかしないとダメそうですね。
- 313 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 12:50:01.40 ID:h7pPSNVb]
- GM8でwin8で効果音二つ以上同時に鳴らすと落ちるの?
本当?win7でやってるから知らなかった。どうしよう
- 314 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 12:58:51.65 ID:qSWIJrkW]
- 全く同じタイミングで同じ音を鳴らすと落ちるのか?
少なくとも自分のゲームでは同じ音が重なっても落ちないぞ。 前も同じこと書き込んでる人居たけど、みんなそうなの?
- 315 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 14:39:04.30 ID:bDgZfP+q]
- 自分自身はwin7なんで、直接確認したわけではないですが、複数のwin8のプレイヤーからエラー報告が上がりました。
で、調べていってみたところ、同一ステップ内で効果音が重なると強制終了になるみたいです。 また、コントロールパネルでスピーカーをオフにすると落ちないという報告もあがっているので、サウンド関係のエラーであるとは思います。
- 316 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 20:29:42.71 ID:JD9lVESF]
- 効果音を3回連続鳴らすだけですが、これをwindows8で起動すると強制終了するはずです。
p1-ul3.axfc.net/uploader/upload.cgi?s=727067303 パス:gm >>314 GM8で作ったものをwindows8でプレイすると落ちるようですね。
- 317 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 20:30:36.94 ID:JD9lVESF]
- URL間違えました。
www1.axfc.net/u/3081615.zip パス:gm
- 318 名前:名前は開発中のものです。 mailto:sage [2013/11/07(木) 23:22:06.49 ID:2fi+CGZf]
- Win7だから確かめられないけどありがとう!
ぐぐったらyoyogamesのCTOいわく、Win8のDirect Musicのバグだってさ MSに報告書出したみたいだけど去年の話みたいだからこれから修正される可能性は……
- 319 名前:名前は開発中のものです。 mailto:sage [2013/11/12(火) 23:10:40.10 ID:Wy7zpQMU]
- ゲームオーバー時やステージクリア時に画面を薄暗くしたいのだけど
画面と同サイズの画像を用意してステップ刻むごとにアルファ値を変化させる って方法しかないのかな? それで実装はしたけど、タイムラインでも使った良い方法無いかな
- 320 名前:名前は開発中のものです。 mailto:sage [2013/11/12(火) 23:17:49.96 ID:UbOhLV73]
- draw_set_alpha()とdraw_rectangle()を組み合わせる方法あるけど
描画オブジェクトのdepthとか気にしたくないから 1ピクセルスプライトのオブジェクトのimage_xscaleとimage_yscaleの値を それぞれview_wviewとview_hviewにしてやってるな。
- 321 名前:名前は開発中のものです。 mailto:sage [2013/11/12(火) 23:25:52.64 ID:UbOhLV73]
- depth云々は、大抵UIの描画関係はゲームを管理するオブジェクト一つでやるから
関数を実行する順番による描画優先度を気にしなくてよいように別オブジェクトにやらせるって意味で
- 322 名前:名前は開発中のものです。 mailto:sage [2013/11/13(水) 21:08:22.20 ID:yMB1fNzv]
- scaleは反転させるときくらいしか使ってなかったけど
確かにそういう使い方もあるね…参考にさせてもらいます あと使い回しなんかも考えたらその方が汎用性高いし良いね
- 323 名前:名前は開発中のものです。 mailto:sage [2013/11/14(木) 12:04:09.61 ID:u+KWakE5]
- >>320
俺もそのやりかただな 1ドットの白いスプライトを作ってbrend_colorで色つけてやってる
- 324 名前:名前は開発中のものです。 mailto:sage [2013/11/14(木) 16:22:26.03 ID:UbdjiDg3]
- helpファイルのリファレンスでも
画面に効果を付けるときはそういうやり方を推奨されてるね
- 325 名前:名前は開発中のものです。 mailto:sage [2013/11/14(木) 19:54:56.71 ID:UbdjiDg3]
- 沙羅曼蛇のイントルーダーみたいな蛇の動きする敵キャラ作ってるんだけど
胴体のオブジェクトが一つ前の胴体を追尾していく際に image_angleで向きを変えてもスプライトが回転するけどオブジェクト自体は回転してないから 変な動きになちゃうのよね だから毎ステップごとにlengthdir_x(len,dir)、lengthdir_y(len,dir)で 追尾する位置を指定してるんだけど オブジェクト自体を回転させる方法ってあるのかね?
- 326 名前:名前は開発中のものです。 mailto:sage [2013/11/14(木) 20:45:21.65 ID:lUjHYAox]
- direction = image_angleにしたら移動方向も向きと同じになるよ。
今試して気が付いたけど、image_angleだと当たり判定が回転してdirectionだと移動方向が回転するんだね。
- 327 名前:名前は開発中のものです。 mailto:sage [2013/11/14(木) 23:13:04.76 ID:Qx60HwWi]
- obj_headとobj_bodyというオブジェクトを作っておく。
obj_headに以下のコードを書く -------------Createイベント------------- //head setting spd = 4; turn = degtorad(5); rad = 0; body_number = 3;//胴体の数 interval = 12;//胴体の間隔 prev_array = (body_number+1)*interval; //previous x y for(i=0; i<=prev_array; i+=1){ prev_x[i] = x; prev_y[i] = y; prev_angle[i] = image_angle; } //body instance for(i=0; i<=body_number; i+=1){ body[i] = instance_create(x,y,obj_body); body[i].depth = depth+i+1 }
- 328 名前:名前は開発中のものです。 mailto:sage [2013/11/14(木) 23:15:09.29 ID:Qx60HwWi]
- -------------Stepイベント-------------
//turn if(mouse_check_button(mb_left) )rad -= turn; else if(mouse_check_button(mb_right) )rad += turn; //limite rad if(rad > pi)rad = (pi*-1)+rad-pi; else if(rad < pi*-1)rad = pi-(rad+pi*-1); //move x += cos(rad)*spd; y += sin(rad)*spd; //limit x,y if(x > room_width)x = room_width; else if(x < 0)x = 0; if(y > room_height)y = room_height; else if(y < 0)y = 0; 続く
- 329 名前:名前は開発中のものです。 mailto:sage [2013/11/14(木) 23:16:05.83 ID:Qx60HwWi]
- Stepイベント続き
//head image angle image_angle = 360-radtodeg(rad); //previous x,y if(x != prev_x[0] || y != prev_y[0] ){ for(i=prev_array; i>=1; i-=1){ prev_x[i] = prev_x[i-1]; prev_y[i] = prev_y[i-1]; prev_angle[i] = prev_angle[i-1]; } prev_x[0] = x; prev_y[0] = y; prev_angle[0] = image_angle } //body x,y,image angle for(i=0; i<=body_number; i+=1){ body[i].x = prev_x[(i+1)*interval]; body[i].y = prev_y[(i+1)*interval]; body[i].image_angle = prev_angle[(i+1)*interval]; }
- 330 名前:名前は開発中のものです。 mailto:sage [2013/11/14(木) 23:21:13.11 ID:Qx60HwWi]
- あとはobj_headとobj_bodyにスプライトを設定して
obj_headをルームに置いて起動だ。 マウスの左ボタンで反時計回り、右ボタンで時計回りだ。 これはグラディウスのオプションとかと同じやり方で 頭のオブジェクトの座標が変わった時に配列に座標と画像角度の履歴を入れるのだ。 そして胴体は履歴の適当な所から座標を持ってくる。
- 331 名前:名前は開発中のものです。 mailto:sage [2013/11/15(金) 00:06:47.67 ID:jdL1hfac]
- うわっすごい
こういった三角関数をフルに駆使したものを さらっと作れる人は尊敬する
- 332 名前:名前は開発中のものです。 mailto:sage [2013/11/16(土) 00:46:41.83 ID:hiycu6We]
- なるほど
イントルーダーの動きも オプションの動かし方のノウハウの発展だったのね
- 333 名前:名前は開発中のものです。 mailto:sage [2013/11/17(日) 18:11:30.34 ID:1OEvlxqZ]
- 三角関数はほんとわからん。
・step y += cos(degtorad(hensu1)); x += sin(degtorad(hensu2)); hensu1+= 1;hensu2+= 2; とかやると、自分でも何やってるかわからない総当りで理想の動きを探すことになる
- 334 名前:名前は開発中のものです。 mailto:sage [2013/11/17(日) 19:10:39.28 ID:smGHDxXg]
- hakuhin.jp/as/move.html
actionscriptの解説サイトだけど ゲームに必要な動きについて非常に参考になるよ 三角関数についても分かりやすく書かれてる
- 335 名前:名前は開発中のものです。 mailto:sage [2013/11/17(日) 21:58:30.12 ID:mzLb4c8H]
- backgroundなんかに使う画像は分割数で割り切れるようなサイズにしておかないと
違うタイルが引っ張ってこられたりするのね
- 336 名前:名前は開発中のものです。 mailto:sage [2013/11/19(火) 21:57:28.67 ID:Ryp+HC0T]
- モーション・プランニングの関数のなかで
[mp_grid_]ってターン製SLGの移動量計算とかに使うの?
- 337 名前:名前は開発中のものです。 mailto:sage [2013/11/21(木) 19:06:57.70 ID:GkGIvH+o]
- 外部ファイルからテキスト読み込むとして
重くならない程度に、ファイルが改竄されていないか調べる方法って何かないのだろうか。 チェックサムというのを使えばいいのだろうか。
- 338 名前:名前は開発中のものです。 mailto:sage [2013/11/24(日) 23:10:25.80 ID:92Ho2iI4]
- >>337
md5で確認すりゃ良いんじゃないかな
- 339 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 15:32:42.82 ID:Uv7CxRwU]
- ルーム外にオブジェクト配置してる時にルームウィンドウ消す際に
「ルーム外にオブジェクト配置してますけどいいの?」とか聞いてくるのを出さないようにする方法ないの? うっかりyes押してルーム外にオブジェクト全部消されたことが何回かあるよ
- 340 名前:syun77 mailto:sage [2013/11/25(月) 16:24:47.53 ID:bstDeXQy]
- 公式情報ではないのですけど、GameMaker:Studioの Standardバージョンが現在無料で使えますね
ttp://gamemakerblog.com/2013/11/25/gamemaker-studio-standard-edition-is-currently-free-50-value/ 手順としては、 1. タスクトレイのGameMakerアイコンを右クリック 2. 「Bata Update Cannel」を選択して v1.2.1214 にアップデート、 3. 起動画面から Standard版 の Get Freeボタンを押して、メールアドレスを入力 4. シリアルが送られるのでそれを入力 で使えるようになります。 Windows向けのみで開発するなら機能無制限で使えるようになるので、 持っていない方は、とりあえず登録していてもいいのではないかなと
- 341 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 18:50:44.57 ID:b/8ioFpZ]
- おいおい俺が払った50ドルはどうなるんだ
- 342 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 18:54:03.97 ID:1ATzPZZh]
- 一時はその値段でプロも買えたんだよな
8所持者割引も後出しだから発売時にすぐ買ったやつが一番損してるよ
- 343 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 19:16:44.19 ID:644V82Jy]
- さっそくインストール試してみたけどメール返信がまだ来ない
- 344 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 19:30:45.66 ID:644V82Jy]
- 返信が来ないのに一度登録したメアドに対してはラインセンス発行済みというメッセージ出た
実際にはキー貰ってない、Licence Recoveryかけても変化が無いし返信もない このプロモーションだれかすでに使えた人いますか?
- 345 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 20:00:04.06 ID:F4ISOG6W]
- yoyogamesからライセンスメール来て登録できましたよ
メールはすぐ来て、studioにライセンス入力してもエラーが出て困ったけど、 何度かコピペしたり、見直したり入力し直したりしたら通りました ライセンスキー認証の反映に時間掛かってたのかも?
- 346 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 20:37:51.07 ID:54icSXpq]
- 自分は一瞬で来たな
スパムメール扱いになってるんじゃないか これウインドウが画面端にくっつくのオフにできないのかな
- 347 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 20:42:50.26 ID:b/8ioFpZ]
- これを機にリリースノートを確認してみたんだが、
スクリプトエディタのウィンドウ出る位置修正されたんだな。 トレイアイコンを右クリックでアップデート出来るなんて気づかなかったぞ。
- 348 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 21:37:48.75 ID:Uv7CxRwU]
- わーいフリーでスタンダート版使えるようになった
>>340さんありがとー 長いこと8.1だったけどこれでやっとstudioユーザーになれたよ ってstudioってウインドウの背景色が黒なのか 慣れるのに時間かかりそうだ…
- 349 名前:名前は開発中のものです。 mailto:sage [2013/11/25(月) 22:30:52.16 ID:644V82Jy]
- メール待っていたら時間差で来ました
いま認証終わって起動したところ >>340 THX!
- 350 名前:名前は開発中のものです。 mailto:sage [2013/11/26(火) 15:59:32.18 ID:e8sQg8uW]
- >>348
GM8風のスキンが入ってるから、設定で切り替えればOK。
- 351 名前:名前は開発中のものです。 [2013/11/26(火) 23:21:53.43 ID:yBBTdPjw]
- game maker において、「out of memory」 となりセーブできない
場合の対処法を教えてください。 それとゲームそのものの軽量化について知っている方がいましたら、 ご教授願います<(_ _)>
- 352 名前:名前は開発中のものです。 mailto:sage [2013/11/26(火) 23:34:46.99 ID:kwgN5hsx]
- リソース分けるぐらいしかないんじゃないかな
動作確認で試してたけど、古いノーパソだと出力したゲームが動かなかったよ GM8系で生けていたのは動いてほしかったんだけどなあ
- 353 名前:名前は開発中のものです。 mailto:sage [2013/11/26(火) 23:51:43.01 ID:YlQqMSfN]
- >>300のことではないの?
あんまり大規模なゲーム作ったこと無いからアレだが グローバル変数は確かゲーム終了するまでメモリ解放されないから 大事なもの以外はローカル変数に任せてそのインスタンスを破棄するとか、 スプライトを外部リソースに任せて sprite_add()とsprite_delete()で必要になったら追加、不要になったらメモリ解放など。 これはCPUだけでメモリ関係ないかもしれんが instance_deactivate_region()とinstance_activate_region()を使って ビュー外のインスタンスを非アクティブにするとかなり動作が軽くなる。 もしもの時の為に非アクティブにする範囲はビューの枠きっちりじゃなくて、ある程度余裕をもたせると良い
- 354 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 01:15:29.01 ID:tRiF7W2E]
- >>350
それわかんないけどどうやるの
- 355 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 01:16:51.47 ID:K567eJjH]
- >>339
File > Preferences > Forms > Room Form > When closing, remove instances outside the room の チェックを外すと聞いてこなくなるよ。 >>351 ini_write_stringででかい文字列(入れ子にしたds_listやds_map)を保存しようとして発生したことがあるよ。 保存するデータサイズを減らすか、keyを分けて保存するしかないんじゃないかな。
- 356 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 01:23:29.88 ID:K567eJjH]
- >>351
軽量化は具体的に何をどうしたいかによるかな。 配布時のファイルサイズを減らしたいのか、 実行時の処理落ちを無くしたいのか、 実行時に使用するメモリを減らしたいのか。 本格的に知りたいなら、公式のブログにそんな記事があった気がする。 >>354 File > Preferences > General > Select Skin > GM8 を選択してOK、 GameMakerを再起動すると反映されるよ。
- 357 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 02:02:42.25 ID:ls9dHZKC]
- >>351 あとvarで変数宣言してもスクリプト終了時にメモリ解放されるっぽい。
Studioからvar xx = 0; みたいに宣言と代入を一緒に書けるようになったのか?
- 358 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 02:44:36.55 ID:tRiF7W2E]
- >>356
thanksやっぱ白い方が見やすくていい
- 359 名前:名前は開発中のものです。 mailto:sage [2013/11/27(水) 23:46:08.12 ID:VICnVDI3]
- >>355
ありがとー 聞いてこなくなったよ
- 360 名前:名前は開発中のものです。 mailto:sage [2013/11/28(木) 18:19:07.84 ID:BFROWVhY]
- なんかエラーダウンロードチュートリアルみたいのが出てきて起動できねえ
- 361 名前:名前は開発中のものです。 mailto:sage [2013/11/30(土) 08:13:47.17 ID:zklPP5zq]
- スタンダード版を50$で買った俺は…と思ったけど
まぁ、金出してる分モチベーションは維持されてるし、その分早く 触れたんだから良いやと考えるか あと、スキン変えたらちらつき無くなったよ…これは…ありがたい
- 362 名前:名前は開発中のものです。 mailto:sage [2013/11/30(土) 10:06:06.41 ID:KCKL78Ed]
- GM:Studioのヘルプ訳してる人いるのかな。
オーディオ関連の新しい仕様とか気になるけどゲーム作ってて英語読む時間も惜しい。 優先度とか新しい関数のaudio_play_sound_at()とか便利そう。
- 363 名前:名前は開発中のものです。 mailto:sage [2013/11/30(土) 10:14:36.98 ID:KCKL78Ed]
- yoyogames.com/tech_blog/33
1.3からswf読み込んでベクタースプライト使えるのか。
- 364 名前:syun77 mailto:sage [2013/11/30(土) 16:04:10.13 ID:k++EmPx9]
- >>362
ttp://www.wikihouse.com/GameMaker/index.php?%A5%B5%A5%A6%A5%F3%A5%C9 毎日少しずつですが翻訳しております。 あと全然関係ないですが、日本語文字化け不具合がようやく直ったようです。 ttp://bugs.yoyogames.com/view.php?id=12624 次のアップデートで直る、かも…?
- 365 名前:名前は開発中のものです。 mailto:sage [2013/11/30(土) 18:43:21.54 ID:KzVDDLST]
- >>364
文字化け不具合解消めっちゃ嬉しい
- 366 名前:名前は開発中のものです。 mailto:sage [2013/12/01(日) 01:51:02.55 ID:e9BbFGU8]
- >>364
おお、助かる 英語分からないからGMSには手が出せなかったんだ もっと英語勉強しとけばよかったよ
- 367 名前:名前は開発中のものです。 mailto:sage [2013/12/01(日) 08:02:40.61 ID:BjOtVDnq]
- 今日起動したらライセンスの入力求められて心臓に悪かったわ。
Studioがフリーになるのはいいけど 優柔不断な選択のせいで既ユーザーを混乱させるのはやめてほしい。
- 368 名前:名前は開発中のものです。 mailto:sage [2013/12/01(日) 16:57:24.86 ID:DoBMFTc5]
- ドラキュラ伝説リバースの1面のボスのような
巨大な球体が跳ねる動きのキャラ作ろうと思って そういうゲーム的な動きは標準で関数がたくさん用意されてるから楽勝だろう と思ってたら ソリッドオブジェクトにめり込んだり画面外に出て行ったりと変な動きして結構大変だった… あまり関数に頼らずに作ったほうが楽だったよ…
- 369 名前:名前は開発中のものです。 mailto:sage [2013/12/01(日) 17:10:03.80 ID:w+6tSHOG]
- ぶつかったらhspeedを*-1したりするだけじゃないか
- 370 名前:名前は開発中のものです。 mailto:sage [2013/12/01(日) 18:52:07.29 ID:hZFknh+G]
- move_bounce_solidはend_stepで使うと上手くいく感じ。
- 371 名前:名前は開発中のものです。 mailto:sage [2013/12/01(日) 19:22:32.16 ID:DoBMFTc5]
- 攻撃したらその威力と場所によって弾んだり
ソリッドオブジェクトに接触した場所によって弾む角度かえたりとか やってたから結構面倒だったよ >>370 ありがとー参考にしてみるよ
- 372 名前:名前は開発中のものです。 mailto:sage [2013/12/01(日) 19:33:55.09 ID:t//smXpe]
- プレイヤ以外の動体はソリッド属性持たせない方が良いね
動く足場や落ちる足場で結構ハマってしまった
- 373 名前:名前は開発中のものです。 mailto:sage [2013/12/03(火) 14:47:05.45 ID:Ymq5JLHV]
- スタンダードからプロヘッショナル版にアップグレードできます
価格はいまなら特別に25ドルですってメールが来た マスターコレクションなら欲しかったけどプロはいらない でも25ドルは安いね、心揺れる
- 374 名前:名前は開発中のものです。 mailto:sage [2013/12/03(火) 14:58:03.53 ID:tAvUYFrU]
- Pro版に備わってるTexture Managementってなんだろうな。
ちょっと次回作では3Dゲームを頑張って作ってみたいと思ってるんだが GM:Sだと、この機能がないとテクスチャを使えないのだろうか。 ちなみにGM8のときに一応DOOM風サンプルゲームのスクリプトは少し見た。
- 375 名前:名前は開発中のものです。 mailto:sage [2013/12/03(火) 22:47:43.65 ID:kww9tKDR]
- セール中だから無駄にProにしちゃったぜー
違いはあまりわかってないけどな
- 376 名前:syun77 mailto:sage [2013/12/04(水) 01:28:46.47 ID:cuUv8mN/]
- >>374
試していないのですが、おそらくStandard版でも3Dゲームは作れると思います。 ttp://2dgames.jp/html5/test_3d/ 当たり判定もなく描画のみですが3Dのサンプルです。 (左右キーで回転。上下で移動。プロジェクトファイル付きです) なお、3Dで使うテクスチャは、background_get_texture関数で取得できます。 ちなみにTexture Managementは、テクスチャ切り替えのコストを減らすツールですね。 大きい画像をたくさん使う場合、複数の画像を切り替える必要があるのですが、 このツールを使うことで画像の配分を最適化して、切り替えの負荷を減らすことができます。
- 377 名前:名前は開発中のものです。 mailto:sage [2013/12/06(金) 17:49:51.28 ID:RdnUSTUw]
- ゲーム中にウィンドウサイズとグラフィックの倍率を
Studioで変更することは可能なのだろうか。
- 378 名前:名前は開発中のものです。 mailto:sage [2013/12/07(土) 22:49:47.69 ID:XLStBMUd]
- >>377
window_set_size使えば良いよ
- 379 名前:名前は開発中のものです。 mailto:sage [2013/12/08(日) 14:44:26.57 ID:GhKKCpUH]
- object followingのview_hbor・view_vborってビューサイズ/2が最大ですか?
ビューオブジェクトが画面中央に到達するよりも前にビューが追従してほしいのですが、 いくら数値を大きくしてもビューオブジェクトが画面中央に到達するまで追従しません
- 380 名前:名前は開発中のものです。 mailto:sage [2013/12/08(日) 15:42:41.37 ID:wYz6YSg5]
- ビューは慣れてきたらスクリプト書いて管理すると簡単
view_xview[0] = 追従するオブジェクト名.x-view_wview[0]/2; view_yview[0] = 追従するオブジェクト名.y-view_hview[0]/2; タイミングによってはガタガタするので追従とUI描画は どのアクションに書くか考えてやる必要がある。
- 381 名前:名前は開発中のものです。 mailto:sage [2013/12/08(日) 16:20:42.14 ID:rCHc3PVk]
- >>380
おお、こんな簡単な方法でいけるとは ありがとうございます
- 382 名前:名前は開発中のものです。 [2013/12/11(水) 20:57:19.00 ID:fSI5Cjm3]
- 書き込みがなくて寂しいぜ
- 383 名前:名前は開発中のものです。 mailto:sage [2013/12/11(水) 21:30:16.52 ID:n3He7u0K]
- html5だとaudio_master_gain関数が動いてない気がするんだけど、気のせい?
後、draw_sprite_tiled_extも使えない感じなのかな
- 384 名前:名前は開発中のものです。 mailto:sage [2013/12/11(水) 21:34:30.15 ID:mzrJn1EJ]
- >>382
みんな制作に勤しんでるってことだ
- 385 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 21:42:00.10 ID:lphCP6ZJ]
- とりあえず1本作って売り出してみたよ…売り上げは想像に任せるけど
ところで、擬似的にキー入力する方法ってあるのかな? 例えばプレイヤーであればキー入力をトリガーにして動かせるけど、敵さんも同じように 「こういう入力で動きました」というように動かしたいんだ
- 386 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 21:50:06.81 ID:paVnqt3o]
- keyboard_check_direct()とかで処理分岐しているところを
ある変数がtrueであるかで分岐するように変更する。 インスタンスがプレイヤーキャラの場合はキー入力でその変数をtrue、 敵キャラの場合は任意のタイミングでtrueにする。
- 387 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 23:03:38.84 ID:lphCP6ZJ]
- なるほど、そういうことね
これで敵さんがムーンウォークしなくて済むわけだ… ありがとう
- 388 名前:名前は開発中のものです。 mailto:sage [2013/12/13(金) 23:59:04.56 ID:Qa49p20M]
- それって
Key press eventsとか使わずに 全部stepイベント内で処理するの?
- 389 名前:386 mailto:sage [2013/12/14(土) 00:26:56.56 ID:spUlNJeR]
- >>388
そのつもりで書いた。
- 390 名前:名前は開発中のものです。 mailto:sage [2013/12/14(土) 00:40:15.40 ID:b/FNe363]
- ほうほうなるほど
たしかにいちいちイベントを分けるより step内で出来ることは全部step内にまとめて書いたほうが管理しやすいね
- 391 名前:名前は開発中のものです。 mailto:sage [2013/12/14(土) 07:40:54.42 ID:yrbKVqKT]
- Pro購入しちゃった…
2Dゲーだけだとあまりメリットは無いかもしれないけど
- 392 名前:名前は開発中のものです。 mailto:sage [2013/12/14(土) 20:35:34.97 ID:YK0OFMhB]
- Studioのポーズメニューって、皆どうやって作ってるの?
- 393 名前:名前は開発中のものです。 mailto:sage [2013/12/14(土) 22:32:45.22 ID:spUlNJeR]
- >>392
サンプル、カーソルキーとスペースキーを使う。 www.dotup.org/uploda/www.dotup.org4737099.zip.html ポイントは ・obj_controllerというオブジェクトがゲームを制御するオブジェクトで、 persistentにチェックを入れて最初のルームに置くことでインスタンスIDを若くし、 さらにBeginStepに処理を書くことでglobal.pauseをキー入力によってtrueにする処理を再優先 ・global.pauseという変数がfalseの時だけ全てのオブジェクトで描画以外の処理をする ・非ポーズ状態からポーズ状態にする際にio_clear()を使う (これは今回のような作り方でしか意味は無いが、こうしておくと精神衛生上よい。 io_clear()をコメントアウトして実行すれば意味はわかると思う)
- 394 名前:名前は開発中のものです。 mailto:sage [2013/12/14(土) 22:43:40.22 ID:YK0OFMhB]
- >>393
おお ありがとう。 でも気になったんだけど、この方法だと、全ての処理(各stepやalarm)にif文を入れないといけないのと、 speedやgravityなんかのローカル変数をsetした場合、ポーズ中でも動いちゃうねぇ。
- 395 名前:名前は開発中のものです。 mailto:sage [2013/12/14(土) 22:47:52.46 ID:8aWDwSN3]
- ポーズはobject_deactivateだかが便利
でも対象になったインスタンスは見えなくなるから工夫が必要かも
- 396 名前:名前は開発中のものです。 mailto:sage [2013/12/14(土) 23:02:13.92 ID:spUlNJeR]
- 言おうとしたこと>>395に先に書かれてた
if文を全てのオブジェクトに書かないとならないのは仕方ない。 付けたかったら開発初期から想定して設計するものだと思う。 speedやgravityはどういう処理を行っているか透明じゃないから使ってないけど 各インスタンスにspeed_pauseとかgravity_pauseとかいう名前の変数用意しておいて、 ポーズ時に with(all){ speed_pause = speed; speed = 0; gravity_pause = gravity; gravity = 0; } 復帰時に with(all){ speed = speed_pause; gravity = gravity_pause; } とかやると良いんじゃないかな。 手間も重さも増えるけど。
- 397 名前:名前は開発中のものです。 mailto:sage [2013/12/15(日) 00:06:09.97 ID:059dzBMy]
- 俺はcopyとか名前つけたオブジェクト作っておいて、
ポーズ押したら全ての止めるオブジェクトのalarm[11]を呼んで -Alarm[11]- idx=instance_create(x,y,copy); idx.sprite_index=sprite_index; idx.depth=depth; idx.image_alpha=image_alpha; idx.image_xscale=image_xscale; idx.image_yscale=image_yscale; idx.image_index=image_index; instance_deactivate_object(self); をやらせるようにしてる
- 398 名前:名前は開発中のものです。 mailto:sage [2013/12/15(日) 00:36:02.92 ID:wg2Bhjjj]
- なるほど、それでポーズ解除するときにcopyを削除すればいいわけか。
- 399 名前:392 mailto:sage [2013/12/15(日) 10:07:43.77 ID:goJTYYiL]
- ちょっと改行が多いので分けた。
1 今試したんだけど、処理順序の若いオブジェクトの、begin_stepとend_stepを使ってやってみた。 分かり辛いのでend_stepから書くと ・end_step if(keyboard_check(vk_escape)) { if(pause == false) { pause = true; pause_menu = instance_create(0,0,obj_pause_menu); } } if(pause == true) { instance_activate_all(); if(!instance_exists(obj_pause_menu)) { pause = 0; } } escキーが押された時に、ポーズモードを有効化します。 ポーズメニュー用のオブジェクトを生成します。ただし、この時点で、drawのために、全てのオブジェクトをアクティブ化します。
- 400 名前:392 mailto:sage [2013/12/15(日) 10:08:36.75 ID:goJTYYiL]
- 2
・begin_step if(pause == true) { instance_deactivate_all(true); instance_activate_object(pause_menu); } begin_stepで、全てのオブジェクトを非アクティブ化し、pause_menuオブジェクトだけアクティブ化します。 これでdrawは呼び出される。 欠点として、end_step内に座標を直接操作する処理があるオブジェクトを作ると、メニュー中でも動いたりする。 もし、そういう事が起こる場合、end_stepの if(pause == true) { instance_activate_all(); if(!instance_exists(obj_pause_menu)) { pause = 0; } } を処理順序の遅いオブジェクトにやらせる事で対処可能。
|

|