SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

EDN CodeZine出張所(AD)

C++Builder 10.2 TokyoでレトロなラケットゲームをiOSで再構築してみる

  • X ポスト
  • このエントリーをはてなブックマークに追加

スタートボタンとストップボタンイベント

 デザイン画面からStartButtonとStopButtonのOnClickイベントハンドラを作成し、コードを記述します。ここには、スコアやラケット数の初期化をするためのコードを追加します。

//スタートボタンイベントハンドラ
void __fastcall TGameForm::StartButtonClick(TObject *Sender)
{
    // 乱数の初期化
    Randomize();
    // ボールの最初の角度を設定
    FAng = Random(45) + 90;

    // スコアとラケット数の初期化
    Score = 0;
    RacketCount = 5;
    // ボールの初速
    FSpeed = 15.0;
    // ボールの最初の位置
    Ball->Position->X = Court->Width / 2;
    Ball->Position->Y = Court->Height / 3;
    // 移動量を計算
    CalcNewDelta();
    // ボールを表示
    Ball->Visible = true;
    // タイマーを動作させる
    Timer1->Enabled = true;
    // ボタンの状態変更
    StartButton->Enabled = false;
    StopButton->Enabled = true;

}

//ストップボタンイベントハンドラ
void __fastcall TGameForm::StopButtonClick(TObject *Sender)
{
    // タイマーの停止
    Timer1->Enabled = false;

    // ボタンの状態変更
    StartButton->Enabled = true;
    StopButton->Enabled = false;
}

 以上でコーディングは終了です。

配置と実行

MP3サウンドファイルの配置

 さて、アプリをビルドする前に、iOSにMP3サウンドファイルを配置するように設定しなければなりません。サウンドファイルは壁音用「wall.mp3」とラケット音用「racket.mp3」の2つです。

 メニューから[プロジェクト|配置]を選択すると図のように配置ファイルリストが表示されます。ツールバーの[ファイルの追加]アイコンをクリックすると、ファイル選択ダイアログが表示されるので、「wall.mp3」と「racket.mp3」を順番に選択して追加します。

 その後、リストに加えられた新しい2つのサウンドファイルの「リモートパス」を指定します。指定する名称は「SetUp\Documents\」です。

図13 配置ファイルリスト
図13 配置ファイルリスト

アプリを実行する

 作成したアプリをiPhoneで実行するには、PAServerという機能を使います。iOSアプリの場合、ビルドに必ずMacマシンが必要です。MacマシンにPAServerをインストールしておくことで、C++BuilderのIDEから、Macにアプリを転送し、このMacに接続されたiPhoneへとアプリを配置、起動します。

 つまり、IDEからは、実行ボタンをクリックするだけで、ビルド、転送、配置、実行(必要に応じてデバッグも)できるのです。次のように、iPhone上でアプリが実行されます。

図14 iPhoneでアプリを実行
図14 iPhoneでアプリを実行

 以上でiOS向けのラケットゲームは完成です。C++Builder + FireMonkeyなら、同じアプリを容易にAndroid向けにもビルドできます。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
EDN CodeZine出張所連載記事一覧

もっと読む

この記事の著者

EDN編集部(イーディーエヌ編集部)

エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10589 2017/12/21 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング