投稿記事

講座の記事 (15)

Master.typeX 2020/12/19 21:53

CF2.5講座第九回:物理オブジェクト?なにそれおいしいの?

物理エンジン。
CF2.5から追加された新たな機能。
なのだが、イマイチわからん。
その上別に使わなくてもゲームが作れるので余計に・・・

どうも、Master.typeXです。
今回は講座・・・とは呼べないです。
というのも、上記の通り物理エンジンについて
説明したいのだが
自分自身がそもそも使ったことがない
ので、説明になるかどうかすげぇ怪しいのです。

なので最初に言っておく。
説明できなくて許せっ!

今回の講座プロジェクトはこちらです。

CF25_kouza_v900.zip (141.06kB)

ダウンロード

兎にも角にも物理エンジンオブジェクトを置こう

左クリック→オブジェクトを挿入→リストの物理を選択
そして「物理-物理制御エンジン」を置きましょう。
これだけで物理制御がエンジンを置いたフレームで有効になります。

色々設定がありますが、基本的にいじらないで使いましょう。今回は。

物理オブジェクトを置こう

通常のオブジェクト作成と同じですが
オブジェクトのプロパティの動作を物理-静止にしましょう。
今回はこの物理-静止オブジェクトを使います。

ここがすごいよ物理エンジン


画像はオブジェクトグループになってますが
物理オブジェクトは同じオブジェクトと衝突処理が可能なのです。

え?普通じゃん?
ところがどっこい、CF2.5だと普通ではなかったりする。
※オブジェクトグループはまたそのうち紹介します。

通常のオブジェクトだとこのように
一個目はちょっと重なって止まってるが
二個目三個目と不自然な動作になる。

なので、物理オブジェクトはこのためだけに使うのも手である。

物理オブジェクトのかんたんな設定

初期方向:
文字通りの最初に向いている方向。なのだが
実は32方向を割と強引に角度として扱っている様子。
(書いてる途中に気づいた)
ちなみに0度は右方向である。

角度を固定:
物理エンジンの回転処理による角度変更を無効化する。
同じようなオプションに
「物理エンジンによる回転の利用」があるが
こちらは画像の回転処理を無効化するのでややこしい。

密度:
この数値が高いとアクションの
「力積を適用」の影響を受けづらくなる様子。(多分)

弾性:
この数値が高いとよく跳ねるようになる。(多分)

摩擦:
この数値が高いとよく滑るようになる。(多分)

物理アクション

力積を適用:
オブジェクトに対し指定した角度に力を加える。
なので、応用次第ではだるま落としのような処理も可能である。


えーと・・・以上。

角力積とか力とか色々まだあったり
ジョイントとかもあるのだがまだ未検証なので・・・

また物理でなにかあったら別のフレームで更新します。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Master.typeX 2020/09/02 18:03

CF2.5講座第八回:手っ取り早くアクションを作るならば、PMOを使わざるを得ない

どうも、Master.typeXです。

今回は手っ取り早くアクションを作るならば
オススメのエクステンションの紹介です。

その名も
「Platform Movement Object」!

講座の用語集にはすでに出てましたね。

という事で今回の講座mfaです。

CF25_kouza_v800.zip (137.02kB)

ダウンロード

いざ起動!・・・しかし

注意された。なんでや!

このダイアログが出てるあなた!
文字通りPMOを導入してないですね!
出てない人は多分だいたい理解してるので
この講座の意味があんまりないかも知れない。

エクステンションマネージャーを開こう

ここは素直にダイアログにある
「エクステンションマネージャー」をクリックし
PMOを探してインストールしましょう。
これで再試行すれば通ります。

PMOの注意点

使い方や細かい説明はwikiの方に丸投げするが
ここで紹介できる範囲の注意点だけをいくつか。

だいたいの使い方はこちら


