簡単なアプリを作成してみよう

作成するアプリの概要

エディタに同梱されている、
サンプルゲーム「Rhythm Robo」の、
抜粋部分を作成していきます。
エディタの使い方の参考にしてください。

1.レーン画像の表示。
2.落下する標的の表示。
3.タイミングよくボタンを押すと「成功」と表示する処理。


1.作業ディレクトリの選択

アプリ情報が保存されるディレクトリを指定します。
どこかに、空のディレクトリを用意してください。
(ここでは、E:\work\testというディレクトリに作成していくことにします。)

>統合情報を選択(統合ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>ディレクトリ名「E:/work/test」を入力
>読み込み実行(読み込みボタンクリック)
>統合情報ファイルの作成(作成確認ではいをクリック)

@ここまでで何ができたのか?
>統合情報を選択(統合ボタンクリック)
>コード編集を実行(編集Cボタンクリック)
で、現在の情報で作成される、スクリプトが確認できます。
(キャンセルボタンで閉じます。)

中央にいろいろ書いてあるのは主軸処理です。
指定が無い場合、デフォルトの主軸処理が採用されます。
そのほかの項目は未設定の状態となっています。


2.編集設定の作成・変更

エディタの設定を作成・変更します。
設定は作業ディレクトリ毎に保存されます。
(ここでは、「otherData.txt」というファイルを設定して、拡張名称を「.hsp」に変更します。)

>編集設定を選択(設定ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>編集設定ファイル名「otherData.txt」を入力
>読み込み実行(読み込みボタンクリック)
>編集設定ファイルの作成(作成確認ではいをクリック)

>編集設定を選択(設定ボタンクリック)
>データ編集を実行(編集Dボタンクリック)
>拡張名称「.hsp」を入力
>保存実行(保存ボタンクリック)

@ここまでで何ができたのか?
データ編集で、外部主軸処理という項目が空欄になっています。
ここを未設定にすることでデフォルトの主軸処理が採用されます。


3.基本情報の作成・変更

アプリ基本情報を作成・変更します。
(ここでは、「baseData.txt」というファイルを設定して、
アプリ名称を「testapl」に
画面表題を「TestApl」に変更します。)

>基本情報を選択(基本ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>基本情報ファイル名「baseData.txt」を入力
>読み込み実行(読み込みボタンクリック)
>基本情報ファイルの作成(作成確認ではいをクリック)

>基本情報を選択(基本ボタンクリック)
>データ編集を実行(編集Dボタンクリック)
>アプリ名称「testapl」を入力
>画面表題「TestApl」を入力
>保存実行(保存ボタンクリック)

@ここまでで何ができたのか?

「/* <基本情報>は未設定です */」
の一文が新しく作成した情報に置き換わっています。
そのほか、「アプリがひとつの場面(シーン)で構成される」などが書かれています。
また、その場面では「開始準備0番」「終了条件0番」が、
実行される、というような記述も追加されています。

ちなみに、場面(シーン)0は、アプリケーション開始時に1度だけ実行される、
特殊な場面(シーン)となります。通常移行では、再実行されることはありません。
今回は、場面(シーン)移行がないので、特に違いはありません。


4.開始準備の作成

場面(シーン)開始準備処理情報を作成します。
(ここでは、「bgnScData.txt」というファイルを設定します。)

>開始準備を選択(準備ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)が「<-1>」であることを確認
>開始準備ファイル名「bgnScData.txt」を入力
>読み込み実行(読み込みボタンクリック)
>開始準備ファイルの作成(作成確認ではいをクリック)

さらに個別情報を作成・変更していきます。
(開始準備など、複数登録するものは、個別情報に分けて保存されます。)

>開始準備を選択(準備ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)で「<0>」を選択
>開始準備ファイル名「bgnSc0_d.txt」を入力(通常は分かりやすいファイル名をつけていきます)
>読み込み実行(読み込みボタンクリック)
>開始準備ファイルの作成(作成確認ではいをクリック)

>データ編集を実行(編集Dボタンクリック)
>描画基点xに半角「0」を入力
>描画基点yに半角「0」を入力
>描画対象数に半角「2」を入力
>@act/at@ox/oy…に以下を入力(何も無い3行目まで、入力してください。コピーも可です)

>追記文に以下を入力(何も無い6行目まで、入力してください。コピーも可です)

>保存実行(保存ボタンクリック)

@ここまでで何ができたのか?

「/* <開始準備>は未設定です */」
の1文が、場面開始前にレーンや標的の描画準備をするための
記述に置き換えられました。


5.終了判定の作成

場面(シーン)終了判定処理情報を作成します。
(ここでは、「endScData.txt」というファイルを設定します。)

>終了判定を選択(判定ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)が「<-1>」であることを確認
>終了判定ファイル名「endScData.txt」を入力
>読み込み実行(読み込みボタンクリック)
>終了判定ファイルの作成(作成確認ではいをクリック)

さらに個別情報を作成・変更していきます。

>終了判定を選択(判定ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)で「<0>」を選択
>終了判定ファイル名「endSc0_c.hsp」を入力(通常は分かりやすいファイル名をつけていきます)
>読み込み実行(読み込みボタンクリック)
>終了判定ファイルの作成(作成確認ではいをクリック)

今回はシーンがひとつで、かつ終了はウィンドウの×ボタンで行うので、
終了判定は、作成した状態(デフォルト)のままで完了です。

@ここまでで何ができたのか?

「/* <終了判定>は未設定です */」
の1文が、シーンを継続する(=終了しない)ための
記述に置き換えられました。


6.動画素材の作成

動画素材情報(何秒の連続描画なのか、画像のどの部分を使うかなど)を作成します。
(ここでは、「ationData.txt」というファイルを設定します。)

>動画素材を選択(動画ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)が「<-1>」であることを確認
>動画素材ファイル名「ationData.txt」を入力
>読み込み実行(読み込みボタンクリック)
>動画素材ファイルの作成(作成確認ではいをクリック)

個別情報は2つ(レーン用と標的用)必要なので領域を拡張します。

>データ編集を実行(編集Dボタンクリック)
>詳細領域数に半角「2」を入力
>保存実行(保存ボタンクリック)

さらに個別情報を作成・変更していきます。
まずは、レーン用の動画素材を設定します。

>動画素材を選択(判定ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)で「<0>」を選択
>動画素材ファイル名「ation_score.txt」を入力(通常は分かりやすいファイル名をつけていきます)
>読み込み実行(読み込みボタンクリック)
>動画素材ファイルの作成(作成確認ではいをクリック)

>データ編集を実行(編集Dボタンクリック)
>@A@X・Y@・・・に以下を入力(何も無い6行目まで、入力してください。コピーも可です)

>保存実行(保存ボタンクリック)

次に、標的用の動画素材を設定します。

>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)で「<1>」を選択
>動画素材ファイル名「ation_line.txt」を入力(通常は分かりやすいファイル名をつけていきます)
>読み込み実行(読み込みボタンクリック)
>動画素材ファイルの作成(作成確認ではいをクリック)

>データ編集を実行(編集Dボタンクリック)
>終了時間に半角「2000」を入力
>描画位置に半角「1」を入力
>標準連結に半角「1」を入力
>@A@X・Y@・・・に以下を入力(何も無い6行目まで、入力してください。コピーも可です)

>保存実行(保存ボタンクリック)

@ここまでで何ができたのか?

「/* <動画素材>は未設定です */」
の1文が、作成した動画素材情報の記述に
置き換えられました。


7.描画位置の作成

描画位置計算処理情報(※描画位置に限らず、描画対象ごとのフレーム処理はこの項目で実装します。)を作成します。
(ここでは、「moveData.txt」というファイルを設定します。)

>描画位置を選択(位置ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)が「<-1>」であることを確認
>描画位置ファイル名「moveData.txt」を入力
>読み込み実行(読み込みボタンクリック)
>描画位置ファイルの作成(作成確認ではいをクリック)

個別情報は2つ(レーン用と標的用)必要なので領域を拡張します。

>データ編集を実行(編集Dボタンクリック)
>詳細領域数に半角「2」を入力
>保存実行(保存ボタンクリック)

さらに個別情報を作成・変更していきます。
まずは、レーン用の描画位置を設定します。

>描画位置を選択(位置ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)で「<0>」を選択
>描画位置ファイル名「move_score.hsp」を入力(通常は分かりやすいファイル名をつけていきます)
>読み込み実行(読み込みボタンクリック)
>描画位置ファイルの作成(作成確認ではいをクリック)

>コード編集を実行(編集Cボタンクリック)
>コード入力の複数行入力域に以下のコードを入力(「return 0」の次行、何も無い行まで、入力してください。コピーも可です)

>保存実行(保存ボタンクリック)

レーンは移動しないので、関係ない処理(「成功」の文字描画と、キー取得処理)を、
代わりに実行します。
(別の描画対象を作成して、そこに処理を作っても○。
レーンは描画位置処理で何もしないことになるので、
ここに、ほかのフレーム処理をまとめて作成しました。)

次に、標的用の描画位置を設定します。

>描画位置を選択(位置ボタンクリック)
>領域選択を実行(領域選択ボタンクリック)
>領域番号(プルダウンメニュー)で「<1>」を選択
>描画位置ファイル名「move_line.hsp」を入力(通常は分かりやすいファイル名をつけていきます)
>読み込み実行(読み込みボタンクリック)
>描画位置ファイルの作成(作成確認ではいをクリック)

>コード編集を実行(編集Cボタンクリック)
>コード入力の複数行入力域に以下のコードを入力(「return 0」の次行、何も無い行まで、入力してください。コピーも可です)

>保存実行(保存ボタンクリック)

標的の高さとキー入力状況から、成功を判定しています。
落下による位置計算も行っています。

@ここまでで何ができたのか?

「/* <描画位置>は未設定です */」
の1文が、作成した描画位置計算処理情報の記述に
置き換えられました。
未設定記述がすべて置き換わったので、
コンパイル・実行できる形のスクリプトが完成しました。


8.スクリプトの出力、コンパイルに必要なファイル

ひと連なりの情報を1つのスクリプトファイルとして、出力します。

>統合情報を選択(統合ボタンクリック)
>コード編集を実行(編集Cボタンクリック)
>出力名称を確認(必要な場合は変更してください。)
>保存実行(保存ボタンクリック)

名前を変更しなければ、作業ディレクトリの直下に
newLinkCode.hsp
というファイルとして、最終スクリプトが出力されます。
(編集設定で、拡張名称を.hspに変更したので、「newLinkCode.hsp」となります。)

最後に、画像ファイルを用意します。
ロゴ画像ファイルは、編集設定の「ロゴ画像>生成する」が選択されていると、
(デフォルトで選択されているはずです。)
上の手順で最終出力ファイルを出力する際に、
同じく作業ディレクトリの直下に出力されます。
あとは、「xScore.bmp」「xLine.bmp」という2つのファイルを、
作業ディレクトリから参照するようにしているので、
「サンプルゲームのプロトタイプデータ」(サンプルゲームの項目に詳しく書いてあります。)の中から、
これらのファイルを作業ディレクトリにコピーしてきてください。

コンパイル・実行すると、以下の処理が実行されます
−「Rxエディタ」のロゴ表示のあとに、処理が実行されます。
1.レーン画像の表示。
2.落下する標的の表示。
3.タイミングよくボタンを押すと「成功」と表示する処理。
(終了は、ウィンドウの×ボタン等で行ってください。)