
新年、あけまして・・・
もう2月だよ。
ついで言うとここに投稿するの
だいぶ久しぶりすぎるな!?
ということでどうも
Master.typeXです。
さて、8月に投稿して以来
何の動きもないように思えたが
どっこい生きてます。
9月10月は特に目立った動きはなかったが
11月に携帯ゲーム機型PC「GPDWIN4 2023」を予約し
12月、予定より早くそれが着弾。
1月は元日から地震の憂い目にあい
メインPCのモニターが破損、翌日即買いに行ったり。
とまあ、うん、そういうことだぁ!
(どういうことだよ)
で、今回のネタは
今現在開発中・・・というか
ほぼほぼ完成している2DACT
「ブラッドランズ(仮題)」のネタなのだが
つい先日、コレブラウザ上で動いたら
テスト版としてPLiCyに公開できねーかなと
考えておもむろにHTML出力したら
ほぼほぼ手を加えずに動いたわけでして・・・。
前置きが長くなったが、ここからが本題。
今回手を加えたのは「ポーズの処理」なのだ。
なぜ、ポーズの処理に手を加えたのかと言うと
そこでエラー落ちしてゲームが止まったからである。
まあ、単純明快だな。
しかし、instance_deactivate_allでゲームマネージャー以外の
オブジェクトを停止し、インプット、UI、ステージなど
止まっちゃいけない各マネージャーオブジェクトを
instance_activate_objectで有効化してポーズしていたつもりだったのだが
それだとどうもカメラオブジェクトの停止でエラーが発生してることが発覚。
なので、カメラも有効化してやったら
今度は裏でプレイヤーが止まらず、ポーズを解除したら
プレイヤーが地面に埋まってるではないか!!!
どうしてそうなった・・・
コリジョンのスクリプトが悪さしているのか?
コリジョンの互換性モードが悪さしているのか?
と、コリジョンばかり目を向けていたが
今思うと実に単純で、instance_activate_regionという
指定範囲内のインスタンスを有効化するコマンド・・・
つまりゲームマネージャーで止めていた
プレイヤー、床、敵、その他諸々が
有効化されてしまっていたというわけで。
だからプレイヤーが埋まったり裏で動いていたりしていたのだ。
しかも実行順はポーズ処理が書いてあるstepイベントの後に発生する
end stepイベントに書かれていたので尚の事タチが悪かった。
実行順わけわかんない!!!
だが、そこがわかったら話は簡単。
instance_activate_regionをカメラのstepイベントに書き
念のため、ポーズ用変数が0の時のみ動くようにし
ゲームマネージャーのポーズ処理の記述をstepイベントの前に発生する
begin stepイベントに移すという形で解決した。
コリジョンイジる必要なんか全く無かった!!!
クソマァ!!!
・・・まあ、長くなったが
コレでめでたく、ブラウザでちゃんと
動かせるようになったわけで。
遊んでくれる人が増えるよ!やったねたえちゃん!
(おいやめろ)
と、言いたいところだが
このゲーム、販売するつもりで作ってる。
まあ、場所は未定だが・・・。
しかし、見返してみると
GameMakerの知識がないと
さっぱりわからん内容になってしまったな。
済まないとは思っている、だが私は謝らない。
とまあそういうことで
コレがGameMakerのHTML出力したいという人の
なにかの役に立てば幸いである。
ということで今回はこの辺で。
またそのうち!!!
コメント
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。