使う時は必ず「Set Object」で対象を指定しよう
PMOは置いただけでは動作しないので
必ずSet Objectアクションで
適用させたいオブジェクトを指定しよう。

ちなみに、一個のPMOでセットできるオブジェクトはひとつまで
という制限があるので要注意。
敵キャラなんかに使うならそれだけ数が必要になる。


矩形のオブジェクトを指定しよう
講座の用語集にある通り、CF2.5の当たり判定は
ファイン判定とボックス判定の2種類となっている。
で、ボックス判定なら大丈夫・・・なのだが
大抵の場合ファイン判定で使ってる人も多い。
しかしファイン判定だと当たり判定が可変するので
地面にめり込んだりするなどひじょーに目も当てられないことになるので
矩形の本体オブジェクトとキャラクターのオブジェクトは分けて使おう。
追従させるのも忘れずに。


とまあ、こんなところだろうか。
本来ならばサンプルゲームも用意したかったが
そこまで手も首も回らないので割愛させてくれ、頼む!

次回は主も知らない物理の世界に踏み込んで見る。
ニュータイプの修羅場が見られる・・・のか?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Master.typeX 2020/07/06 17:04

CF2.5講座:第七回「ヘルスバーのヒントになったらいいなと思う」

どうも、Master.typeXです。

今回はCF2.5講座第七回
ヘルスバーのちょっとした作り方
を紹介していこうと思ってます。

こんな感じのを作ります。

いわゆる横方向の棒ゲージやアイコンによる体力表示です。
縦方向は拡大方法などを変更することでできるので割愛。

今回のmfaファイルです。※要CF2.5本体

CF25_kouza_v700.zip (134.47kB)

ダウンロード

かんたんに内容を説明していきます。

カウンターオブジェクトで表現

カウンターオブジェクトは数値以外にもサンプルの通り
ゲージとして表示が可能であります。
ただし、注意点として
最大値と最小値を必ず変更すること。

一番上の2本のゲージの内、上の方は
最大値と最小値を全く変更していません。
変更方法は、カウンターオブジェクトのプロパティで
変更は可能ですが、イベントを使ったほうが
柔軟性はあると思います。

アクティブオブジェクトのXスケール変更で表現

アクティブのXスケール(拡大率)を変更することで
表現する方法もあります。

こちらは最大値のみ設定しないと
動画のように際限なく伸びていきます。
また、ホットスポットは左上を推奨します。
真ん中に設定しちゃうと、中央の二番目のゲージのように
左右が広がったり縮んだりするので。

その他の表現方法

まず一つ目がライフオブジェクトでの表現です。
CF2.5で用意されている特殊な変数である「ライフ」を
参照して表示するというオブジェクトです。

ただし、ライフオブジェクトは
画像・数字画像・数字文字の三種類のみしか選べないので
表現の幅はあまりありません。
と言うか、わざわざライフ使うよりグローバル変数使ったほうががマシである

そして最後の一つが
アクティブオブジェクトのアニメーションを使った表現です。
今回は0~10の11個の画像を使ってますが
言うまでもなく数が多くなればなるほど大変なので
あんまりおすすめはできない方法ではあります。

ちなみに、疾風戦記フォースギア1のゲージは
このアニメーションによる表現で作られております。


とまあ、こんな感じですね。
今回は講座というよりは作り方のヒントのようなものですかね。
これが何かの役に立つ事を切に願う・・・。

次回の内容はPMO(Platform Movement object)を使った
かんたんなアクションゲームの作り方みたいな事をやってみようかな?

どうですか、奥さん?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Master.typeX 2020/06/27 18:40

CF2.5講座:第6.5回「怪奇!?オブジェクトを発射の謎!?」

どうも、Master.TypeXです。
すっごい久々ですがCF2.5講座・・・
と、いうよりは自分の疑問点を形にしたモノとなります。

とりあえず今回のmfaファイルはこちら。

CF25_kouza_v610.zip (128.84kB)

