Master.typeX 2019/11/08 21:33

CF2.5講座:第四回「超簡単なゲームを作ってみよう!」【追記あり】

どうも、Master.typeXです。
今回はいきなりですが
超簡単なゲームを作るということになります。

後にブロック崩しも作りますが
今回はそのためのスモールステップだと思ってください。

では行ってみよう。


第四回:「クリックゲームを作る」

今回作るゲーム

今回作るゲームは上記のリンクにある
クリックでアクティブオブジェクトを血祭りにあげるゲームです。

すっごい簡素だけどこの程度ならば
30分程度で作れちゃいます。

ちなみに行数はたった30行。フレームの遷移などもなし!
まあ、お手軽ですよ奥さん!

今回は講座用MFAを覗きながら進めるといいでしょう。

CF25_kouza_v400.zip (103.34kB)

ダウンロード

工程1:必要なオブジェクトを作る

まずは2つのオブジェクトを作りましょう。
作るオブジェクトは「計算用」と「アクティブ」です。
画像は変更せずにそのままです。

名前を変更するには、作ったオブジェクトを
右クリックした時のメニューにある
「名前を変更」で変えることが出来ます。
多分、アクティブと続けて作ると
名前が「アクティブ 2」というのができるので
そっちを「計算用」にリネームしてやりましょう。

次に作るのは「カウンターオブジェクト」を2つです。
カウンターはリスト内の「データ」のところに分類されています。
こっちは名前を変えないでおきましょう。

そして「文字列」を3つ。こちらも名前は変更しません。
文字列はリスト内の「テキスト」のところに分類されています。

工程2:オブジェクトの設定を変える

次は作った各オブジェクトの設定を変更していきましょう。
オブジェクトを左クリックすると画面左下の「プロパティ」が開きます。

ここでオブジェクトの動作設定や
変数やフラグの作成やリネームなど他にも色々と出来ます。

ちょっと駆け足になりますが
各オブジェクトのプロパティを変えていきましょう。

「計算用」
「値」のタブ(A-Zのアイコン)を開き
「OV_カウント」「OV_出現時間」の変数を作りましょう。
フラグも「フラグ 0」を作ってください。
次に「ランタイムオプション」のタブ(紙の上に赤い矢印のアイコン)を開き
「オブジェクトが動作領域から離れている場合破壊」のチェックを無くし
「表示領域から離れすぎている場合オブジェクトを無効」を「いいえ」に変更します。
その後、オブジェクトを白いエリアの外の適当な位置に移動させて完了です。
白いエリア内にいると見えてしまうので。

オプションの「破壊」や「無効」はおまじないみたいなものだと思ってください。
今のところは。

「アクティブ」
こちらは「ランタイムオプション」で計算用と同じ設定にして
「開始時に作成」のチェックを外してください。
そうするとフレームが開始されても
イベントで作成しない限りオブジェクトが作成されないようになります。
それが終わったら白いエリア外に移動させましょう。

「文字列」・「カウンター」
「設定」タブ(紙の上にチェックマークのアイコン)を開き
「パラクラフ1」に「壊したオブジェクトの数」と書いておき
白いエリア内の左上あたりに置きましょう。
その少し横に「カウンター」を移動させます。

「文字列 2」・「カウンター 2」
先程の文字列同様「設定」タブを開き
「パラクラフ1」に「現在のオブジェクトの数」と書き
「文字列」の少し下辺りに置きましょう。
さらにその隣に「カウンター 2」を移動させておきます。

「文字列 3」
こちらは「サイズ/位置」タブ(四角と矢印のアイコン)を開き
「位置」をX:0、Y:0に指定して移動させます。
その後、「サイズ」を幅:640、高さ:480に設定し
「設定」タブを開き「パラクラフ1」に
「げーむおーばー」とでも書いておきましょう。
【追記】「ランタイムオプション」で「開始時に作成」チェックを切っておきましょう。メチャクチャ忘れてた。


これでオブジェクトの設定は完了です。
次にいよいよイベントを書いていきましょう!


工程3:イベントを書いていく

上部メニューから「イベントリストエディタ」を開きます。
そして、新規条件を選択し以下の順でイベントを組んでいきましょう。
またちょっと駆け足になりますがご容赦くだせぇ・・・

  • フレームが開始
    計算用 : OV_出現時間 を 120 に変更

↑これはフレーム開始時に出現時間をリセットするというものです。

  • 計算用: フラグ 0 が無効
    計算用 : OV_カウント に 1 を追加

↑コレは「計算用」の「フラグ 0」が無効の時の条件です。
この「フラグ 0」は後々使っていきます。
そして、内容は単純に「OV_カウント」に「1」を追加しているという意味です。

  • 計算用: フラグ 0 が無効
    • OV_カウント: 計算用 >= OV_出現時間( "計算用" )
      新規オブジェクト : 次のオブジェクトを作成: アクティブ 場所: (0,0) レイヤー 1
      アクティブ : X 座標を RRandom(32, 608) に変更
      アクティブ : Y 座標を RRandom(32, 448) に変更
      計算用 : OV_カウント を 0 に変更

↑こちらも「計算用」の「フラグ 0」を使用しています。
イベントの内容としてはザックリ説明すると
「アクティブ」を座標X:0、Y:0に作成後
XとY座標をランダムなところに変更し、カウントをリセットする。
というものになっています。

  • ユーザーが 左ボタンをクリック - アクティブ 上
    カウンター : カウンターを 1 増加
    アクティブ : 破壊

↑こちらは「アクティブ」の上で左クリックすると
「カウンター」が増加し、「アクティブ」を破壊する
という処理になります。

  • 常に実行
    カウンター 2 : カウンターを NObjects( "アクティブ" ) にセット

↑こちらは「カウンター 2」の数値を「アクティブ」の数にセットするという処理です。

  • カウンター = 5
    + イベント連続時にアクションを 1 回のみ実行
    計算用 : OV_出現時間 から 10 を引く

  • カウンター = 10
    + イベント連続時にアクションを 1 回のみ実行
    計算用 : OV_出現時間 から 10 を引く

  • カウンター = 15
    + イベント連続時にアクションを 1 回のみ実行
    計算用 : OV_出現時間 から 10 を引く

  • カウンター = 20
    + イベント連続時にアクションを 1 回のみ実行
    計算用 : OV_出現時間 から 10 を引く

  • カウンター = 25
    + イベント連続時にアクションを 1 回のみ実行
    計算用 : OV_出現時間 から 10 を引く

  • カウンター = 30
    + イベント連続時にアクションを 1 回のみ実行
    計算用 : OV_出現時間 から 10 を引く

  • カウンター = 35
    + イベント連続時にアクションを 1 回のみ実行
    計算用 : OV_出現時間 から 10 を引く

  • カウンター = 40
    + イベント連続時にアクションを 1 回のみ実行
    計算用 : OV_出現時間 から 10 を引く

↑コレは「カウンター」の数値が5ごとに
「計算用」の「OV_出現時間」から10数値を引いていることになります。
こうすることで出現時間が短くなり、ゲームがスリリングになります。

  • 計算用: フラグ 0 が無効
    + カウンター 2 >= 10
    新規オブジェクト : 次のオブジェクトを作成: 文字列 3 場所: (0,0) レイヤー 1
    計算用 : フラグ 0 を有効に設定

  • "Space" キーを押した時
    + 計算用: フラグ 0 が有効
    ストーリーボードコントロール : 現在のフレームをリスタート

↑最後のコレがゲームオーバーの処理と
再スタートの処理となります。


うん、あれだ
あえて言わなくてもわかりづれぇ!!!

流石に一つ一つ説明していくのも大変なので・・・
どこにそのコマンドあるの?とかあれば
コメント欄にお書きくださいまし・・・すまねぇ・・・

とまあ、でもコレを書いていけば
最初に載せたような簡単なクリックゲームが作れるんです!

そして次第に慣れてしまうと
背景を付け足したり、お邪魔キャラを用意したり
あと、時々爆発するオブジェクトが出てきたり
更にその爆発に巻き込むと誘爆したりなど・・・

それをすべてまとめた結果がコレだよ!!!

なんと酷い・・・

ま、まあそういうことで・・・
とにかくこれで最初のステップは完了だ!
うん!そういうことにしておこう!

次回はシステム面に戻り
CF2.5のつまづきどころの一つ、「高速ループ」をやろうと思います!

コレを覚えれば一気にレベルアップですよ!奥さん!

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

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

月別アーカイブ

記事を検索