HSP3Dish で iOS アプリ開発を体験! #hsp3
暮井 慧: こんにちは! 私、暮井 慧。今回は HSP3Dish を体験してみるよ! この投稿は Hot Soup Processor Advent Calendar 2016 - Qiita 14日目の投稿だよ。
HSP3Dish
HSP3Dish は、HSP3 のスクリプトを Windows だけでなく Android/iOS や Web ブラウザーで動かせる環境で、HSP3 コードを C++ コードに変換してくれるの。今回は、HSP スクリプトを iOS 用に変換してみたよ。
今回使った HSP のバージョンは、HSP3.5β4 版 。HSP3Dish iOS 版プログラミングガイド を参考に進めていくよ。
サンプルゲーム
HSP 付属のサンプルゲーム(sample/game/battle.hsp)を使って変換を試してみるよ。
サンプルゲームの修正
はじめに、battle.hsp を少しだけ修正。
- 元のコードは、一部の画像ファイルと wav ファイルを HSPTV 素材フォルダーから参照してるから、コードファイルと同じ階層のフォルダーからロードするように変更。
- Bitmap(bmp) 画像は、PNG 画像にペイントソフトとかで変換して使おう。そのとき、Bitmap の黒色部分は透過として PNG 画像を作っておこう。実は PNG 24bit 形式だときちんと表示できなかったので 8bit 形式で変換しておこう。
変更したコードの冒頭付近はこんな感じ。ファイルのパスの削除と .bmp から .png にしているよ。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;tvdir = dir_exe+"\\hsptv\\" ; HSPTV素材フォルダ | |
celload "cardbg.png",3 ; 背景 | |
celload "btlcard.png",4 ; カード | |
celdiv 4,128,192 | |
celload "btlenemy.png",5 ; 敵 | |
celdiv 5,64,64 | |
celload "baku.png",6 ; 爆発 | |
celdiv 6,96,96 | |
sdim msg,256 | |
mmload "se_click.wav",0 | |
mmload "se_break3.wav",1 | |
mmload "se_block2.wav",2 |
Xcode プロジェクトに変換
hsp3dh.exe を起動! HSP スクリプトエディタからは「ツール」の「HSP3Dish/Cソース変換」からね。
- ソーススクリプトを参照
- 出力ソースを UTF-8 に変換をチェック
- XCode6 用プロジェクトを生成をチェック
- プロジェクト名・Organization・Identifier を設定
- ソース変換/iOS を選択
以上を確認して、変換ボタンをクリック! これでスクリプトファイルのフォルダーに、新しく Xcode 用のフォルダーとファイルができてるはずだよ。
Xcode で編集
Windows のフォルダーとファイルを Mac にコピーしよう。
- hsp3dh.exe で作成したフォルダー(battle フォルダー)
- HSP に含まれる iOS\iHSP24 フォルダー
- ゲームに必要な PNG, wav ファイル
次に、battle フォルダー内にある hspproj.xcodeproj を XCode で開くよ。
基本は、これだけで実行すれば動くみたい。今回は、画像ファイルとかがあるから、ちょっとだけ編集。
- Resources フォルダーを右クリックして「Add Files to “hspproj"…」から、PNG, wav ファイルを追加して、
- AppDelegate.m ファイルを選んでコード中の [view dispViewX:480 Y:800]; をゲーム画面のサイズ [view dispViewX:800 Y:600] に修正。
実行
iPhone シミュレーターを選んで実行!
動いたー!?
だいたい動くんだけど、wav が再生されなかったのと、ゲーム中の「レベルアップ」画面が表示されないみたい。レベルアップはコードの picload “cardbg2.png" 部分だけどうまく処理できないのかな?
でも、これだけで Windows 用に作ってたアプリが iOS で動くなんてすごいかも……! HSP3Dish の制限をチェックして iPhone 用としてアプリを作り始めれば、スマホアプリ開発もできそうだね。
というわけで、HSP3Dish 体験はここまで~。
スマホアプリの公開
iOS/Android アプリをストアで公開するのは有料だけど、HSP プログラムコンテスト参加者は、HSP コンテスト事務局がアプリ公開の代行サービスもしているよ。
また、プロ生でも「プロ生ちゃん アプリ開発支援プログラム」で、iOS アプリの無料公開のサポートや、Mac 開発環境の提供もしてるから気になった人はチェックしてみてね。
- iOS アプリを無料で公開しませんか? 「プロ生ちゃん アプリ開発支援プログラム」のお知らせ – プログラミング生放送
- Mac 開発環境を無料提供します 「プロ生ちゃん アプリ開発支援プログラム」のお知らせ – プログラミング生放送
アキバで見かけた萌えキャラコンテスト(12/17 〆切)
AKIBA PC Hotline! の 「アキバで見かけた萌えキャラコンテスト」読者投票 にエントリーされているから、投票して応援してね。
最新記事 by kei (全て見る)
- プロ生ちゃんチョコプログラミングコンテスト2024開催! - 2024/02/13
- HSP プログラムコンテスト2023 結果発表&プロ生ちゃん賞発表! #hsp3 - 2023/12/04
- プロ生ちゃんクリスマスプログラミングコンテスト2023開催! - 2023/12/04