投稿記事

説明の記事 (23)

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では簡単な使い方を書いているので
あとはそちらを参照してくれぇ・・・


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

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

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

Master.typeX 2019/11/11 21:02

CF2.5講座:第五回「高速ループを把握せよ!」

どうも、Master.typeXです。
ココ数日疲れて倒れてたり頭痛が痛かったりして
なかなかパソ子を起動させる気力が若干失せておりました。

あっふん。

今回の講座はCF2.5のつまづきポイント
高速ループとなります。
覚えてしまえば便利ですよ奥さん。


第五回:「高速ループ」

「高速ループ」とはCF2.5の機能の一つで
ループ名を付けて指定した回数イベントを実行する。
と、言うものなのだが・・・文字じゃわからんわな。

CF25_kouza_v500.zip (108.22kB)

ダウンロード

なので、今回も講座MFAを覗きながら
ひとつひとつ見てみましょ。

高速ループの基本的な使い方

新規アクションの「特別」(歯車アイコン)から使います。
で、先程のように数式エディタで
名前と回数を指定し、今度は条件で
先程名付けたループ名を条件にすることで
そのイベントを回数分実行します。書き方的にはこんな感じです。

ちなみにこの書き方をすると
アクティブの変数Aにはフレーム開始時に1しかたされませんが
高速ループを回した方は変数Bに1を足すを30回行うという処理になります。

とにかく、名付ける→回数指定→それを条件としたイベントを作る。
コレが一連の流れとなります。

ループインデックスの取得

高速ループの基礎的な使い方の一つとして
「ループインデックス」を条件としたイベントです。
数式エディタの「特別」から「高速ループ」「ループインデックスの取得」で
ループ回数を取得します。

ただ、ループインデックスを条件とするには
「特別」の2つの一般値を比較を使います。

これは上の数式と下の数式の結果を比較して条件とするものです。
かなり便利なコマンドなので覚えておきましょう。

で、この場合は「ループ3」のインデックスが「0」の時
という条件になります。

それから、ループインデックスは
0から始まるためそこだけは注意です。
なので、30回回すと0~29を返すという結果になります。
後述する各ループも同様です。

各ループ(ForEach)

高速ループは非常に便利なものですが
オブジェクトの個数分普通に高速ループしても
どのオブジェクトがどのインデックスなのかわからないのである。

そこで使うのが各ループ(ForEach)です。

これはオブジェクトの個数分、指定した名前のループを回すのは同じなのですが
こっちはちゃんとインデックスを取得する方法があり
主にオブジェクトを特定するという使い方をします。

ただ、こちらは「特別」からループを使うのではなく
「ループを回したいオブジェクト」から「カウント」
そして「各ループ」を選択します。

ループインデックスの取得も同様です。

こちらもインデックスは0から始まっていますが
インデックスの開始は一番新しいオブジェクトから始まります。
なので、古しいオブジェクトになると一番大きい番号になります。
古しい方から始まるには工夫が必要となります。

高速ループを使ったイベント例

講座用MFAに2つほど載せておりますが軽く解説します。

クリックすると増えるオブジェクト
簡単な使い方で「オブジェクトをクリックする」条件を使い
その条件が満たされるとループを3回回してオブジェクトを
ランダムな位置に3つ生成するというものです。

そんな面倒なことしなくてもいいんじゃね?

と、思われそうなので向こうに失敗例も置いてあります。
オブジェクトの生成の後に生成したオブジェクトに対するイベントは

こんな感じに書いても実はうまくいかず
左上にイベントが重なって出来てしまいます。
なぜそうなるかはよくわかってない。(それでいいのか)
でも、とりあえず同じイベント内で複数制作せずに
高速ループを利用したりCF2.5+ならば子イベントを利用するなりしましょう。

ループインデックスを方向に使う
これはよく使われると思われる方法。
CF2.5の方向は0~31までの32方向で指定できます。
(ベクターならば0~360度まで・・・だと思う)

なので32回ループすれば講座用MFAのように
全方位に弾を発射することができるようになります。

