SHOEISHA iD

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

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

EDN CodeZine出張所(AD)

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

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

 古いラケットゲームのソースを取り出し、最新のC++Builderを使ってiOS向けに再構築してみることにします。せっかくのモバイルアプリですから、サウンドやタップ操作などにも対応し、イケてる感じのレトロゲームに仕上げたいと思います。

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

はじめに

 5年前に「C++Builder XE2+FireMonkeyで昔のラケットゲームを再構築してみる」という記事を執筆し、古いラケットゲームのソースを引っ張り出してきて、WindowsとMacの双方に対応したC++Builderの機能を使って、マルチOS対応のゲームアプリケーションを作成する手順を紹介しました。あれから5年が経過し、C++Builderも満20歳を迎え、Windows、Macだけでなく、iOS、Androidにも対応したマルチデバイス開発ツールへと成長し、モバイル開発もC++でできるようになっています。

 ということで、再びこのラケットゲームのソースを取り出し、今度はiOS向けに再構築してみることにします。せっかくのモバイルアプリですから、サウンドやタップ操作などにも対応し、イケてる感じのレトロゲームに仕上げたいと思います。

ゲームの概要

 ゲームは、左右に動くラケットで壁に跳ね返るボールを打つ簡単なものです。左右の方向ボタンとタップ操作でラケットを動かし、ボールを打ち返します。ボールを1回打つと得点が加算され、打ち損なうとラケットは没収です。ラケットは全部で5つ用意することにします。ちょっと懐かしいですね。

図1 iPhone Xで実行したラケットゲームアプリ
図1 iPhone Xで実行したラケットゲームアプリ

 ボールは、打ち返すたびに加速するようにしましょう。速いボールを打てばそれだけ高得点が得られるようにします。最初のソースは、アスキー出版局で出版された『Borland C++Builder入門』(著・藤井等、監修・ボーランド)に掲載されています。こちらはWindowsのみですが、今回は、マルチデバイスアプリケーションの新規プロジェクトから再構築します。

ソースコード、関連情報は?

 今回作成したアプリのソースコードは、GitHubで入手できます。

 今回のターゲットプラットフォームはiOSなので、無料で入手できるC++Builder Starterではビルドできません。無料版で試してみたい方は、C++Builderトライアル版をダウンロードしてください。

 ちなみにC++Builderを購入する場合には、SEshopで実施しているキャンペーンを確認されることをお勧めします。

マルチデバイスアプリケーションの作成

マルチデバイスアプリケーション構築に対応したコンポーネント

 マルチデバイスアプリケーションの開発には、C++Builderに搭載されたFireMonkeyと呼ばれるコンポーネントライブラリを使います。

 FireMonkeyは、Delphi/C++Builder XE2から搭載されたコンポーネントフレームワークで、Windows、macOS、iOS、Androidの4つのプラットフォーム向けのネイティブアプリケーションの構築に対応しています。従来のコンポーネントフレームワークはVCLでしたが、こちらもWindows 10に対応するなど進化を続けています。FireMonkeyは、マルチプラットフォームのサポートに加えて、HD/3Dの高品質なベクターグラフィックを簡単に利用できるので、今回のようなエンタテイメント系アプリでも凝った作りができたりします。

 それでは開発を始めましょう。UIの設計は、以前作成したWindows、macOSのマルチデバイスアプリケーションの作成と全く変わらないことに驚かれるかもしれません。

マルチデバイスアプリケーション | 新規プロジェクトを作成

 C++Builderで、マルチデバイスアプリケーションを作成するには、[ファイル|新規作成|マルチデバイスアプリケーション - C++Builder]を選択します。表示されたダイアログで「空のアプリケーション」を選択すると以下のように、マルチデバイスアプリケーションプロジェクトが作成されます。

図2 マルチデバイスアプリケーションプロジェクト
図2 マルチデバイスアプリケーションプロジェクト

 表示されたフォームのプロパティを次のように設定します。

フォームのプロパティ
プロパティ
Name GameForm
Caption Retrospective Racket Game

 このフォーム(ユニット)は、GameUnitという名前で保存します。プロジェクト名は、RacketGameで保存します。

 図3を参考にPanelを配置します。上部のPanelは、レイアウト用のためデフォルトの名前で十分ですが、下部のPanelはコーディングでも使用するので、わかりやすい名前をつけておきましょう。

図3 Panelの配置
図3 Panelの配置
上パネルのプロパティ
プロパティ
Name Panel1
Align Top
下パネルのプロパティ
プロパティ
Name Court
Align Client

次のページ
アプリの外観を決める「スタイル」

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

  • 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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー

アクセスランキング

アクセスランキング