Master.typeXさんをフォローして、最新情報をチェックしよう!

マイページへ

Ci-enはクリエイターに対して、金銭的な支援を送ることができるサービスです。

CF2.5講座:第三回「数式エディタと変数を知れ!」

どうも、Master.typeXです。
今回は変数と数式エディタの使い方を
ちょっぴり紹介していこうと思います。

どちらもCF2.5でゲームを作る上では
必要なので必修項目です、心してかかれ。

第三回:「変数と数式エディタ」

と、いうことでまずは
超重要な要素変数を覚えていきましょう。
RPGツクールシリーズでもよく聞くコレ。
CF2.5ではいくつかの種類の変数があります。
変数の概念自体はウェブで調べればそのへんに転がってるので割愛。


オブジェクトで使える変数

変数
各オブジェクトが持つ変数。
名前がつけられるのはA~Zまでの26個まで。
一応それ以上も使用可能だが、それはMFAの中に記載します。
CF2.5+だと名付けられる変数の数が増え
MFAに記載してある方法を利用せずとも使えるようになっている。

入出力のデータ形式は数字となっています。

フラグ
各オブジェクトが持つ
RPGツクールで言うところのスイッチ。
0~31の合計32個まで使用可能。
最近っていうほどではないが
最近名前がつけられるようになり
事前のオンオフも切り替えられるようになった。

入出力のデータ形式は数字0か1のどちらかとなってます。

可変文字列
各オブジェクトが持つことのできる文字列。
最大10個まで使用可能。
しかし、用語集でも触れられたとおり
凄まじく影が薄い。
それどころか同名のアクションのほうが使われる始末。
なんというか、哀れで仕方ない。

入出力のデータ形式は言うまでもなく文字

アプリケーションで使える変数

グローバル変数
アプリケーション全体に影響する変数。
RPGツクールで言うところの変数はコレに値する。
個数はほぼ無制限

入出力のデータ形式は数字となっています。

グローバル文字列
アプリケーション全体に影響する文字列。
可変文字列同様あんまり影が薄い。
こちらもほぼ無制限に作れる。

入出力のデータ形式は文字となっています。


コレ以外にも配列というものもあるんですが
あんまり使ったことがないので今回は割愛。
GMS2じゃ結構使ってるんだけどね。

オブジェクトの変数の利用法としては
アクションゲーの敵の体力とか
獲得できるコインの数値とか
前回講座にあったような移動値として使うなど色々とあります。

フラグに関しては、ちょっと注意として
RPGツクールのように
フレームをまたいで管理するわけではない
ので、そこだけは注意。
どうしてもアッチみたいな使い方したいならグローバル変数を使うのが吉。
(オブジェクトをグローバル化すればいいとは思うがそれはそれで問題が起こる)

文字列は・・・すまん、誰か教えてくれ。俺が知りたい。


続いては変数などを操作する数式エディタを紹介します。

数式エディタ

数式エディタはCF2.5でのデータを編集するためのエディタとなります。
一応、数式程度ならキーボード抜きでも出来なくもないが
文字列では結局使うことになるのでそこのテンキーはいらんやろ
とか言わないように。かわいそう。

テンキー隣のボタン類は
「AをBで割った余り」といった計算をする「Mod」
円周率を代入する「Pi」
三角関数である「Sin」「Cos」「Tan」(サイン・コサイン・タンジェント)
などがよく使われるかと思われる。
累乗である「Pow」も表示はされてないが存在する。

他にも「2つの値の最大値(最小値)を取得する」なんてのや
「乱数」「指定範囲内の乱数」もある。

そして下のリストはオブジェクトから
変数やフラグ、文字列に座標の他色々取得したり
歯車マークの「特別」からは更に特殊なデータを取り出すような
式を出したりなどできる。

主な使い方としては前回も触れたとおり
下のリストから数値を選択して、計算し、その結果が
アクションの方に反映されるという感じです。

色々と複雑な部分があるが
よく使う部分は「乱数生成」「指定範囲内の乱数生成」
「Mod」「Sin」「Cos」「Tan」あたりだと思う。
特別だと絶対値「Abs」とか「Loopindex」かなと。

もっと詳しく知りたいのなら
ココよりもMMF2wikiのほうがより詳しく
どういうコマンドかは書いてあるのでそちらを参照されたし。

MMF2wiki:数式リファレンス
こちらからどうぞ。


とまあ、駆け足で紹介していきました。
次回はいきなりですが超絶簡素なゲームを早速作ります!

次回をまて!

今回の講座MFA

CF25_kouza_v300.zip (101.45kB)

ダウンロード
\いいね・ツイートで応援!/