ダウンロード

内容はタイトルの通り
「オブジェクトを発射」についてです。

まず前置きとして「オブジェクトを発射」とはなんぞやと。
その名の通り指定したオブジェクトを
指定した方向と速度で発射するというイベントです。

一見すると便利そうにも見えるのだが
このイベント、とてもじゃないが使えたものじゃない。

その理由の数々はmfaファイルにも書いてあるが
端的にまとめてしまえば
制御不能なところが大きい。

レイヤーは移動できても
弾自体は止まらないし、速度を変えても無駄。
今回のオブジェクトはデフォルト動作の「バウンスボール」に
指定してあるが、バウンスイベントも無効化して
画面の向こう側へと行ってしまう。

言うまでもなく
純粋な「弾」としては不適合である。

余程理由がない限りは
この発射イベントは初心者であっても
使ってはならないモノと個人的に判断する。

まあ、実際今回のmfaを触ってくれればわかるはず。
・・・多分。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

Master.typeX 2019/11/23 22:15

CF2.5講座:第六回「Iniで保存と読み込みをしてみよう!」

どうも、Master.typeXです。
今回は結構難儀しました。
だって私もいまいちわかってないのに使ってるのよコレ。

と、言うことで
CF2.5講座必修項目その2
Iniオブジェクトの紹介を始めますぞー!

今回のファイル

CF25_kouza_v600.zip (126.65kB)

ダウンロード

第六回:「Iniオブジェクトによる保存と読み込み」

Iniはゲームデータの保存を行う
超絶重要オブジェクトです。

基本的な使い方を教えることはできるが
某氏に大型ディスプレイでぶん殴られることを覚悟して
今回解説していこうかと思ってます。
(実は某氏に最近フォローされた。)

使う前の儀式

まずオブジェクトを置いたらコレのチェックを外す。

忘れてしまうと
\C/ユーザー/ユーザー名/AppData/Roaming/MMFApplications
の中にiniファイルが作成されてしまう。
面倒なのがAppDataの場所が隠しファイルだということ。
なんでデフォでチェック入れてあるし・・・

基本的な使い方
基本的にはアクションで
「ファイルを指定」し「グループを指定」のあと「項目を指定」する。
保存する時はIniのアクションで数式エディタで指定した
数値、または文字列を代入すると保存できる。
読み込みはオブジェクトのアクションで数値、または文字列を
数式エディタでIniオブジェクトの「値(文字列)を取得」でIniの値を読み込む。

うん、あれだ
自分で書いておいて絶対伝わらんと思ってる。

でも実際使い方はコレなのでしょうがない・・・


ファイルの指定方法
ファイルの指定の方法は数式エディタで行う。
今回の講座ではアプリケーションのパス名を取得している。

"Apppath$" は数式エディタの
「特別」→「ファイル名」→「アプリケーションパス名」
から取得することができる。
コレを行うことで、文字通り自動的に
アプリケーションの位置までのパスを取得してくれる。

"save\save_1.ini"のうちの「save_1.ini」が
拡張子iniのファイルとなる。
その手前の「save」はフォルダ名で「¥」は
プログラム的にバックスラッシュに置き換えられるので実質的には
「saveフォルダのsave_1.iniを参照する」と、言う意味合いになる。

「.¥」の相対パスというのもあるけど
教えてもらっておいてなんだが
ぶっちゃけ理屈がいまだにわかってない。
でも、相対パスも"Apppath$"と同じような使い方ができる。

そして一番忘れちゃいけないのが「save_1.ini」の「.ini」をちゃんと書くこと。
コレを忘れてしまうと読み込み不可のファイルになってしまう。

・・・それで何度うっかり忘れて大変な目にあったか・・・

講座用MFAでは簡単な使い方を書いているので
あとはそちらを参照してくれぇ・・・


次回講座はちょっと未定です。
許せ!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3

月別アーカイブ

記事を検索