方向の指定方法は「方向を変えたいオブジェクト」→「方向」
「方向を選択...」でいかの表示が出たら「1+1」のアイコンを押して
数式エディタを開くことで指定できるようになります。

32以上はどうなるかよく覚えてない。(おい)


とまあ、こんな感じでザックリと説明してみました。
この高速ループ、今後もちょいちょい出てくると思うので
その時はココやMFAを覗いて復習しておいてくださいまし。

次回は・・・次回は・・・

思いつかん!
(ダメじゃねーか)

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

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

Master.typeX 2019/11/05 15:25

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)

ダウンロード

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

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

Master.typeX 2019/11/03 11:08

CF2.5講座:第二回「とりあえずアクティブオブジェクトを動かしてみよう!」

どうもMaster.typeXです。
「見ろ!触れ!そして、作れ!ClickTeamFusion2.5講座」
第二回でございます。はえーよ。

第二回の内容は前回触れた緑のひし形
「アクティブオブジェクト」をとりあえず動かそう
と、言う内容となっています。

第二回:「アクティブオブジェクトを動かそう」

前述の通りとりあえずアクティブオブジェクトを
どうやって動かすのか少し解説していきます。

まずはアクティブオブジェクトを作ってみましょう。

フレームエディタを開いて、フレーム内のどこでもいいから
ダブルクリックすれば下記のリストが表示されるので
「グラフィックとアニメーション」内の「アクティブ」をダブルクリックし
カーソルが変わったらに適当にクリックしましょう。
そうすればアクティブオブジェクトがフレームに設置されます。

また、フレーム内を右クリックすると
別のメニューが出てくるのですがその場合
「オブジェクトを挿入」を選べば上のリストが出てくるので
焦らないように。

では今度はイベントリストエディタに移動しましょう!
理由はイベントエディタだと最初のうちは
視認性もよくとっつきやすく見えるのですが・・・
オブジェクトが増えれば増えるほど見づらくなっていくし
何より中のイベントの実行順序を変えるのが面倒というのもあるので
イベントリストエディタを使いましょう。

開いたらまず「新しい条件」というところをクリックし
ジョイスティックのアイコン「プレイヤー1」を選びましょう。

次は「ジョイスティック」→「ボタンと方向キーを押してる間繰り返す」
を選択するとさらにこのウィンドウが開きます。

とりあえず動かすのが目的なのでそのままOKしちゃいましょう。
コレで条件は出来上がり!次はアクションの挿入となります。

条件を作ると「ここにアクションを挿入」
というのが出てくるのでそこをクリックすると
2つくらい前の画像と同じリストが出てきます。
今度は緑のひし形ことアクティブを選択しましょう。

選んだら「位置」→「Y座標を変更」を選択すると
数式エディタと呼ばれるエディタが出てきます。

数式エディタは次回ちゃんと紹介するので今回は深く触れません。
とりあえず、まずはテキストボックスの0を削除してから
下のリストのアクティブを選択→「位置」→「Y座標」を選択し、
それの後に「-2」と、書き込んでみてください。
画像のようになるはずです。これでアクションは完成!

では上部メニューの「フレームを実行」を選択して
アプリケーションを動かしてみましょう。
そしてキーボードの上キーを押すと・・・

こんな感じで上方向に動くはずです。

これはザックリ説明すると
「上キーを押している間、オブジェクトのY座標から-2の位置に移動する」
という動作になります。

「-2」を「+2」に変えると下方向に動きます。
さらに「位置」→「X座標を変更」を選び
数式エディタで「アクティブ」→「位置」→「X座標」を選択し
先程のように「-2」や「+2」を入れれば横方向に動きます。

なので、最初の「プレイヤー1」の方向に残りの下左右の方向と
それぞれに対応した座標移動のアクションを入れると・・・

こんな移動も可能になります。

講座用MFAにはとりあえず動かす方法と
変数を利用した方法と、その上位版である「高速ループ」を使った方法
というのを収録してあります。

変数に関しては次回数式エディタのついでに紹介しましょう。

それでは今回はここまで!

今回の講座用MFAファイル

CF25_kouza_v200.zip (99.02kB)

ダウンロード

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

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

1 2 3 4 5

月別アーカイブ

記事を検索